More semantic random permutation generator.

Also, (VALUE, ITERATOR, ARRAY) -> (note)