[Template-haskell] reifyDecl: syntax and semantics