template haskell example