template haskell to generate JSType