Reasonable changes to the chan-merge sample program.
ShuffledSequence should work fine as a class, but works better as a struct.

Go figure.
Separate the two merge implementations; improved the descriptions.
Improved Select with a more sensible Optional and making SelectableChannel an Equatable.

It would be better if reference types were compared with === in a switch statement, but barring that using Equatable is a workaround.