== foo == fun foo() { val a = Array 3 a[10] = 4 2 a[10] 100 a[10] += 1 } --------------------- L0: 1 2 mark({ val a = Array 3 a[10] = 4 2 a[10] 100 a[10] += 1 }) v(val a = Array) mark(Array) call(Array, ) -> w(a|) r(3) -> mark(a[10]) r(a) -> r(10) -> r(4) -> call(a[10] = 4, set|, , ) -> r(2) -> mark(a[10]) r(a) -> r(10) -> mark(a[10]) call(a[10], get|, ) -> r(100) -> mark(a[10]) r(a) -> r(10) -> mark(a[10]) call(a[10], get|, ) -> r(1) -> mark(a[10] += 1) call(a[10] += 1, plus|, ) -> r(a) -> r(10) -> call(a[10] += 1, set|, , ) -> L1: 1 NEXT:[] error: PREV:[] sink: PREV:[, ] =====================