interface A { fun foo(a: T) } interface B { fun foo(b: E) } interface C : A, B { // Warning here, this is correct } fun test(c: C) { c.foo(a = 1) c.foo(b = 1) }