Define operator== and operator!= for Comparables.
Make Maybe a Monad.
Make Typelist a transparent optimization.