== foo == fun foo() { val a = 1 val f = { x: Int -> val y = x + a use(a) } } --------------------- 1 : Int NEW: r(1) -> { x: Int -> val y = x + a use(a) } : {<: (Int) -> Array} NEW: r({ x: Int -> val y = x + a use(a) }) -> ===================== == anonymous_0 == { x: Int -> val y = x + a use(a) } --------------------- : Int NEW: magic[FAKE_INITIALIZER](x: Int) -> x : Int NEW: r(x) -> a : Int NEW: r(a) -> x + a : Int NEW: call(x + a, plus|, ) -> a : * NEW: r(a) -> use(a) : {<: Array} NEW: call(use(a), use|) -> val y = x + a use(a) : {<: Array} COPY ===================== == use == fun use(vararg a: Any?) = a --------------------- : {<: Array} NEW: magic[FAKE_INITIALIZER](vararg a: Any?) -> a : {<: Array} NEW: r(a) -> =====================