Inspired by
ruby's
Shuffle