bits ⇛ portable bytes
interface IShuffle<T> { T[] shuffle(T[] seq) throws IllegalArgumentException; T[] shuffle(T[] seq, int from, int to) throws IndexOutOfBoundsException, IllegalArgumentException; }