trait Tr { val prop: T } class A(a: Tr) : Tr by a fun eat(x: Int) {} fun box(): String { eat(A(object : Tr { override val prop = 42 }).prop) return "OK" }