Generic Haskell: Applications - Hinze, R; Jeuring, J (2003)