io.chrisdavenport
A selection wraps a Functor f and has an unselected type b and a selected type a
Selection Companion Object Holds the constructor methods and typeclass instances.