interface IFoo { fun foo(x: T): String = "O" fun T.bar(): String = "K" } inline class L(val x: Long) : IFoo fun box(): String { val z = L(0L) return with(z) { foo(z) + z.bar() } }