Add hom functor
Add Profunctor
Add full and faithful
Add {co,contra}variant hom functors