[Template-haskell] mysterious type inference problem in splice