cabal: expose all modules, add TemplateHaskell to default-extensions