The following code fails:
array2d.map(a -> a.map(b -> a.sum(v -> v)))
The code should set each cell in the row to the sum of the entire row. But because we re-use "$$this" as the variable, "a" in "a.sum" will actually refer to "b". That is, there is inappropriate shadowing of "a". Instead of using "$$this", we should use "var1", 2,3.. etc., such that the N is one higher than the N used by any sub-expression (max of all sub-expressions, + 1).