A natural transformation transforms a container 'f a' into another container 'g
a'. Natural transformations act as functor morphisms in category theory.
The naming of '~>', ':~>' and '$$' were taken, with permission, from Edward
Kmett's 'indexed' package.