Data.Generics vs. Template Haskell