Add utility class for creating and combining functions.
Add some basic typeclass definitions.
Add endofunctor monoid