TYB is a generic-programming system that uses Template
Haskell to generate boiler-plate traversals at compile
time. This results in significantly improved
performance. The paper documenting it is available at:
http://cs.pdx.edu/~adamsmic/projects/tyb/TYB.pdf