package j interface MyFunc {} class A(val b: B) { } class B { operator fun invoke(f: (T) -> T): MyFunc = throw Exception() } fun id(r: R) = r fun foo(a: A) { val r : MyFunc = id (a.b { x -> x + 14 }) }