Knuth shuffle mutable and immutable