interface A { val o: O val k: K } interface B : A interface C : A class D : B, C { override val o = "O" override val k = "K" } fun box(): String { val a: A = D() return a.o + a.k }