checking Main.main's type + newtype def that caused a ghc-X (X<4.03, I think) TC crash
--- /dev/null
+-- !!! Caused ghc-3.03 and 4.01 tc to enter a
+-- !!! a blackhole (as reported by P. Callaghan.)
+module ShouldCompile where
+
+type C a = D a -> a
+newtype D a = DD (D_ a)
+type D_ a = C (Maybe a)
--- /dev/null
+ghc: module version changed to 1; reason: no old .hi file
+__export ShouldCompile C D{DD} D_;
+1 newtype D a = DD (D_ a) ;
+1 type C a = D a -> a ;
+1 type D_ a = C (PrelMaybe.Maybe a) ;
--- /dev/null
+-- !!! Checking that Main.main's type can now be of the form (IO a)
+module Main(main) where
+
+main = putStrLn "Hello" >> return (id)
--- /dev/null
+ghc: module version changed to 1; reason: no old .hi file
+__export Main main;
+1 main :: __forall [a] => PrelIOBase.IO (a -> a) ;