study template haskell.