[when removing newtypes, evaluate any Pi applications that are exposed
John Meacham <john@repetae.net>**20061010080135] hunk ./E/TypeCheck.hs 140
+    f' (EAp a b) = do
+        a' <- f' a
+        b' <- f' b
+        return (eAp a' b')
hunk ./Main.hs 689
+    let ELetRec ds _ = removeNewtypes dataTable (programE prog)
+    prog <- return $ programSetDs ds prog
+    prog <- return $ runIdentity $ annotateProgram mempty (\_ nfo -> return nfo) (\_ nfo -> return nfo)  (\_ nfo -> return nfo) prog
+