[Haskell-cafe] SYB, ext1Q, and deriving custom Typeable and Data instances