ty btw, starting to make more sense
so, if I have an array of variable references:
[Ref1,Ref2,undefined]
and a list of {reference,value} tuples
[{Ref1,[1,2,3]},{Ref2,[3,4,5]}]
i can change a variable by updating the reference
[Ref1,Ref2,undefined] becomes [Ref1,Ref1,undefined]
the value the reference is pointing to doesnt change, I just mutate to a new reference