Optimization for shuffle

dig it or will this have issues with strings in legacy ie?
Also the check aligns with what ES6 considers array-like.