func knuth_shuffle(a) { for i (a.len ^.. 1) { var j = i.irand a[i, j] = a[j, i] } return a } say knuth_shuffle(@(1..10))