haskell Use template Haskell to generate Uniplate-like functions.