interface Z { open fun foo(b: Int) } open class B: A(), Z { override fun foo(b: Int) { } } class C: A() { override fun foo(b: Int) { } }