// FIR_IDENTICAL interface In interface B : In interface C fun In.foo(f: () -> C) {} fun > Self.foo2(f: () -> C) {} class E : B // e <: In <: In fun test(c: C, e: E) { e.foo { c } e.foo { c } // error here: expected C but must be C e.foo2 { c } e.foo2 ({ c }) }