package test interface A { fun foo(): T } open class B : A { override fun foo(): Int = 42 } abstract class C : A