constraints: base == 3.0.3.2, template-haskell ==2.3.0.0