== f == fun f(a : Boolean) : Unit { 1 a 2.toLong() foo(a, 3) genfun() flfun {1} 3.equals(4) 3 equals 4 1 + 2 a && true a || false } --------------------- : Boolean NEW: magic[FAKE_INITIALIZER](a : Boolean) -> 1 : * NEW: r(1) -> a : * NEW: r(a) -> 2 : {<: Number} NEW: r(2) -> toLong() : * NEW: call(toLong(), toLong|) -> 2.toLong() : * COPY a : Boolean NEW: r(a) -> 3 : Int NEW: r(3) -> foo(a, 3) : * NEW: call(foo(a, 3), foo|, ) -> genfun() : * NEW: call(genfun(), genfun) -> {1} : {<: () -> Any} NEW: r({1}) -> flfun {1} : * NEW: call(flfun {1}, flfun|) -> 3 : {<: Any} NEW: r(3) -> 4 : * NEW: r(4) -> equals(4) : * NEW: call(equals(4), equals|, ) -> 3.equals(4) : * COPY 3 : {<: Any} NEW: r(3) -> 4 : * NEW: r(4) -> 3 equals 4 : * NEW: call(3 equals 4, equals|, ) -> 1 : Int NEW: r(1) -> 2 : Int NEW: r(2) -> 1 + 2 : * NEW: call(1 + 2, plus|, ) -> a : Boolean NEW: r(a) -> true : Boolean NEW: r(true) -> a && true : * NEW: magic[AND](a && true|, ) -> a : Boolean NEW: r(a) -> false : Boolean NEW: r(false) -> a || false : * NEW: magic[OR](a || false|, ) -> { 1 a 2.toLong() foo(a, 3) genfun() flfun {1} 3.equals(4) 3 equals 4 1 + 2 a && true a || false } : * COPY ===================== == anonymous_0 == {1} --------------------- 1 : {<: Any} NEW: r(1) -> 1 : {<: Any} COPY ===================== == foo == fun foo(a : Boolean, b : Int) : Unit {} --------------------- : Boolean NEW: magic[FAKE_INITIALIZER](a : Boolean) -> : Int NEW: magic[FAKE_INITIALIZER](b : Int) -> ===================== == genfun == fun genfun() : Unit {} --------------------- ===================== == flfun == fun flfun(f : () -> Any) : Unit {} --------------------- : {<: () -> Any} NEW: magic[FAKE_INITIALIZER](f : () -> Any) -> =====================