A Generic Programming Extension for Haskell - Hinze, R (1999)