Category theory for Haskell with a lens flavor (you need GHC 7.8.3, not 7.8.2 to build this!)