"Scrap your boilerplate" --- Generic programming in Haskell
See http://www.cs.vu.nl/boilerplate/. The present module
provides support for multi-parameter traversal, which is also
demonstrated with generic operations like equality.