title: How am I supposed to use the package haskell-type-exts?
body: <p>I am trying to typecheck a code snippet provided as a string.</p>
  
  <p>I found the package haskell-type-exts (<a href="http://hackage.haskell.org/package/haskell-type-exts" rel="nofollow">hackage link</a>) which seems to provide what i need: With <code>parseModule</code> an AST gets constructed on which <code>typecheckModule</code> can be applied. But then I don't know what to do with the result. It is of type <code>Tc VarEnv</code> where <code>Tc</code> is a monad.</p>
  
  <p>The package provides a test case where something like this is used:</p>
  
  <pre><code>ea &lt;- runTc testEnv $ typecheckExp e
  </code></pre>
  
  <p>But <code>runTc</code> is in  a hidden module so I cannot use it. Here is the code I have so far:</p>
  
  <pre><code>import Language.Haskell.Exts.Parser (parseModule, ParseResult(..))
  import Language.Haskell.TypeCheck.TypeCheck
  -- import Language.Haskell.TypeCheck.Monad  --hidden module
  
  main = do
      let m = "myTest = map (+1) [1..10]"
      let r = parseModule m
      case r of
           ParseOk res -&gt; printStuff res
           _ -&gt; print "wtf"
  
  printStuff r = do
      let Right tc = return $ typecheckModule r
  --    print tc?
  </code></pre>
  
  <p>What am I missing here? Maybe the module is only hidden by mistake?</p>