This may also involve learning about the following (can be separate tickets): * natural transformations * adjoint functors Consider reading Mac Lane Saunders' book first.