Bifunctors: functors that lift a pair of functions
Contravariant functors: functors lifting arrows that go in the opposite direction
Hom-Functor and Hom-Set
Hom-Set definition