abstract class A { abstract fun foo(): String } class B : A() { override fun foo() = "OK" } fun box(): String = B().(A::foo)()