Learning template haskell.