## Random Shuffles

Shuffling a collection of items is a surprisingly frequent task
in programming: essentially, it comes up whenever a known input
must be processed in random order. What is more, there is a delightful,
*three-line* algorithm to accomplish this task correctly, in-place, and
in optimal time. Unfortunately, this simple three-line solution seems
to be insufficiently known, leading to various, less-than-optimal ad-hoc
alternatives being used in practice — but that is entirely
unnecessary!