fun interface KRunnable { abstract fun invoke() } fun test(a: Any?) { a as Function0 /*~> Unit */ a /*as Function0 */ /*-> KRunnable */.invoke() }