trait A { var result: T } class B(a: A): A by a fun box(): String { val o = object : A { override var result = "Fail" } val b: A = B(o) b.result = "OK" if (b.result != "OK") return "Fail" return (b : A).result }