== foo == fun foo(a: Array) { 3 a[10] = 4 2 a[10] 100 a[10] += 1 } --------------------- : {<: Array} NEW: magic[FAKE_INITIALIZER](a: Array) -> 3 : * NEW: r(3) -> a : {<: Array} NEW: r(a) -> 10 : Int NEW: r(10) -> 4 : Int NEW: r(4) -> a[10] = 4 : * NEW: call(a[10] = 4, set|, , ) -> 2 : * NEW: r(2) -> a : {<: Array} NEW: r(a) -> 10 : Int NEW: r(10) -> a[10] : * NEW: call(a[10], get|, ) -> 100 : * NEW: r(100) -> a : {<: Array} NEW: r(a) -> 10 : Int NEW: r(10) -> a[10] : Int NEW: call(a[10], get|, ) -> 1 : Int NEW: r(1) -> a[10] += 1 : * NEW: call(a[10] += 1, set|, , ) -> { 3 a[10] = 4 2 a[10] 100 a[10] += 1 } : * COPY =====================