== foo == fun foo() { val a = 1 val b: Int b = 2 42 } --------------------- 1 : Int NEW() 2 : Int NEW() 42 : * NEW() { val a = 1 val b: Int b = 2 42 } : * COPY ===================== == bar == fun bar(foo: Foo) { foo.c foo.c = 2 42 } --------------------- foo : {<: Foo} NEW() c : * NEW() foo.c : * COPY foo : {<: Foo} NEW() 2 : Int NEW() 42 : * NEW() { foo.c foo.c = 2 42 } : * COPY ===================== == Foo == trait Foo { var c: Int } --------------------- =====================