Would this be considered legal?
[ [1,2], ["a", "b"] ] [ [1,2], ["a", "b"] ]If you parse the outer array as just "array of arrays" (as each element is an array), you're not "mixing". But if we're supposed to be parsing it as "arrays of arrays of _type_", then we are mixing.
You have an array of array, which at that level, satisfies the spec. The children individually keep types contained.
That said, I'm going to assume the intent is to not allow that.
For example, wouldn't that mean something like:
array = [ [1,2], ["a", "b"] ]
Be the same as this: [array]
0 = [1,2]
1 = ["a", "b"]