add a way to disable template haskell