Optimization for shuffle

dig it or will this have issues with strings in legacy ie?
No a valid array length is smaller (max array length is `Math.pow(2, 32) -1`). The spec allows it I guess for array-like objects and methods that don't produce an array. I'm not going to special case the check for length and just be consistent (naturally throwing a range error if such length is invalid for an array).