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