This seems like an arbitrary limitation. Arrays should be compared and manipulated by reference as follows:
arrayOfArrays = [-100, [2], [3]];
arrayWith1 = [1];
arrayOfArrays set [0, arrayWith1]; // now this array becomes [arrayWith1, [2], [3]] or [[1], [2], [3]]
arrayWith1 == [1]; // false, `[1]` creates new array with a new reference
arrayWith1 == arrayOfArrays select 0; // true
arrayWith1 in arrayOfArrays; // true
arrayOfArrays - arrayWith1; // [[2], [3]]