haskell Adjunctions