Use Template Haskell to generate Uniplate-like functions. WWW: https://github.com/danr/geniplate