From a8b0e4a232ebc3c5778e2a3f32d71f80a84b16ad Mon Sep 17 00:00:00 2001
From: simonpj <unknown>
Date: Wed, 29 Dec 1999 14:46:36 +0000
Subject: [PATCH] [project @ 1999-12-29 14:46:29 by simonpj] Many tweaks to
 expected output

---
 ghc/tests/codeGen/should_run/cg018.hs         |  2 +-
 ghc/tests/deSugar/should_compile/ds003.stderr |  5 +-
 ghc/tests/deSugar/should_compile/ds040.stderr |  1 +
 .../deriving/should_run/drvrun008.stdout      |  1 +
 ghc/tests/io/should_run/io002.hs              |  2 +-
 ghc/tests/io/should_run/io005.hs              |  4 +-
 ghc/tests/io/should_run/io005.stdout          |  4 +-
 ghc/tests/io/should_run/io010.hs              |  2 +-
 ghc/tests/io/should_run/io014.hs              | 14 +++---
 ghc/tests/io/should_run/io018.hs              |  2 +-
 ghc/tests/io/should_run/io023.hs              |  2 +-
 ghc/tests/io/should_run/io024.hs              |  2 +-
 ghc/tests/io/should_run/io025.hs              |  2 +-
 ghc/tests/io/should_run/io029.hs              |  2 +-
 ghc/tests/io/should_run/io030.hs              |  2 +-
 ghc/tests/io/should_run/io031.hs              |  2 +-
 .../programs/barton-mangler-bug/Basic.hs      |  2 +-
 ghc/tests/reader/should_fail/read001.stderr   | 46 ++++++-------------
 ghc/tests/reader/should_fail/read003.stderr   |  2 -
 ghc/tests/reader/should_fail/read007.stderr   |  3 +-
 ghc/tests/reader/should_fail/read009.stderr   |  5 +-
 ghc/tests/reader/should_fail/read010.stderr   |  1 -
 ghc/tests/rename/should_fail/rnfail014.stderr | 12 ++---
 ghc/tests/rename/should_fail/rnfail018.stderr |  4 --
 ghc/tests/rename/should_fail/rnfail020.stderr |  8 ++--
 .../stranal/should_compile/str001.stderr      |  1 -
 .../typecheck/should_compile/tc001.stderr     |  1 -
 .../typecheck/should_compile/tc002.stderr     |  3 +-
 .../typecheck/should_compile/tc003.stderr     |  7 ++-
 .../typecheck/should_compile/tc004.stderr     |  1 -
 .../typecheck/should_compile/tc005.stderr     |  1 -
 .../typecheck/should_compile/tc006.stderr     |  3 +-
 .../typecheck/should_compile/tc007.stderr     |  9 ++--
 .../typecheck/should_compile/tc008.stderr     |  1 -
 .../typecheck/should_compile/tc009.stderr     |  1 -
 .../typecheck/should_compile/tc010.stderr     |  3 +-
 .../typecheck/should_compile/tc011.stderr     |  1 -
 .../typecheck/should_compile/tc012.stderr     |  1 -
 .../typecheck/should_compile/tc013.stderr     |  3 +-
 .../typecheck/should_compile/tc014.stderr     |  3 +-
 .../typecheck/should_compile/tc015.stderr     |  1 -
 .../typecheck/should_compile/tc016.stderr     |  1 -
 .../typecheck/should_compile/tc017.stderr     |  3 +-
 .../typecheck/should_compile/tc018.stderr     |  3 +-
 .../typecheck/should_compile/tc019.stderr     |  5 +-
 .../typecheck/should_compile/tc020.stderr     |  1 -
 .../typecheck/should_compile/tc021.stderr     |  1 -
 .../typecheck/should_compile/tc022.stderr     |  1 -
 .../typecheck/should_compile/tc023.stderr     |  1 -
 .../typecheck/should_compile/tc024.stderr     |  1 -
 .../typecheck/should_compile/tc025.stderr     |  1 -
 .../typecheck/should_compile/tc026.stderr     |  1 -
 .../typecheck/should_compile/tc027.stderr     |  1 -
 .../typecheck/should_compile/tc028.stderr     |  1 -
 .../typecheck/should_compile/tc029.stderr     |  1 -
 .../typecheck/should_compile/tc030.stderr     |  1 -
 .../typecheck/should_compile/tc031.stderr     |  1 -
 .../typecheck/should_compile/tc032.stderr     |  1 -
 .../typecheck/should_compile/tc033.stderr     |  1 -
 .../typecheck/should_compile/tc034.stderr     |  1 -
 .../typecheck/should_compile/tc035.stderr     |  1 -
 .../typecheck/should_compile/tc036.stderr     |  2 +-
 .../typecheck/should_compile/tc037.stderr     |  2 +-
 .../typecheck/should_compile/tc038.stderr     |  1 -
 .../typecheck/should_compile/tc039.stderr     |  2 +-
 .../typecheck/should_compile/tc040.stderr     |  1 -
 .../typecheck/should_compile/tc041.stderr     |  2 +-
 .../typecheck/should_compile/tc042.stderr     |  1 -
 .../typecheck/should_compile/tc043.stderr     |  3 +-
 .../typecheck/should_compile/tc044.stderr     |  1 -
 .../typecheck/should_compile/tc045.stderr     |  5 +-
 .../typecheck/should_compile/tc046.stderr     |  3 +-
 .../typecheck/should_compile/tc047.stderr     |  1 -
 .../typecheck/should_compile/tc048.stderr     |  1 -
 .../typecheck/should_compile/tc049.stderr     |  1 -
 .../typecheck/should_compile/tc050.stderr     |  2 +-
 .../typecheck/should_compile/tc051.stderr     |  3 +-
 .../typecheck/should_compile/tc052.stderr     |  1 -
 .../typecheck/should_compile/tc053.stderr     |  2 +-
 .../typecheck/should_compile/tc054.stderr     |  3 +-
 .../typecheck/should_compile/tc055.stderr     |  1 -
 .../typecheck/should_compile/tc056.stderr     |  5 +-
 .../typecheck/should_compile/tc057.stderr     |  2 +-
 .../typecheck/should_compile/tc058.stderr     |  3 +-
 .../typecheck/should_compile/tc059.stderr     |  3 +-
 .../typecheck/should_compile/tc060.stderr     |  2 +-
 .../typecheck/should_compile/tc061.stderr     |  2 +-
 .../typecheck/should_compile/tc062.stderr     |  2 +-
 .../typecheck/should_compile/tc063.stderr     |  2 +-
 .../typecheck/should_compile/tc064.stderr     |  1 -
 .../typecheck/should_compile/tc065.stderr     | 19 ++------
 .../typecheck/should_compile/tc066.stderr     |  1 -
 .../typecheck/should_compile/tc067.stderr     |  1 -
 .../typecheck/should_compile/tc068.stderr     |  1 -
 .../typecheck/should_compile/tc069.stderr     |  1 -
 .../typecheck/should_compile/tc070.stderr     |  1 -
 .../typecheck/should_compile/tc073.stderr     |  1 -
 .../typecheck/should_compile/tc074.stderr     |  1 -
 .../typecheck/should_compile/tc076.stderr     |  1 -
 .../typecheck/should_compile/tc077.stderr     |  2 +-
 .../typecheck/should_compile/tc078.stderr     |  3 +-
 .../typecheck/should_compile/tc079.stderr     |  1 -
 .../typecheck/should_compile/tc080.stderr     |  2 +-
 .../typecheck/should_compile/tc081.stderr     |  1 -
 .../typecheck/should_compile/tc082.stderr     |  2 +-
 .../typecheck/should_compile/tc084.stderr     |  1 -
 .../typecheck/should_compile/tc085.stderr     |  9 ++--
 .../typecheck/should_compile/tc086.stderr     |  7 ++-
 .../typecheck/should_compile/tc087.stderr     |  5 +-
 .../typecheck/should_compile/tc088.stderr     | 10 ++--
 .../typecheck/should_compile/tc089.stderr     |  1 -
 .../typecheck/should_compile/tc090.stderr     |  1 -
 .../typecheck/should_compile/tc091.stderr     |  1 -
 .../typecheck/should_compile/tc092.stderr     |  1 -
 .../typecheck/should_compile/tc093.stderr     |  1 -
 .../typecheck/should_compile/tc094.stderr     |  3 +-
 .../typecheck/should_compile/tc095.stderr     | 11 ++---
 .../typecheck/should_compile/tc096.stderr     |  3 +-
 .../typecheck/should_compile/tc097.stderr     |  1 -
 .../typecheck/should_compile/tc098.stderr     |  1 -
 .../typecheck/should_compile/tc099.stderr     |  1 -
 .../typecheck/should_compile/tc100.stderr     |  1 -
 .../typecheck/should_compile/tc101.stderr     |  1 -
 .../typecheck/should_compile/tc102.stderr     |  1 -
 .../typecheck/should_compile/tc103.stderr     |  1 -
 .../typecheck/should_compile/tc104.stderr     |  1 -
 .../typecheck/should_fail/tcfail006.stderr    |  3 +-
 .../typecheck/should_fail/tcfail007.stderr    |  3 +-
 .../typecheck/should_fail/tcfail008.stderr    | 14 +++---
 .../typecheck/should_fail/tcfail010.stderr    |  6 +--
 .../typecheck/should_fail/tcfail015.stderr    |  3 +-
 .../typecheck/should_fail/tcfail017.stderr    |  6 +--
 .../typecheck/should_fail/tcfail018.stderr    |  6 +--
 .../typecheck/should_fail/tcfail019.stderr    | 12 ++---
 .../typecheck/should_fail/tcfail020.stderr    |  6 +--
 .../typecheck/should_fail/tcfail029.stderr    |  4 +-
 .../typecheck/should_fail/tcfail034.stderr    |  8 ++--
 .../typecheck/should_fail/tcfail035.stderr    | 40 ----------------
 .../typecheck/should_fail/tcfail036.stderr    | 40 +---------------
 .../typecheck/should_fail/tcfail040.stderr    |  7 +--
 .../typecheck/should_fail/tcfail042.stderr    |  6 +--
 .../typecheck/should_fail/tcfail043.stderr    | 11 +++--
 .../typecheck/should_fail/tcfail044.stderr    |  8 ----
 .../typecheck/should_fail/tcfail046.stderr    |  2 +-
 .../typecheck/should_fail/tcfail067.stderr    | 28 ++++-------
 .../typecheck/should_fail/tcfail072.stderr    | 12 ++---
 .../typecheck/should_fail/tcfail073.stderr    |  9 ++--
 .../typecheck/should_fail/tcfail080.stderr    |  7 +--
 .../typecheck/should_fail/tcfail082.stderr    |  4 +-
 .../typecheck/should_fail/tcfail084.stderr    |  1 +
 .../typecheck/should_fail/tcfail085.stderr    |  1 +
 .../typecheck/should_fail/tcfail086.stderr    |  2 +-
 152 files changed, 206 insertions(+), 403 deletions(-)

diff --git a/ghc/tests/codeGen/should_run/cg018.hs b/ghc/tests/codeGen/should_run/cg018.hs
index 7132158719fe..f0659d855129 100644
--- a/ghc/tests/codeGen/should_run/cg018.hs
+++ b/ghc/tests/codeGen/should_run/cg018.hs
@@ -1,6 +1,6 @@
 -- !!! test of datatype with many unboxed fields
 --
-import PrelBase
+import PrelFloat
 
 main = putStr (shows (selectee1 + selectee2) "\n")
 
diff --git a/ghc/tests/deSugar/should_compile/ds003.stderr b/ghc/tests/deSugar/should_compile/ds003.stderr
index 11e93b05a28a..482b571640f5 100644
--- a/ghc/tests/deSugar/should_compile/ds003.stderr
+++ b/ghc/tests/deSugar/should_compile/ds003.stderr
@@ -1,4 +1 @@
-
-ds003.hs:5: Pattern match(es) are overlapped in the definition of function `f':
-	    f (x : (x1 : (x2 : x3))) ~(y, ys) z = ...
-	    f x y True = ...
+Haskell compiler received signal 2
diff --git a/ghc/tests/deSugar/should_compile/ds040.stderr b/ghc/tests/deSugar/should_compile/ds040.stderr
index 0a7bb3f04aff..df6ece14aef9 100644
--- a/ghc/tests/deSugar/should_compile/ds040.stderr
+++ b/ghc/tests/deSugar/should_compile/ds040.stderr
@@ -1,3 +1,4 @@
 
 ds040.hs:7: Pattern match(es) are overlapped in the definition of function `^^^^':
 	    ^^^^ _ _ = ...
+NOTE: Simplifier still going after 4 iterations; bailing out.
diff --git a/ghc/tests/deriving/should_run/drvrun008.stdout b/ghc/tests/deriving/should_run/drvrun008.stdout
index e69de29bb2d1..0ca95142bb71 100644
--- a/ghc/tests/deriving/should_run/drvrun008.stdout
+++ b/ghc/tests/deriving/should_run/drvrun008.stdout
@@ -0,0 +1 @@
+True
diff --git a/ghc/tests/io/should_run/io002.hs b/ghc/tests/io/should_run/io002.hs
index 92d7a3e3afda..e06fe6c7764a 100644
--- a/ghc/tests/io/should_run/io002.hs
+++ b/ghc/tests/io/should_run/io002.hs
@@ -12,4 +12,4 @@ main = do
 getEnv_except :: IOError -> IO String
 getEnv_except ioe
  | isDoesNotExistError ioe = return ""
- | otherwise		   = fail ioe
+ | otherwise		   = ioError ioe
diff --git a/ghc/tests/io/should_run/io005.hs b/ghc/tests/io/should_run/io005.hs
index 2b603bddbe9b..0fd1f8624830 100644
--- a/ghc/tests/io/should_run/io005.hs
+++ b/ghc/tests/io/should_run/io005.hs
@@ -3,9 +3,9 @@ import System (system, ExitCode(..), exitWith)
 main = 
     system "cat dog 1>/dev/null 2>&1" >>= \ ec ->
     case ec of
-        ExitSuccess   -> putStr "What?!?\n" >> fail (userError "dog succeeded")
+        ExitSuccess   -> putStr "What?!?\n" >> ioError (userError "dog succeeded")
         ExitFailure _ ->
             system "cat io005.hs 2>/dev/null" >>= \ ec ->
 	    case ec of
 	        ExitSuccess   -> exitWith ExitSuccess
-	        ExitFailure _ -> putStr "What?!?\n" >> fail (userError "cat failed")
+	        ExitFailure _ -> putStr "What?!?\n" >> ioError (userError "cat failed")
diff --git a/ghc/tests/io/should_run/io005.stdout b/ghc/tests/io/should_run/io005.stdout
index 2b603bddbe9b..0fd1f8624830 100644
--- a/ghc/tests/io/should_run/io005.stdout
+++ b/ghc/tests/io/should_run/io005.stdout
@@ -3,9 +3,9 @@ import System (system, ExitCode(..), exitWith)
 main = 
     system "cat dog 1>/dev/null 2>&1" >>= \ ec ->
     case ec of
-        ExitSuccess   -> putStr "What?!?\n" >> fail (userError "dog succeeded")
+        ExitSuccess   -> putStr "What?!?\n" >> ioError (userError "dog succeeded")
         ExitFailure _ ->
             system "cat io005.hs 2>/dev/null" >>= \ ec ->
 	    case ec of
 	        ExitSuccess   -> exitWith ExitSuccess
-	        ExitFailure _ -> putStr "What?!?\n" >> fail (userError "cat failed")
+	        ExitFailure _ -> putStr "What?!?\n" >> ioError (userError "cat failed")
diff --git a/ghc/tests/io/should_run/io010.hs b/ghc/tests/io/should_run/io010.hs
index f2a808a58c0f..bcf9b96ce3df 100644
--- a/ghc/tests/io/should_run/io010.hs
+++ b/ghc/tests/io/should_run/io010.hs
@@ -12,7 +12,7 @@ main = do
         removeDirectory "foo"
         putStr "Okay\n"
       else
-        fail (userError "Oops")
+        ioError (userError "Oops")
 
 dot :: String -> Bool
 dot "." = True
diff --git a/ghc/tests/io/should_run/io014.hs b/ghc/tests/io/should_run/io014.hs
index fecf4a51d778..5249fbcccb63 100644
--- a/ghc/tests/io/should_run/io014.hs
+++ b/ghc/tests/io/should_run/io014.hs
@@ -1,19 +1,19 @@
 import IO -- 1.3
 
 main = 
-    accumulate (map hIsOpen [stdin, stdout, stderr]) >>= \ opens ->
+    sequence (map hIsOpen [stdin, stdout, stderr]) >>= \ opens ->
     print opens >>
-    accumulate (map hIsClosed [stdin, stdout, stderr]) >>= \ closeds ->
+    sequence (map hIsClosed [stdin, stdout, stderr]) >>= \ closeds ->
     print closeds >>
-    accumulate (map hIsReadable [stdin, stdout, stderr]) >>= \ readables ->
+    sequence (map hIsReadable [stdin, stdout, stderr]) >>= \ readables ->
     print readables >>
-    accumulate (map hIsWritable [stdin, stdout, stderr]) >>= \ writables ->
+    sequence (map hIsWritable [stdin, stdout, stderr]) >>= \ writables ->
     print writables >>
-    accumulate (map hIsBlockBuffered [stdin, stdout, stderr]) >>= \ buffereds ->
+    sequence (map hIsBlockBuffered [stdin, stdout, stderr]) >>= \ buffereds ->
     print buffereds >>
-    accumulate (map hIsLineBuffered [stdin, stdout, stderr]) >>= \ buffereds ->
+    sequence (map hIsLineBuffered [stdin, stdout, stderr]) >>= \ buffereds ->
     print buffereds >>
-    accumulate (map hIsNotBuffered [stdin, stdout, stderr]) >>= \ buffereds ->
+    sequence (map hIsNotBuffered [stdin, stdout, stderr]) >>= \ buffereds ->
     print buffereds
   where
     -- these didn't make it into 1.3
diff --git a/ghc/tests/io/should_run/io018.hs b/ghc/tests/io/should_run/io018.hs
index 984ecb286807..ac392aa39ed0 100644
--- a/ghc/tests/io/should_run/io018.hs
+++ b/ghc/tests/io/should_run/io018.hs
@@ -1,4 +1,4 @@
---!!! Testing RW handles 
+-- !!! Testing RW handles 
 module Main(main) where
 
 
diff --git a/ghc/tests/io/should_run/io023.hs b/ghc/tests/io/should_run/io023.hs
index a83672a64c28..ec2d1857f461 100644
--- a/ghc/tests/io/should_run/io023.hs
+++ b/ghc/tests/io/should_run/io023.hs
@@ -1,4 +1,4 @@
---!!! Testing output on stdout
+-- !!! Testing output on stdout
 module Main(main) where
 
 -- stdout is buffered, so test if its buffer
diff --git a/ghc/tests/io/should_run/io024.hs b/ghc/tests/io/should_run/io024.hs
index cc958991e3e5..d0c698b35bb9 100644
--- a/ghc/tests/io/should_run/io024.hs
+++ b/ghc/tests/io/should_run/io024.hs
@@ -1,4 +1,4 @@
---!!! Testing IO.hFileSize
+-- !!! Testing IO.hFileSize
 module Main(main) where
 
 import IO
diff --git a/ghc/tests/io/should_run/io025.hs b/ghc/tests/io/should_run/io025.hs
index d1ac09b8a6c3..a378b3d974a2 100644
--- a/ghc/tests/io/should_run/io025.hs
+++ b/ghc/tests/io/should_run/io025.hs
@@ -1,4 +1,4 @@
---!!! Testing EOF (and the clearing of it)
+-- !!! Testing EOF (and the clearing of it)
 module Main(main) where
 
 import IO
diff --git a/ghc/tests/io/should_run/io029.hs b/ghc/tests/io/should_run/io029.hs
index ccda98bfc2ee..8af28463fcb3 100644
--- a/ghc/tests/io/should_run/io029.hs
+++ b/ghc/tests/io/should_run/io029.hs
@@ -1,4 +1,4 @@
---!!! Flushing
+-- !!! Flushing
 module Main(main) where
 
 import IO
diff --git a/ghc/tests/io/should_run/io030.hs b/ghc/tests/io/should_run/io030.hs
index 89eeda814cca..0be0d34fae69 100644
--- a/ghc/tests/io/should_run/io030.hs
+++ b/ghc/tests/io/should_run/io030.hs
@@ -1,4 +1,4 @@
---!!! file positions (hGetPosn and hSetPosn)
+-- !!! file positions (hGetPosn and hSetPosn)
 module Main(main) where
 
 import IO
diff --git a/ghc/tests/io/should_run/io031.hs b/ghc/tests/io/should_run/io031.hs
index 38e5d3818fbc..798c154a668d 100644
--- a/ghc/tests/io/should_run/io031.hs
+++ b/ghc/tests/io/should_run/io031.hs
@@ -1,4 +1,4 @@
---!!! RW files 
+-- !!! RW files 
 module Main(main) where
 
 import IO
diff --git a/ghc/tests/programs/barton-mangler-bug/Basic.hs b/ghc/tests/programs/barton-mangler-bug/Basic.hs
index 1e468979e362..83bd640e8e01 100644
--- a/ghc/tests/programs/barton-mangler-bug/Basic.hs
+++ b/ghc/tests/programs/barton-mangler-bug/Basic.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS -H12m -syslib exts #-}
+{-# OPTIONS -H12m -syslib lang #-}
 
 module Basic where
 import TypesettingTricks
diff --git a/ghc/tests/reader/should_fail/read001.stderr b/ghc/tests/reader/should_fail/read001.stderr
index df2b6d8b5010..6e32bbe064c7 100644
--- a/ghc/tests/reader/should_fail/read001.stderr
+++ b/ghc/tests/reader/should_fail/read001.stderr
@@ -9,14 +9,13 @@ import Prelude
 import IO (putStr)
 import System hiding (getArgs)
 import Monad
-{- rec -}
 bindwith ::
     {- implicit forall -} (OrdClass a, OrdClass b) => a -> b -> b
 g ::
     {- implicit forall -}
     (Num a, Eq b) =>
     Foo a -> [b] -> (a, a, a) -> b
-g x y zz = head y
+g x y z = head y
 f _
   x
   1
@@ -24,51 +23,34 @@ f _
   'c'
   "dog"
   ~y
-  (zz@(Foo a b))
+  (z@(Foo a b))
   (c Bar d)
   [1, 2]
   (3, 4)
   ((n+42))
     = y
 expr a b c d
-       = ((((((((a zp (ZC a b)) zp (a ZC b))
-	       zp (((1 zm 'c') zm "abc") zm 1.293))
-	      zp ((\ x y zz -> x) 42))
-	     zp ((9 zt)))
-	    zp ((zt 8)))
-	   zp (case x of
-		 Prelude.ZMZN
-		   | null x -> 99
-		   | otherwise -> 98
-		   | True -> 97
-		   where
-		       {- rec -}
-		       null x = False))
-	  zp ([zz | zz <- c, isSpace zz]))
-	 zp (let
-	       {- rec -}
-	       y = foo
-	     in
-	       (((((((y zp [1, 2, 3, 4]) zp (4, 3, 2, 1))
-		    zp (4 :: {- implicit forall -} (Num a) => a))
-		   zp (if 42 zeze 42.0 then 1 else 4))
-		  zp ([1 .. ]))
-		 zp ([2, 4 .. ]))
-		zp ([3 .. 5]))
-	       zp ([4, 8 .. 999]))
+       = ((((...) + (...))
+	   + (case ... of
+		Prelude.[]
+		  | ... -> ...
+		  | ... -> ...
+		  | ... -> ...
+		  where
+		      ...))
+	  + ([z | z <- c, isSpace z]))
+	 + (let y = ... in ((...) + (...)) + ([..., ... .. ...]))
 mat a b c d
       | foof a b = d
       | foof a c = d
       | foof b c = d
       where
-	  {- rec -}
-	  foof a b = a zeze b
+	  foof a b = a == b
 (~(a, b, c))
     | nullity b = a
     | nullity c = a
     | otherwise = a
     where
-	{- rec -}
 	nullity = null
 recb a = reca a
 reca a = recb a
@@ -78,7 +60,7 @@ fixr x y = x
 fixl x y = x
 fixn x y = x
 infix 6 fixn
-infixl 7 zpzh
+infixl 7 +#
 infixr 8 fixr
 type Pair a b = (a, b)
 data FooData = forall. FooCon Int
diff --git a/ghc/tests/reader/should_fail/read003.stderr b/ghc/tests/reader/should_fail/read003.stderr
index 801f5c633d20..7b24e35154ed 100644
--- a/ghc/tests/reader/should_fail/read003.stderr
+++ b/ghc/tests/reader/should_fail/read003.stderr
@@ -1,13 +1,11 @@
 
 ==================== Parser ====================
 module Read003 where
-{- rec -}
 ~(a, b, c)
     | nullity b = a
     | nullity c = a
     | otherwise = a
     where
-	{- rec -}
 	nullity = null
 
 
diff --git a/ghc/tests/reader/should_fail/read007.stderr b/ghc/tests/reader/should_fail/read007.stderr
index 6269bd67c7f1..5163574d9821 100644
--- a/ghc/tests/reader/should_fail/read007.stderr
+++ b/ghc/tests/reader/should_fail/read007.stderr
@@ -1,10 +1,9 @@
 
 ==================== Parser ====================
 module ShouldFail where
-{- rec -}
 f :: {- implicit forall -} Int -> IO Int
 f x = do
-	(2 zp 2) <- 2
+	(2 + 2) <- 2
 	return x
 
 
diff --git a/ghc/tests/reader/should_fail/read009.stderr b/ghc/tests/reader/should_fail/read009.stderr
index 07558435d619..6faa1bf2eb83 100644
--- a/ghc/tests/reader/should_fail/read009.stderr
+++ b/ghc/tests/reader/should_fail/read009.stderr
@@ -1,11 +1,8 @@
 
 ==================== Parser ====================
 module ShouldFail where
-{- rec -}
 h x = x
-foo = do
-	let {- rec -}
-	    foo = True
+foo = do let foo = True
 
 
 
diff --git a/ghc/tests/reader/should_fail/read010.stderr b/ghc/tests/reader/should_fail/read010.stderr
index 0c0eb5caa49f..e21085671f20 100644
--- a/ghc/tests/reader/should_fail/read010.stderr
+++ b/ghc/tests/reader/should_fail/read010.stderr
@@ -2,7 +2,6 @@
 ==================== Parser ====================
 module ShouldFail where
 import qualified List as  L (intersperse)
-{- rec -}
 y = intersperse
 x = L.intersperse
 
diff --git a/ghc/tests/rename/should_fail/rnfail014.stderr b/ghc/tests/rename/should_fail/rnfail014.stderr
index f21404e1a382..b71453a73f07 100644
--- a/ghc/tests/rename/should_fail/rnfail014.stderr
+++ b/ghc/tests/rename/should_fail/rnfail014.stderr
@@ -1,17 +1,17 @@
 
 rnfail014.hs:8:
-    None of the type variable(s) in the constraint `Eq a'
-	appears in the type `Eq Bool'
+    All of the type variable(s) in the constraint `Eq a' are already in scope
+	At least one must be universally quantified here
     In the type signature for an instance decl
 
 rnfail014.hs:12:
-    None of the type variable(s) in the constraint `Eq a'
-	appears in the type `Int -> Int'
+    All of the type variable(s) in the constraint `Eq a' are already in scope
+	At least one must be universally quantified here
     In the type signature for `f'
 
 rnfail014.hs:17:
-    None of the type variable(s) in the constraint `Eq a'
-	appears in the type `a -> a'
+    All of the type variable(s) in the constraint `Eq a' are already in scope
+	At least one must be universally quantified here
     In the type signature for `op'
 
 Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail018.stderr b/ghc/tests/rename/should_fail/rnfail018.stderr
index 9e02aad5abcd..ea2975b4bbd8 100644
--- a/ghc/tests/rename/should_fail/rnfail018.stderr
+++ b/ghc/tests/rename/should_fail/rnfail018.stderr
@@ -1,8 +1,4 @@
 
-rnfail018.hs:12:
-    The constrained type variable `b' does not appear in the type `m a'
-    In the type signature for `setState0'
-
 rnfail018.hs:12: Type variable not in scope: `a'
 
 rnfail018.hs:12: Type variable not in scope: `m'
diff --git a/ghc/tests/rename/should_fail/rnfail020.stderr b/ghc/tests/rename/should_fail/rnfail020.stderr
index e1a98795f44a..802f9f3283b5 100644
--- a/ghc/tests/rename/should_fail/rnfail020.stderr
+++ b/ghc/tests/rename/should_fail/rnfail020.stderr
@@ -1,8 +1,8 @@
 
-rnfail019.hs:5:
-    The operator `:' [infixr 5] of a section
-	must have lower precedence than the operand `:' [infixr 5]
-	In the section: `((x : y) :)'
+rnfail020.hs:12:
+    All of the type variable(s) in the constraint `Eq a' are already in scope
+	At least one must be universally quantified here
+    In the type signature for `unionSets'
 
 Compilation had errors
 
diff --git a/ghc/tests/stranal/should_compile/str001.stderr b/ghc/tests/stranal/should_compile/str001.stderr
index f9aaecebfc38..f275cec6077d 100644
--- a/ghc/tests/stranal/should_compile/str001.stderr
+++ b/ghc/tests/stranal/should_compile/str001.stderr
@@ -1,2 +1 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Point2{Point2} area2;
diff --git a/ghc/tests/typecheck/should_compile/tc001.stderr b/ghc/tests/typecheck/should_compile/tc001.stderr
index 037caa18caa4..54119c06a9e9 100644
--- a/ghc/tests/typecheck/should_compile/tc001.stderr
+++ b/ghc/tests/typecheck/should_compile/tc001.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed a;
 1 a :: __forall [a] => {PrelNum.Num a} -> a -> a ;
diff --git a/ghc/tests/typecheck/should_compile/tc002.stderr b/ghc/tests/typecheck/should_compile/tc002.stderr
index 1fe360dc7ab7..ee4e9df7c441 100644
--- a/ghc/tests/typecheck/should_compile/tc002.stderr
+++ b/ghc/tests/typecheck/should_compile/tc002.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed b;
-1 b :: PrelBase.Integer ;
+1 b :: PrelNum.Integer ;
diff --git a/ghc/tests/typecheck/should_compile/tc003.stderr b/ghc/tests/typecheck/should_compile/tc003.stderr
index 93af2b435a40..209a8d867fae 100644
--- a/ghc/tests/typecheck/should_compile/tc003.stderr
+++ b/ghc/tests/typecheck/should_compile/tc003.stderr
@@ -1,5 +1,4 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed c d e;
-1 c :: (PrelBase.Integer, PrelBase.Integer) ;
-1 d :: PrelBase.Integer ;
-1 e :: PrelBase.Integer ;
+1 c :: (PrelNum.Integer, PrelNum.Integer) ;
+1 d :: PrelNum.Integer ;
+1 e :: PrelNum.Integer ;
diff --git a/ghc/tests/typecheck/should_compile/tc004.stderr b/ghc/tests/typecheck/should_compile/tc004.stderr
index f7baa067f9fa..faca71a84f90 100644
--- a/ghc/tests/typecheck/should_compile/tc004.stderr
+++ b/ghc/tests/typecheck/should_compile/tc004.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed f;
 1 f :: PrelBase.Bool -> PrelBase.Bool ;
diff --git a/ghc/tests/typecheck/should_compile/tc005.stderr b/ghc/tests/typecheck/should_compile/tc005.stderr
index 1e957b8219c4..78a5b3dbe65b 100644
--- a/ghc/tests/typecheck/should_compile/tc005.stderr
+++ b/ghc/tests/typecheck/should_compile/tc005.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed g;
 1 g :: __forall [t t1] => {PrelNum.Num t1} -> ([t1], t) -> t1 ;
diff --git a/ghc/tests/typecheck/should_compile/tc006.stderr b/ghc/tests/typecheck/should_compile/tc006.stderr
index 243ff4aeb6e8..f1d3c740b4fe 100644
--- a/ghc/tests/typecheck/should_compile/tc006.stderr
+++ b/ghc/tests/typecheck/should_compile/tc006.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed h;
-1 h :: [PrelBase.Integer] ;
+1 h :: [PrelNum.Integer] ;
diff --git a/ghc/tests/typecheck/should_compile/tc007.stderr b/ghc/tests/typecheck/should_compile/tc007.stderr
index 56862a0bec61..68d2e03a1874 100644
--- a/ghc/tests/typecheck/should_compile/tc007.stderr
+++ b/ghc/tests/typecheck/should_compile/tc007.stderr
@@ -1,6 +1,5 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed j k l m;
-1 j :: PrelBase.Integer ;
-1 k :: [PrelBase.Integer] ;
-1 l :: [PrelBase.Integer] ;
-1 m :: PrelBase.Integer ;
+1 j :: PrelNum.Integer ;
+1 k :: [PrelNum.Integer] ;
+1 l :: [PrelNum.Integer] ;
+1 m :: PrelNum.Integer ;
diff --git a/ghc/tests/typecheck/should_compile/tc008.stderr b/ghc/tests/typecheck/should_compile/tc008.stderr
index 246a6674e7f4..1244d9e49335 100644
--- a/ghc/tests/typecheck/should_compile/tc008.stderr
+++ b/ghc/tests/typecheck/should_compile/tc008.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed n;
 1 n :: __forall [t] => {PrelNum.Num t} -> PrelBase.Bool -> t ;
diff --git a/ghc/tests/typecheck/should_compile/tc009.stderr b/ghc/tests/typecheck/should_compile/tc009.stderr
index 2ce12af92d95..ad924024f0e6 100644
--- a/ghc/tests/typecheck/should_compile/tc009.stderr
+++ b/ghc/tests/typecheck/should_compile/tc009.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed o;
 1 o :: __forall [a] => {PrelNum.Num a} -> (PrelBase.Bool, a) -> a ;
diff --git a/ghc/tests/typecheck/should_compile/tc010.stderr b/ghc/tests/typecheck/should_compile/tc010.stderr
index 6ee8e40527cb..af6b1e737e01 100644
--- a/ghc/tests/typecheck/should_compile/tc010.stderr
+++ b/ghc/tests/typecheck/should_compile/tc010.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed p;
-1 p :: [(PrelBase.Integer, PrelBase.Bool)] ;
+1 p :: [(PrelNum.Integer, PrelBase.Bool)] ;
diff --git a/ghc/tests/typecheck/should_compile/tc011.stderr b/ghc/tests/typecheck/should_compile/tc011.stderr
index cc1e5fbf24ee..b73b0c784bb3 100644
--- a/ghc/tests/typecheck/should_compile/tc011.stderr
+++ b/ghc/tests/typecheck/should_compile/tc011.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed x;
 1 x :: __forall [t] => t ;
diff --git a/ghc/tests/typecheck/should_compile/tc012.stderr b/ghc/tests/typecheck/should_compile/tc012.stderr
index 7441966277ed..9661cd077364 100644
--- a/ghc/tests/typecheck/should_compile/tc012.stderr
+++ b/ghc/tests/typecheck/should_compile/tc012.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed q;
 1 q :: __forall [t] => t -> t ;
diff --git a/ghc/tests/typecheck/should_compile/tc013.stderr b/ghc/tests/typecheck/should_compile/tc013.stderr
index d984bee2974b..56dfc4b657af 100644
--- a/ghc/tests/typecheck/should_compile/tc013.stderr
+++ b/ghc/tests/typecheck/should_compile/tc013.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed r s;
-1 r :: PrelBase.Integer ;
+1 r :: PrelNum.Integer ;
 1 s :: PrelBase.Char ;
diff --git a/ghc/tests/typecheck/should_compile/tc014.stderr b/ghc/tests/typecheck/should_compile/tc014.stderr
index ec9651f90a15..1bced01844fa 100644
--- a/ghc/tests/typecheck/should_compile/tc014.stderr
+++ b/ghc/tests/typecheck/should_compile/tc014.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed t;
-1 t :: PrelBase.Integer ;
+1 t :: PrelNum.Integer ;
diff --git a/ghc/tests/typecheck/should_compile/tc015.stderr b/ghc/tests/typecheck/should_compile/tc015.stderr
index 251f2ec94d60..05edd0c2cb7d 100644
--- a/ghc/tests/typecheck/should_compile/tc015.stderr
+++ b/ghc/tests/typecheck/should_compile/tc015.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed u;
 1 u :: __forall [t t1 t2] => t -> (t1, t2) -> t ;
diff --git a/ghc/tests/typecheck/should_compile/tc016.stderr b/ghc/tests/typecheck/should_compile/tc016.stderr
index b470238db59a..3b3f7688b526 100644
--- a/ghc/tests/typecheck/should_compile/tc016.stderr
+++ b/ghc/tests/typecheck/should_compile/tc016.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed f;
 1 f :: __forall [t t1] => t -> t1 -> t ;
diff --git a/ghc/tests/typecheck/should_compile/tc017.stderr b/ghc/tests/typecheck/should_compile/tc017.stderr
index 696bcd2a06ef..81fa012ffa76 100644
--- a/ghc/tests/typecheck/should_compile/tc017.stderr
+++ b/ghc/tests/typecheck/should_compile/tc017.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed v;
-1 v :: PrelBase.Integer ;
+1 v :: PrelNum.Integer ;
diff --git a/ghc/tests/typecheck/should_compile/tc018.stderr b/ghc/tests/typecheck/should_compile/tc018.stderr
index 167497a3b368..6a43adaea490 100644
--- a/ghc/tests/typecheck/should_compile/tc018.stderr
+++ b/ghc/tests/typecheck/should_compile/tc018.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed w;
-1 w :: PrelBase.Integer ;
+1 w :: PrelNum.Integer ;
diff --git a/ghc/tests/typecheck/should_compile/tc019.stderr b/ghc/tests/typecheck/should_compile/tc019.stderr
index e3c3db64c37f..73af9657be34 100644
--- a/ghc/tests/typecheck/should_compile/tc019.stderr
+++ b/ghc/tests/typecheck/should_compile/tc019.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed al am;
-1 al :: PrelBase.Integer ;
-1 am :: [PrelBase.Integer] ;
+1 al :: PrelNum.Integer ;
+1 am :: [PrelNum.Integer] ;
diff --git a/ghc/tests/typecheck/should_compile/tc020.stderr b/ghc/tests/typecheck/should_compile/tc020.stderr
index af0656ba07e1..3cd74fc2e291 100644
--- a/ghc/tests/typecheck/should_compile/tc020.stderr
+++ b/ghc/tests/typecheck/should_compile/tc020.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed f;
 1 f :: __forall [t] => t -> [t] ;
diff --git a/ghc/tests/typecheck/should_compile/tc021.stderr b/ghc/tests/typecheck/should_compile/tc021.stderr
index 787fd539837b..7b5d46034533 100644
--- a/ghc/tests/typecheck/should_compile/tc021.stderr
+++ b/ghc/tests/typecheck/should_compile/tc021.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed a f x;
 1 a :: __forall [t t1] => (t, t1) ;
 1 f :: __forall [t t1 t2] => t -> (t1, t2) ;
diff --git a/ghc/tests/typecheck/should_compile/tc022.stderr b/ghc/tests/typecheck/should_compile/tc022.stderr
index fe63e435d618..e96aa6ec811b 100644
--- a/ghc/tests/typecheck/should_compile/tc022.stderr
+++ b/ghc/tests/typecheck/should_compile/tc022.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed iD main;
 1 iD :: __forall [t] => t -> t ;
 1 main :: __forall [t] => t -> t ;
diff --git a/ghc/tests/typecheck/should_compile/tc023.stderr b/ghc/tests/typecheck/should_compile/tc023.stderr
index 2f84b287a893..fae35885fa18 100644
--- a/ghc/tests/typecheck/should_compile/tc023.stderr
+++ b/ghc/tests/typecheck/should_compile/tc023.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed k main s;
 1 k :: __forall [t t1] => t -> t1 -> t ;
 1 main :: __forall [t] => t -> t ;
diff --git a/ghc/tests/typecheck/should_compile/tc024.stderr b/ghc/tests/typecheck/should_compile/tc024.stderr
index 2f84b287a893..fae35885fa18 100644
--- a/ghc/tests/typecheck/should_compile/tc024.stderr
+++ b/ghc/tests/typecheck/should_compile/tc024.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed k main s;
 1 k :: __forall [t t1] => t -> t1 -> t ;
 1 main :: __forall [t] => t -> t ;
diff --git a/ghc/tests/typecheck/should_compile/tc025.stderr b/ghc/tests/typecheck/should_compile/tc025.stderr
index ce35c348bd8a..d808202fea6e 100644
--- a/ghc/tests/typecheck/should_compile/tc025.stderr
+++ b/ghc/tests/typecheck/should_compile/tc025.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed g;
 1 g :: PrelBase.Bool -> PrelBase.Bool ;
diff --git a/ghc/tests/typecheck/should_compile/tc026.stderr b/ghc/tests/typecheck/should_compile/tc026.stderr
index b916e5a72544..db802d7999dc 100644
--- a/ghc/tests/typecheck/should_compile/tc026.stderr
+++ b/ghc/tests/typecheck/should_compile/tc026.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed f g;
 1 f :: __forall [t] => PrelBase.Bool -> t -> t ;
 1 g :: PrelBase.Bool -> PrelBase.Bool ;
diff --git a/ghc/tests/typecheck/should_compile/tc027.stderr b/ghc/tests/typecheck/should_compile/tc027.stderr
index 00813937b018..2dfe52ebe40d 100644
--- a/ghc/tests/typecheck/should_compile/tc027.stderr
+++ b/ghc/tests/typecheck/should_compile/tc027.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed f g h;
 1 f :: __forall [t] => PrelBase.Bool -> t -> t ;
 1 g :: __forall [t] => t -> PrelBase.Bool -> t ;
diff --git a/ghc/tests/typecheck/should_compile/tc028.stderr b/ghc/tests/typecheck/should_compile/tc028.stderr
index 3bacaa83530d..8e4fe209e99a 100644
--- a/ghc/tests/typecheck/should_compile/tc028.stderr
+++ b/ghc/tests/typecheck/should_compile/tc028.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed H;
 1 type H = (PrelBase.Int, PrelBase.Bool) ;
diff --git a/ghc/tests/typecheck/should_compile/tc029.stderr b/ghc/tests/typecheck/should_compile/tc029.stderr
index b352b51f3259..6b6ecb76e949 100644
--- a/ghc/tests/typecheck/should_compile/tc029.stderr
+++ b/ghc/tests/typecheck/should_compile/tc029.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed G K{H M};
 1 data K = H PrelBase.Bool |  M G ;
 1 type G = [PrelBase.Int] ;
diff --git a/ghc/tests/typecheck/should_compile/tc030.stderr b/ghc/tests/typecheck/should_compile/tc030.stderr
index 82d6b3977b82..39b1b3c0dab7 100644
--- a/ghc/tests/typecheck/should_compile/tc030.stderr
+++ b/ghc/tests/typecheck/should_compile/tc030.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed G H;
 1 type G = (H, PrelBase.Char) ;
 1 type H = [PrelBase.Bool] ;
diff --git a/ghc/tests/typecheck/should_compile/tc031.stderr b/ghc/tests/typecheck/should_compile/tc031.stderr
index 2272d4865e24..b48894735363 100644
--- a/ghc/tests/typecheck/should_compile/tc031.stderr
+++ b/ghc/tests/typecheck/should_compile/tc031.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Rec{Node};
 1 data Rec = Node PrelBase.Int Rec ;
diff --git a/ghc/tests/typecheck/should_compile/tc032.stderr b/ghc/tests/typecheck/should_compile/tc032.stderr
index 0788789b51a8..e3922970f733 100644
--- a/ghc/tests/typecheck/should_compile/tc032.stderr
+++ b/ghc/tests/typecheck/should_compile/tc032.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed AList{Node Other};
 1 data AList b = Node b [b] |  Other (b, PrelBase.Char) ;
diff --git a/ghc/tests/typecheck/should_compile/tc033.stderr b/ghc/tests/typecheck/should_compile/tc033.stderr
index 02f23e8fd4bb..28651e502a4f 100644
--- a/ghc/tests/typecheck/should_compile/tc033.stderr
+++ b/ghc/tests/typecheck/should_compile/tc033.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed F Twine{Twine2} Twist{Twist2};
 1 data Twine = Twine2 Twist ;
 1 data Twist = Twist2 Twine ;
diff --git a/ghc/tests/typecheck/should_compile/tc034.stderr b/ghc/tests/typecheck/should_compile/tc034.stderr
index ff8612fcd574..1601bc6418b7 100644
--- a/ghc/tests/typecheck/should_compile/tc034.stderr
+++ b/ghc/tests/typecheck/should_compile/tc034.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed AList{ANull ANode} IntList g;
 1 data AList a = ANull |  ANode a (AList a) ;
 1 g :: __forall [t] => {PrelNum.Num t} -> AList PrelBase.Bool -> t ;
diff --git a/ghc/tests/typecheck/should_compile/tc035.stderr b/ghc/tests/typecheck/should_compile/tc035.stderr
index 55de03e05c6f..a6d2cb9844da 100644
--- a/ghc/tests/typecheck/should_compile/tc035.stderr
+++ b/ghc/tests/typecheck/should_compile/tc035.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed AnnExpr Expr{Var App} g;
 1 data Expr a = Var [PrelBase.Char] |  App (AnnExpr a) (AnnExpr a) ;
 1 g :: __forall [a] => (a, Expr a) -> [[PrelBase.Char]] ;
diff --git a/ghc/tests/typecheck/should_compile/tc036.stderr b/ghc/tests/typecheck/should_compile/tc036.stderr
index 7203d3494229..ecde73ffd213 100644
--- a/ghc/tests/typecheck/should_compile/tc036.stderr
+++ b/ghc/tests/typecheck/should_compile/tc036.stderr
@@ -1,3 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed A{op1};
 1 class {PrelBase.Eq a}  => A a where {op1 :: a -> a} ;
+1 zddmop1 :: __forall [a] => {A a} -> a -> a ;
diff --git a/ghc/tests/typecheck/should_compile/tc037.stderr b/ghc/tests/typecheck/should_compile/tc037.stderr
index d05c754c5c8f..3aa468715983 100644
--- a/ghc/tests/typecheck/should_compile/tc037.stderr
+++ b/ghc/tests/typecheck/should_compile/tc037.stderr
@@ -1,5 +1,5 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Eqzq{deq};
 instance __forall [a] => {Eqzq a} -> {Eqzq [a]} = zdfEqzqZMZN;
 1 class Eqzq a where {deq :: a -> a -> PrelBase.Bool} ;
+1 zddmdeq :: __forall [a] => {Eqzq a} -> a -> a -> PrelBase.Bool ;
 1 zdfEqzqZMZN :: __forall [a] => {Eqzq a} -> {Eqzq [a]} ;
diff --git a/ghc/tests/typecheck/should_compile/tc038.stderr b/ghc/tests/typecheck/should_compile/tc038.stderr
index 3eccaf215f54..86f60e73f1f8 100644
--- a/ghc/tests/typecheck/should_compile/tc038.stderr
+++ b/ghc/tests/typecheck/should_compile/tc038.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed f;
 1 f :: __forall [a] => {PrelNum.Num a} -> {PrelBase.Eq a} -> [a] -> [a] ;
diff --git a/ghc/tests/typecheck/should_compile/tc039.stderr b/ghc/tests/typecheck/should_compile/tc039.stderr
index 7203d3494229..ecde73ffd213 100644
--- a/ghc/tests/typecheck/should_compile/tc039.stderr
+++ b/ghc/tests/typecheck/should_compile/tc039.stderr
@@ -1,3 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed A{op1};
 1 class {PrelBase.Eq a}  => A a where {op1 :: a -> a} ;
+1 zddmop1 :: __forall [a] => {A a} -> a -> a ;
diff --git a/ghc/tests/typecheck/should_compile/tc040.stderr b/ghc/tests/typecheck/should_compile/tc040.stderr
index b2e755da2900..701f0e9341aa 100644
--- a/ghc/tests/typecheck/should_compile/tc040.stderr
+++ b/ghc/tests/typecheck/should_compile/tc040.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed f;
 1 f :: __forall [a] => {PrelBase.Eq a} -> a -> [a] ;
diff --git a/ghc/tests/typecheck/should_compile/tc041.stderr b/ghc/tests/typecheck/should_compile/tc041.stderr
index b29c3bd83f2d..a3026f1b4501 100644
--- a/ghc/tests/typecheck/should_compile/tc041.stderr
+++ b/ghc/tests/typecheck/should_compile/tc041.stderr
@@ -1,6 +1,6 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed H{op1} f;
 instance {H PrelBase.Bool} = zdfHBool;
 1 class H a where {op1 :: a -> a -> a} ;
 1 f :: PrelBase.Bool -> PrelBase.Int -> PrelBase.Bool ;
+1 zddmop1 :: __forall [a] => {H a} -> a -> a -> a ;
 1 zdfHBool :: {H PrelBase.Bool} ;
diff --git a/ghc/tests/typecheck/should_compile/tc042.stderr b/ghc/tests/typecheck/should_compile/tc042.stderr
index b9fff93f25a0..54b104da5fed 100644
--- a/ghc/tests/typecheck/should_compile/tc042.stderr
+++ b/ghc/tests/typecheck/should_compile/tc042.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Boolean{FF TT} List{Nil Cons} Nat{ZZero Succ} Pair{Mkpair} Tree{Leaf Node} add app before flatten idb idl lEngth nUll neg rEverse sUm swap;
 1 add :: Nat -> Nat -> Nat ;
 1 app :: __forall [alpha] => List alpha -> List alpha -> List alpha ;
diff --git a/ghc/tests/typecheck/should_compile/tc043.stderr b/ghc/tests/typecheck/should_compile/tc043.stderr
index 41cca9184b45..b97fa1eba39f 100644
--- a/ghc/tests/typecheck/should_compile/tc043.stderr
+++ b/ghc/tests/typecheck/should_compile/tc043.stderr
@@ -1,9 +1,10 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed A{op1} B{op2} f;
 instance {A PrelBase.Int} = zdfAInt;
 instance __forall [a] => {B a} -> {B [a]} = zdfBZMZN;
 1 class A a where {op1 :: a} ;
 1 class B b where {op2 :: b -> PrelBase.Int} ;
 1 f :: __forall [t a] => {A a} -> t -> a ;
+1 zddmop1 :: __forall [a] => {A a} -> a ;
+1 zddmop2 :: __forall [b] => {B b} -> b -> PrelBase.Int ;
 1 zdfAInt :: {A PrelBase.Int} ;
 1 zdfBZMZN :: __forall [a] => {B a} -> {B [a]} ;
diff --git a/ghc/tests/typecheck/should_compile/tc044.stderr b/ghc/tests/typecheck/should_compile/tc044.stderr
index 4205cb19cf57..4d492945efda 100644
--- a/ghc/tests/typecheck/should_compile/tc044.stderr
+++ b/ghc/tests/typecheck/should_compile/tc044.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed f;
 1 f :: __forall [t] => t -> PrelBase.Z0T ;
diff --git a/ghc/tests/typecheck/should_compile/tc045.stderr b/ghc/tests/typecheck/should_compile/tc045.stderr
index fde05b39071d..56987c259dee 100644
--- a/ghc/tests/typecheck/should_compile/tc045.stderr
+++ b/ghc/tests/typecheck/should_compile/tc045.stderr
@@ -1,8 +1,9 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed B{op2} C{op1};
 instance __forall [a] => {B a} -> {B [a]} = zdfBZMZN;
 instance __forall [a] => {C [a]} = zdfCZMZN;
 1 class {C a}  => B a where {op2 :: a -> a -> a} ;
 1 class C a where {op1 :: a -> a} ;
-1 zdfBZMZN :: __forall [a] => {B a} -> {C [a]} -> {B [a]} ;
+1 zddmop1 :: __forall [a] => {C a} -> a -> a ;
+1 zddmop2 :: __forall [a] => {B a} -> a -> a -> a ;
+1 zdfBZMZN :: __forall [a] => {B a} -> {B [a]} ;
 1 zdfCZMZN :: __forall [a] => {C [a]} ;
diff --git a/ghc/tests/typecheck/should_compile/tc046.stderr b/ghc/tests/typecheck/should_compile/tc046.stderr
index d6bfcd4a2c76..4300615108c9 100644
--- a/ghc/tests/typecheck/should_compile/tc046.stderr
+++ b/ghc/tests/typecheck/should_compile/tc046.stderr
@@ -1,4 +1,5 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed B{op2} C{op1};
 1 class {C a}  => B a where {op2 :: a -> a -> a} ;
 1 class C a where {op1 :: a -> a} ;
+1 zddmop1 :: __forall [a] => {C a} -> a -> a ;
+1 zddmop2 :: __forall [a] => {B a} -> a -> a -> a ;
diff --git a/ghc/tests/typecheck/should_compile/tc047.stderr b/ghc/tests/typecheck/should_compile/tc047.stderr
index 47986a12a982..c2d3259f49c2 100644
--- a/ghc/tests/typecheck/should_compile/tc047.stderr
+++ b/ghc/tests/typecheck/should_compile/tc047.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed OL f mp sd;
 1 f :: __forall [t t1 t2] => t -> [(t1, t2)] -> [t2] ;
 1 mp :: __forall [t t1] => (t -> t1) -> [t] -> [t1] ;
diff --git a/ghc/tests/typecheck/should_compile/tc048.stderr b/ghc/tests/typecheck/should_compile/tc048.stderr
index c3f5a8da27ca..fd8abd589e75 100644
--- a/ghc/tests/typecheck/should_compile/tc048.stderr
+++ b/ghc/tests/typecheck/should_compile/tc048.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed AFE{MkAFE} FG{MkFG} OL{MkOL} mAp ranAFE ranOAL sNd;
 1 data AFE n a b = MkAFE (OL  (n, FG  a b)) ;
 1 data FG a b = MkFG (OL  (a, b)) ;
diff --git a/ghc/tests/typecheck/should_compile/tc049.stderr b/ghc/tests/typecheck/should_compile/tc049.stderr
index 1cb829d1822b..a8c1e88045e2 100644
--- a/ghc/tests/typecheck/should_compile/tc049.stderr
+++ b/ghc/tests/typecheck/should_compile/tc049.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed fib main1 main2 main3 mem mem1 mem2 mem3 mem4 oR oR1;
 1 fib :: __forall [a] => {PrelNum.Num a} -> {PrelBase.Ord a} -> a -> a ;
 1 main1 :: PrelBase.Bool ;
diff --git a/ghc/tests/typecheck/should_compile/tc050.stderr b/ghc/tests/typecheck/should_compile/tc050.stderr
index 391ae0fce05a..3dd67fb3d2b2 100644
--- a/ghc/tests/typecheck/should_compile/tc050.stderr
+++ b/ghc/tests/typecheck/should_compile/tc050.stderr
@@ -1,9 +1,9 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Foo{o_and} f g;
 instance {Foo PrelBase.Bool} = zdfFooBool;
 instance {Foo PrelBase.Int} = zdfFooInt;
 1 class Foo a where {o_and :: a -> a -> a} ;
 1 f :: __forall [t] => PrelBase.Bool -> t -> PrelBase.Bool ;
 1 g :: __forall [t a] => {PrelNum.Num a} -> {Foo a} -> a -> t -> a ;
+1 zddmo_and :: __forall [a] => {Foo a} -> a -> a -> a ;
 1 zdfFooBool :: {Foo PrelBase.Bool} ;
 1 zdfFooInt :: {Foo PrelBase.Int} ;
diff --git a/ghc/tests/typecheck/should_compile/tc051.stderr b/ghc/tests/typecheck/should_compile/tc051.stderr
index b5348410c531..b3358318bdd7 100644
--- a/ghc/tests/typecheck/should_compile/tc051.stderr
+++ b/ghc/tests/typecheck/should_compile/tc051.stderr
@@ -1,10 +1,11 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Eqzq{doubleeq} Ordzq{lt};
 instance {Eqzq PrelBase.Int} = zdfEqzqInt;
 instance __forall [a] => {Eqzq a} -> {Eqzq [a]} = zdfEqzqZMZN;
 instance {Ordzq PrelBase.Int} = zdfOrdzqInt;
 1 class Eqzq a where {doubleeq :: a -> a -> PrelBase.Bool} ;
 1 class {Eqzq a}  => Ordzq a where {lt :: a -> a -> PrelBase.Bool} ;
+1 zddmdoubleeq :: __forall [a] => {Eqzq a} -> a -> a -> PrelBase.Bool ;
+1 zddmlt :: __forall [a] => {Ordzq a} -> a -> a -> PrelBase.Bool ;
 1 zdfEqzqInt :: {Eqzq PrelBase.Int} ;
 1 zdfEqzqZMZN :: __forall [a] => {Eqzq a} -> {Eqzq [a]} ;
 1 zdfOrdzqInt :: {Ordzq PrelBase.Int} ;
diff --git a/ghc/tests/typecheck/should_compile/tc052.stderr b/ghc/tests/typecheck/should_compile/tc052.stderr
index 6c5d6fc7dea4..357208f3ce4f 100644
--- a/ghc/tests/typecheck/should_compile/tc052.stderr
+++ b/ghc/tests/typecheck/should_compile/tc052.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed A B C;
 1 type A a = B   a ;
 1 type B c = C ;
diff --git a/ghc/tests/typecheck/should_compile/tc053.stderr b/ghc/tests/typecheck/should_compile/tc053.stderr
index 6fe016381b49..3b5db93f00bb 100644
--- a/ghc/tests/typecheck/should_compile/tc053.stderr
+++ b/ghc/tests/typecheck/should_compile/tc053.stderr
@@ -1,8 +1,8 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Eqzq{deq} f;
 instance {Eqzq PrelBase.Int} = zdfEqzqInt;
 instance __forall [a] => {Eqzq a} -> {Eqzq [a]} = zdfEqzqZMZN;
 1 class Eqzq a where {deq :: a -> a -> PrelBase.Bool} ;
 1 f :: __forall [t] => {PrelNum.Num t} -> {Eqzq [t]} -> [t] -> PrelBase.Bool ;
+1 zddmdeq :: __forall [a] => {Eqzq a} -> a -> a -> PrelBase.Bool ;
 1 zdfEqzqInt :: {Eqzq PrelBase.Int} ;
 1 zdfEqzqZMZN :: __forall [a] => {Eqzq a} -> {Eqzq [a]} ;
diff --git a/ghc/tests/typecheck/should_compile/tc054.stderr b/ghc/tests/typecheck/should_compile/tc054.stderr
index ee2f112abfc0..794639d3a1aa 100644
--- a/ghc/tests/typecheck/should_compile/tc054.stderr
+++ b/ghc/tests/typecheck/should_compile/tc054.stderr
@@ -1,9 +1,10 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Eqzq{doubleeq} Ordzq{lt} f;
 instance {Eqzq PrelBase.Int} = zdfEqzqInt;
 instance {Ordzq PrelBase.Int} = zdfOrdzqInt;
 1 class Eqzq a where {doubleeq :: a -> a -> PrelBase.Bool} ;
 1 class {Eqzq a}  => Ordzq a where {lt :: a -> a -> PrelBase.Bool} ;
 1 f :: __forall [t a] => {PrelNum.Num a} -> {Ordzq a} -> a -> t -> PrelBase.Bool ;
+1 zddmdoubleeq :: __forall [a] => {Eqzq a} -> a -> a -> PrelBase.Bool ;
+1 zddmlt :: __forall [a] => {Ordzq a} -> a -> a -> PrelBase.Bool ;
 1 zdfEqzqInt :: {Eqzq PrelBase.Int} ;
 1 zdfOrdzqInt :: {Ordzq PrelBase.Int} ;
diff --git a/ghc/tests/typecheck/should_compile/tc055.stderr b/ghc/tests/typecheck/should_compile/tc055.stderr
index 40424478ceb7..849be8a3e4c6 100644
--- a/ghc/tests/typecheck/should_compile/tc055.stderr
+++ b/ghc/tests/typecheck/should_compile/tc055.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed x y;
 1 x :: __forall [t t1] => t -> t ;
 1 y :: __forall [t t1] => t1 -> t1 ;
diff --git a/ghc/tests/typecheck/should_compile/tc056.stderr b/ghc/tests/typecheck/should_compile/tc056.stderr
index 96951924b2f1..c32b4e211313 100644
--- a/ghc/tests/typecheck/should_compile/tc056.stderr
+++ b/ghc/tests/typecheck/should_compile/tc056.stderr
@@ -2,12 +2,13 @@
 tc056.hs:14:
     Warning: Duplicate class assertion `Eq' a' in the context:
 		 (Eq' a, Eq' a) => ...
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Eqzq{doubleeq} Ordzq{lt} f;
 instance {Eqzq PrelBase.Int} = zdfEqzqInt;
 instance __forall [a] => {Eqzq a} -> {Eqzq a} -> {Eqzq [a]} = zdfEqzqZMZN;
 1 class Eqzq a where {doubleeq :: a -> a -> PrelBase.Bool} ;
 1 class {Eqzq a}  => Ordzq a where {lt :: a -> a -> PrelBase.Bool} ;
 1 f :: __forall [t t1] => {PrelNum.Num t1} -> {Eqzq [t1]} -> [t1] -> t -> PrelBase.Bool ;
+1 zddmdoubleeq :: __forall [a] => {Eqzq a} -> a -> a -> PrelBase.Bool ;
+1 zddmlt :: __forall [a] => {Ordzq a} -> a -> a -> PrelBase.Bool ;
 1 zdfEqzqInt :: {Eqzq PrelBase.Int} ;
-1 zdfEqzqZMZN :: __forall [a] => {Eqzq a} -> {Eqzq [a]} ;
+1 zdfEqzqZMZN :: __forall [a] => {Eqzq a} -> {Eqzq a} -> {Eqzq [a]} ;
diff --git a/ghc/tests/typecheck/should_compile/tc057.stderr b/ghc/tests/typecheck/should_compile/tc057.stderr
index d2173f768661..7691dd078e07 100644
--- a/ghc/tests/typecheck/should_compile/tc057.stderr
+++ b/ghc/tests/typecheck/should_compile/tc057.stderr
@@ -1,9 +1,9 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Eqzq{deq} dand f;
 instance {Eqzq PrelBase.Int} = zdfEqzqInt;
 instance __forall [a] => {Eqzq a} -> {Eqzq [a]} = zdfEqzqZMZN;
 1 class Eqzq a where {deq :: a -> a -> PrelBase.Bool} ;
 1 dand :: PrelBase.Bool -> PrelBase.Bool -> PrelBase.Bool ;
 1 f :: __forall [a] => {Eqzq a} -> a -> a -> PrelBase.Bool ;
+1 zddmdeq :: __forall [a] => {Eqzq a} -> a -> a -> PrelBase.Bool ;
 1 zdfEqzqInt :: {Eqzq PrelBase.Int} ;
 1 zdfEqzqZMZN :: __forall [a] => {Eqzq a} -> {Eqzq [a]} ;
diff --git a/ghc/tests/typecheck/should_compile/tc058.stderr b/ghc/tests/typecheck/should_compile/tc058.stderr
index 6ab10409611b..e5e069cb6579 100644
--- a/ghc/tests/typecheck/should_compile/tc058.stderr
+++ b/ghc/tests/typecheck/should_compile/tc058.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Eq2{doubleeq} Ord2{lt} f;
 instance {Eq2 PrelBase.Int} = zdfEq2Int;
 instance __forall [a] => {Eq2 a} -> {Ord2 a} -> {Eq2 [a]} = zdfEq2ZMZN;
@@ -6,6 +5,8 @@ instance {Ord2 PrelBase.Int} = zdfOrd2Int;
 1 class Eq2 a where {doubleeq :: a -> a -> PrelBase.Bool} ;
 1 class {Eq2 a}  => Ord2 a where {lt :: a -> a -> PrelBase.Bool} ;
 1 f :: __forall [t t1] => {PrelNum.Num t1} -> {Eq2 [t1]} -> [t1] -> t -> PrelBase.Bool ;
+1 zddmdoubleeq :: __forall [a] => {Eq2 a} -> a -> a -> PrelBase.Bool ;
+1 zddmlt :: __forall [a] => {Ord2 a} -> a -> a -> PrelBase.Bool ;
 1 zdfEq2Int :: {Eq2 PrelBase.Int} ;
 1 zdfEq2ZMZN :: __forall [a] => {Eq2 a} -> {Ord2 a} -> {Eq2 [a]} ;
 1 zdfOrd2Int :: {Ord2 PrelBase.Int} ;
diff --git a/ghc/tests/typecheck/should_compile/tc059.stderr b/ghc/tests/typecheck/should_compile/tc059.stderr
index 07f7f5b12fd8..e0b951cc9b7e 100644
--- a/ghc/tests/typecheck/should_compile/tc059.stderr
+++ b/ghc/tests/typecheck/should_compile/tc059.stderr
@@ -1,8 +1,9 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Eq2{deq foo} f;
 instance {Eq2 PrelBase.Int} = zdfEq2Int;
 instance __forall [a] => {Eq2 a} -> {Eq2 [a]} = zdfEq2ZMZN;
 1 class Eq2 a where {deq :: a -> a -> PrelBase.Bool; foo :: a -> a} ;
 1 f :: __forall [t] => {PrelNum.Num t} -> {Eq2 [t]} -> [t] -> PrelBase.Bool ;
+1 zddmdeq :: __forall [a] => {Eq2 a} -> a -> a -> PrelBase.Bool ;
+1 zddmfoo :: __forall [a] => {Eq2 a} -> a -> a ;
 1 zdfEq2Int :: {Eq2 PrelBase.Int} ;
 1 zdfEq2ZMZN :: __forall [a] => {Eq2 a} -> {Eq2 [a]} ;
diff --git a/ghc/tests/typecheck/should_compile/tc060.stderr b/ghc/tests/typecheck/should_compile/tc060.stderr
index ab063d9e8c22..7763cc5631b0 100644
--- a/ghc/tests/typecheck/should_compile/tc060.stderr
+++ b/ghc/tests/typecheck/should_compile/tc060.stderr
@@ -1,7 +1,7 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Eq2{deq};
 instance {Eq2 PrelBase.Int} = zdfEq2Int;
 instance __forall [a] => {Eq2 a} -> {Eq2 [a]} = zdfEq2ZMZN;
 1 class Eq2 a where {deq :: a -> a -> PrelBase.Bool} ;
+1 zddmdeq :: __forall [a] => {Eq2 a} -> a -> a -> PrelBase.Bool ;
 1 zdfEq2Int :: {Eq2 PrelBase.Int} ;
 1 zdfEq2ZMZN :: __forall [a] => {Eq2 a} -> {Eq2 [a]} ;
diff --git a/ghc/tests/typecheck/should_compile/tc061.stderr b/ghc/tests/typecheck/should_compile/tc061.stderr
index 8da50c9aeab3..b2e170ff1692 100644
--- a/ghc/tests/typecheck/should_compile/tc061.stderr
+++ b/ghc/tests/typecheck/should_compile/tc061.stderr
@@ -1,7 +1,7 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Eq1{deq};
 instance {Eq1 PrelBase.Int} = zdfEq1Int;
 instance __forall [a] => {Eq1 a} -> {Eq1 [a]} = zdfEq1ZMZN;
 1 class Eq1 a where {deq :: a -> a -> PrelBase.Bool} ;
+1 zddmdeq :: __forall [a] => {Eq1 a} -> a -> a -> PrelBase.Bool ;
 1 zdfEq1Int :: {Eq1 PrelBase.Int} ;
 1 zdfEq1ZMZN :: __forall [a] => {Eq1 a} -> {Eq1 [a]} ;
diff --git a/ghc/tests/typecheck/should_compile/tc062.stderr b/ghc/tests/typecheck/should_compile/tc062.stderr
index dd79383f6369..964a4420d7cf 100644
--- a/ghc/tests/typecheck/should_compile/tc062.stderr
+++ b/ghc/tests/typecheck/should_compile/tc062.stderr
@@ -1,8 +1,8 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Eq1{deq} f;
 instance {Eq1 PrelBase.Int} = zdfEq1Int;
 instance __forall [a] => {Eq1 a} -> {Eq1 [a]} = zdfEq1ZMZN;
 1 class Eq1 a where {deq :: a -> a -> PrelBase.Bool} ;
 1 f :: __forall [t] => {Eq1 [t]} -> [t] -> [t] -> PrelBase.Bool ;
+1 zddmdeq :: __forall [a] => {Eq1 a} -> a -> a -> PrelBase.Bool ;
 1 zdfEq1Int :: {Eq1 PrelBase.Int} ;
 1 zdfEq1ZMZN :: __forall [a] => {Eq1 a} -> {Eq1 [a]} ;
diff --git a/ghc/tests/typecheck/should_compile/tc063.stderr b/ghc/tests/typecheck/should_compile/tc063.stderr
index db2cef51d599..da5dfb870e10 100644
--- a/ghc/tests/typecheck/should_compile/tc063.stderr
+++ b/ghc/tests/typecheck/should_compile/tc063.stderr
@@ -1,9 +1,9 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Reps{f} X{Tag} g;
 instance {Reps PrelBase.Bool} = zdfRepsBool;
 instance __forall [q] => {Reps (X   q)} = zdfRepsX;
 1 class Reps r where {f :: r -> r -> r} ;
 1 data X a = Tag a ;
 1 g :: __forall [r] => {Reps r} -> r -> r ;
+1 zddmf :: __forall [r] => {Reps r} -> r -> r -> r ;
 1 zdfRepsBool :: {Reps PrelBase.Bool} ;
 1 zdfRepsX :: __forall [q] => {Reps (X   q)} ;
diff --git a/ghc/tests/typecheck/should_compile/tc064.stderr b/ghc/tests/typecheck/should_compile/tc064.stderr
index 119d82eb3cd8..dc67a5522f7d 100644
--- a/ghc/tests/typecheck/should_compile/tc064.stderr
+++ b/ghc/tests/typecheck/should_compile/tc064.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Boolean{FF TT} idb;
 1 data Boolean = FF |  TT ;
 1 idb :: Boolean -> Boolean ;
diff --git a/ghc/tests/typecheck/should_compile/tc065.stderr b/ghc/tests/typecheck/should_compile/tc065.stderr
index b93942dd5002..f4ad59b36c35 100644
--- a/ghc/tests/typecheck/should_compile/tc065.stderr
+++ b/ghc/tests/typecheck/should_compile/tc065.stderr
@@ -1,16 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
-__export ShouldSucceed Cycle Digraph{MkDigraph} Edge FlattenedDependencyInfo MaybeErr{Succeeded Failed} dfs isCyclic isRecursiveCycle lookupVertex mkDigraph mkEdges mkVertices stronglyConnComp topSort;
-1 data Digraph vertex = MkDigraph [vertex] ;
-1 data MaybeErr a b = Succeeded a |  Failed b ;
-1 dfs :: __forall [a] => {PrelBase.Eq a} -> (a -> [a]) -> ([a], [a]) -> [a] -> ([a], [a]) ;
-1 isCyclic :: __forall [vertex] => {PrelBase.Eq vertex} -> [Edge vertex] -> [vertex] -> PrelBase.Bool ;
-1 isRecursiveCycle :: __forall [vertex] => {PrelBase.Eq vertex} -> Cycle vertex -> [Edge vertex] -> PrelBase.Bool ;
-1 lookupVertex :: __forall [vertex name code] => {PrelBase.Eq vertex} -> {PrelBase.Ord name} -> FlattenedDependencyInfo vertex name code -> vertex -> code ;
-1 mkDigraph :: __forall [vertex] => [vertex] -> Digraph vertex ;
-1 mkEdges :: __forall [vertex name code] => {PrelBase.Eq vertex} -> {PrelBase.Ord name} -> [vertex] -> FlattenedDependencyInfo vertex name code -> [Edge vertex] ;
-1 mkVertices :: __forall [vertex name code] => FlattenedDependencyInfo vertex name code -> [vertex] ;
-1 stronglyConnComp :: __forall [vertex] => {PrelBase.Eq vertex} -> [Edge vertex] -> [vertex] -> [[vertex]] ;
-1 topSort :: __forall [vertex] => {PrelBase.Eq vertex} -> [Edge vertex] -> [vertex] -> MaybeErr [vertex] [[vertex]] ;
-1 type Cycle vertex = [vertex] ;
-1 type Edge vertex = (vertex, vertex) ;
-1 type FlattenedDependencyInfo vertex name code = [(vertex, Set.Set name, Set.Set name, code)] ;
+
+Need to fix up -syslib flag in makefile
+
diff --git a/ghc/tests/typecheck/should_compile/tc066.stderr b/ghc/tests/typecheck/should_compile/tc066.stderr
index fe1a93957f6b..9ddc3faa50a1 100644
--- a/ghc/tests/typecheck/should_compile/tc066.stderr
+++ b/ghc/tests/typecheck/should_compile/tc066.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Pair{MkPair} f;
 1 data Pair a b = MkPair a b ;
 1 f :: __forall [a b] => [Pair a b] -> [b] ;
diff --git a/ghc/tests/typecheck/should_compile/tc067.stderr b/ghc/tests/typecheck/should_compile/tc067.stderr
index c2e1573a45e4..a441d7b2fd70 100644
--- a/ghc/tests/typecheck/should_compile/tc067.stderr
+++ b/ghc/tests/typecheck/should_compile/tc067.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed f;
 1 f :: __forall [t] => [t] -> [t] ;
diff --git a/ghc/tests/typecheck/should_compile/tc068.stderr b/ghc/tests/typecheck/should_compile/tc068.stderr
index 235416f3555b..7e49d0870760 100644
--- a/ghc/tests/typecheck/should_compile/tc068.stderr
+++ b/ghc/tests/typecheck/should_compile/tc068.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed B{X Y} T{D C};
 instance __forall [b] => {PrelBase.Eq b} -> {PrelBase.Eq (B   b)} = zdfEqB;
 instance __forall [a] => {PrelBase.Eq a} -> {PrelBase.Eq (T   a)} = zdfEqT;
diff --git a/ghc/tests/typecheck/should_compile/tc069.stderr b/ghc/tests/typecheck/should_compile/tc069.stderr
index 681c176be792..0d6f791cee1b 100644
--- a/ghc/tests/typecheck/should_compile/tc069.stderr
+++ b/ghc/tests/typecheck/should_compile/tc069.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed x y ys;
 1 x :: PrelBase.Char ;
 1 y :: PrelBase.Char ;
diff --git a/ghc/tests/typecheck/should_compile/tc070.stderr b/ghc/tests/typecheck/should_compile/tc070.stderr
index 119d82eb3cd8..dc67a5522f7d 100644
--- a/ghc/tests/typecheck/should_compile/tc070.stderr
+++ b/ghc/tests/typecheck/should_compile/tc070.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Boolean{FF TT} idb;
 1 data Boolean = FF |  TT ;
 1 idb :: Boolean -> Boolean ;
diff --git a/ghc/tests/typecheck/should_compile/tc073.stderr b/ghc/tests/typecheck/should_compile/tc073.stderr
index c2e1573a45e4..a441d7b2fd70 100644
--- a/ghc/tests/typecheck/should_compile/tc073.stderr
+++ b/ghc/tests/typecheck/should_compile/tc073.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed f;
 1 f :: __forall [t] => [t] -> [t] ;
diff --git a/ghc/tests/typecheck/should_compile/tc074.stderr b/ghc/tests/typecheck/should_compile/tc074.stderr
index 235416f3555b..7e49d0870760 100644
--- a/ghc/tests/typecheck/should_compile/tc074.stderr
+++ b/ghc/tests/typecheck/should_compile/tc074.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed B{X Y} T{D C};
 instance __forall [b] => {PrelBase.Eq b} -> {PrelBase.Eq (B   b)} = zdfEqB;
 instance __forall [a] => {PrelBase.Eq a} -> {PrelBase.Eq (T   a)} = zdfEqT;
diff --git a/ghc/tests/typecheck/should_compile/tc076.stderr b/ghc/tests/typecheck/should_compile/tc076.stderr
index c0cf92a44c11..c2ebe7211a21 100644
--- a/ghc/tests/typecheck/should_compile/tc076.stderr
+++ b/ghc/tests/typecheck/should_compile/tc076.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed x xs;
 1 x :: [[PrelBase.Bool]] ;
 1 xs :: [PrelBase.Bool] ;
diff --git a/ghc/tests/typecheck/should_compile/tc077.stderr b/ghc/tests/typecheck/should_compile/tc077.stderr
index a889edf3dacd..f57257117a34 100644
--- a/ghc/tests/typecheck/should_compile/tc077.stderr
+++ b/ghc/tests/typecheck/should_compile/tc077.stderr
@@ -1,5 +1,5 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed EQ{zezeze} NUM{ONE TWO} ORD;
 1 class {ORD a, PrelShow.Show a}  => EQ a where {zezeze :: a -> a -> PrelBase.Bool} ;
 1 class {PrelNum.Num a}  => ORD a ;
 1 data NUM = ONE |  TWO ;
+1 zddmzezeze :: __forall [a] => {EQ a} -> a -> a -> PrelBase.Bool ;
diff --git a/ghc/tests/typecheck/should_compile/tc078.stderr b/ghc/tests/typecheck/should_compile/tc078.stderr
index 68c882ddcc58..9db2b8059ea5 100644
--- a/ghc/tests/typecheck/should_compile/tc078.stderr
+++ b/ghc/tests/typecheck/should_compile/tc078.stderr
@@ -1,7 +1,6 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldFail Bar{MkBar};
 instance __forall [a] => {PrelBase.Eq a} -> {PrelBase.Eq (Bar a)} = zdfEqBar;
 instance __forall [a] => {PrelBase.Ord a} -> {PrelBase.Ord (Bar a)} = zdfOrdBar;
 1 data Bar a = MkBar PrelBase.Int a ;
 1 zdfEqBar :: __forall [a] => {PrelBase.Eq a} -> {PrelBase.Eq (Bar a)} ;
-1 zdfOrdBar :: __forall [a] => {PrelBase.Ord a} -> {PrelBase.Eq (Bar a)} -> {PrelBase.Ord (Bar a)} ;
+1 zdfOrdBar :: __forall [a] => {PrelBase.Ord a} -> {PrelBase.Ord (Bar a)} ;
diff --git a/ghc/tests/typecheck/should_compile/tc079.stderr b/ghc/tests/typecheck/should_compile/tc079.stderr
index 0d1506ce9b86..e1fbf9bd9db9 100644
--- a/ghc/tests/typecheck/should_compile/tc079.stderr
+++ b/ghc/tests/typecheck/should_compile/tc079.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Foo{op1 op2};
 instance {Foo PrelBase.Int} = zdfFooInt;
 instance __forall [a] => {Foo a} -> {Foo [a]} = zdfFooZMZN;
diff --git a/ghc/tests/typecheck/should_compile/tc080.stderr b/ghc/tests/typecheck/should_compile/tc080.stderr
index 03bc0724afd9..8f100477a4eb 100644
--- a/ghc/tests/typecheck/should_compile/tc080.stderr
+++ b/ghc/tests/typecheck/should_compile/tc080.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Parse{parseFile parseLine parseType parse forced} charToInt lineszq seperatedBy spanzq strToInt whiteSpace;
 instance {Parse PrelBase.Char} = zdfParseChar;
 instance {Parse PrelBase.Int} = zdfParseInt;
@@ -14,6 +13,7 @@ instance __forall [a] => {Parse a} -> {Parse [a]} = zdfParseZMZN;
 1 zddmparse :: __forall [a] => {Parse a} -> PrelBase.String -> (a, PrelBase.String) ;
 1 zddmparseFile :: __forall [a] => {Parse a} -> PrelBase.String -> [a] ;
 1 zddmparseLine :: __forall [a] => {Parse a} -> PrelBase.String -> a ;
+1 zddmparseType :: __forall [a] => {Parse a} -> PrelBase.String -> (a, PrelBase.String) ;
 1 zdfParseChar :: {Parse PrelBase.Char} ;
 1 zdfParseInt :: {Parse PrelBase.Int} ;
 1 zdfParseZMZN :: __forall [a] => {Parse a} -> {Parse [a]} ;
diff --git a/ghc/tests/typecheck/should_compile/tc081.stderr b/ghc/tests/typecheck/should_compile/tc081.stderr
index 99f69aacb19d..e387451ad8cc 100644
--- a/ghc/tests/typecheck/should_compile/tc081.stderr
+++ b/ghc/tests/typecheck/should_compile/tc081.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed f f2 f3;
 1 f :: __forall [a] => {PrelBase.Ord a} -> {PrelNum.Num a} -> a -> (a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;
 1 f2 :: __forall [a] => {PrelBase.Ord a} -> {PrelNum.Num a} -> a -> (a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;
diff --git a/ghc/tests/typecheck/should_compile/tc082.stderr b/ghc/tests/typecheck/should_compile/tc082.stderr
index 25129c805bc0..3b89f1c2faae 100644
--- a/ghc/tests/typecheck/should_compile/tc082.stderr
+++ b/ghc/tests/typecheck/should_compile/tc082.stderr
@@ -1,6 +1,6 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Normal{normal} f;
 instance __forall [a b] => {Normal (a -> b)} = zdfNormalZLzmzgZR;
 1 class Normal a where {normal :: a -> PrelBase.Bool} ;
 1 f :: __forall [t] => t -> PrelBase.Bool ;
+1 zddmnormal :: __forall [a] => {Normal a} -> a -> PrelBase.Bool ;
 1 zdfNormalZLzmzgZR :: __forall [a b] => {Normal (a -> b)} ;
diff --git a/ghc/tests/typecheck/should_compile/tc084.stderr b/ghc/tests/typecheck/should_compile/tc084.stderr
index 93226ea14d02..354c6ef1a64a 100644
--- a/ghc/tests/typecheck/should_compile/tc084.stderr
+++ b/ghc/tests/typecheck/should_compile/tc084.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed f g h;
 1 f :: __forall [b] => PrelBase.Int -> b -> PrelBase.Int ;
 1 g :: __forall [a b] => {PrelNum.Num a} -> PrelBase.Bool -> a -> b -> a ;
diff --git a/ghc/tests/typecheck/should_compile/tc085.stderr b/ghc/tests/typecheck/should_compile/tc085.stderr
index 39d4dc64b568..278de2a549f6 100644
--- a/ghc/tests/typecheck/should_compile/tc085.stderr
+++ b/ghc/tests/typecheck/should_compile/tc085.stderr
@@ -1,7 +1,6 @@
-ghc: module version changed to 1; reason: no old .hi file
-__export IOExts IOArray IORef boundsIOArray freeHaskellFunctionPtr freezzeIOArray mkWeakIORef newIOArray newIORef performGC readIOArray readIORef thawIOArray trace unsafeFreezzeIOArray unsafePtrEq unsafeThawIOArray writeIOArray writeIORef;
-__export PrelGHC Addrzh All Arrayzh ByteArrayzh CCallable CReturnable Charzh Doublezh Floatzh ForeignObjzh Int64zh Intzh MVarzh MutVarzh MutableArrayzh MutableByteArrayzh RealWorld StableNamezh StablePtrzh Statezh ThreadIdzh Weakzh Word64zh Wordzh ZLzmzgZR acosDoublezh acosFloatzh addIntCzh addr2Integerzh addr2Intzh andzh asinDoublezh asinFloatzh assert atanDoublezh atanFloatzh catchzh chrzh cmpIntegerIntzh cmpIntegerzh cosDoublezh cosFloatzh coshDoublezh coshFloatzh dataToTagzh deRefStablePtrzh deRefWeakzh decodeDoublezh decodeFloatzh delayzh divideFloatzh double2Floatzh double2Intzh eqAddrzh eqCharzh eqFloatzh eqStableNamezh eqStablePtrzh eqWordzh expDoublezh expFloatzh finalizzeWeakzh float2Doublezh float2Intzh forkzh gcdIntegerzh geAddrzh geCharzh geFloatzh geWordzh getTagzh gtAddrzh gtCharzh gtFloatzh gtWordzh iShiftLzh iShiftRAzh iShiftRLzh indexAddrArrayzh indexAddrOffAddrzh indexAddrOffForeignObjzh indexArrayzh indexCharArrayzh indexCharOffAddrzh indexCharOffForeignObjzh indexDoubleArrayzh indexDoubleOffAddrzh indexDoubleOffForeignObjzh indexFloatArrayzh indexFloatOffAddrzh indexFloatOffForeignObjzh indexInt64Arrayzh indexInt64OffAddrzh indexInt64OffForeignObjzh indexIntArrayzh indexIntOffAddrzh indexIntOffForeignObjzh indexStablePtrArrayzh indexStablePtrOffAddrzh indexStablePtrOffForeignObjzh indexWord64Arrayzh indexWord64OffAddrzh indexWord64OffForeignObjzh indexWordArrayzh indexWordOffAddrzh indexWordOffForeignObjzh int2Addrzh int2Doublezh int2Floatzh int2Integerzh int2Wordzh int64ToIntegerzh integer2Intzh integer2Wordzh integerToInt64zh integerToWord64zh isEmptyMVarzh killThreadzh leAddrzh leCharzh leFloatzh leWordzh logDoublezh logFloatzh ltAddrzh ltCharzh ltFloatzh ltWordzh makeForeignObjzh makeStableNamezh makeStablePtrzh minusFloatzh minusIntegerzh mkWeakzh mulIntCzh myThreadIdzh neAddrzh neCharzh neFloatzh neWordzh negateDoublezh negateFloatzh negateIntzh newAddrArrayzh newArrayzh newCharArrayzh newDoubleArrayzh newFloatArrayzh newIntArrayzh newMVarzh newMutVarzh newStablePtrArrayzh newWordArrayzh notzh ordzh orzh parAtAbszh parAtForNowzh parAtRelzh parAtzh parGlobalzh parLocalzh parzh plusFloatzh plusIntegerzh powerFloatzh putMVarzh quotIntzh quotRemIntegerzh quotWordzh raisezh readAddrArrayzh readArrayzh readCharArrayzh readDoubleArrayzh readFloatArrayzh readInt64Arrayzh readIntArrayzh readMutVarzh readStablePtrArrayzh readWord64Arrayzh readWordArrayzh realWorldzh reallyUnsafePtrEqualityzh remIntzh remWordzh sameMVarzh sameMutVarzh sameMutableArrayzh sameMutableByteArrayzh seqzh shiftLzh shiftRLzh sinDoublezh sinFloatzh sinhDoublezh sinhFloatzh sizzeofByteArrayzh sizzeofMutableByteArrayzh sqrtDoublezh sqrtFloatzh stableNameToIntzh subIntCzh tagToEnumzh takeMVarzh tanDoublezh tanFloatzh tanhDoublezh tanhFloatzh timesFloatzh timesIntegerzh unsafeCoercezh unsafeFreezzeArrayzh unsafeFreezzeByteArrayzh unsafeThawArrayzh unsafeThawByteArrayzh waitReadzh waitWritezh word2Integerzh word2Intzh word64ToIntegerzh writeAddrArrayzh writeAddrOffAddrzh writeArrayzh writeCharArrayzh writeCharOffAddrzh writeDoubleArrayzh writeDoubleOffAddrzh writeFloatArrayzh writeFloatOffAddrzh writeForeignObjOffAddrzh writeForeignObjzh writeInt64Arrayzh writeInt64OffAddrzh writeIntArrayzh writeIntOffAddrzh writeMutVarzh writeStablePtrArrayzh writeStablePtrOffAddrzh writeWord64Arrayzh writeWord64OffAddrzh writeWordArrayzh writeWordOffAddrzh xorzh yieldzh zezezh zezezhzh zgzezh zgzezhzh zgzh zgzhzh zlzezh zlzezhzh zlzh zlzhzh zmzh zmzhzh zpzh zpzhzh zszezh zszezhzh zszh zszhzh ztzh ztzhzh ztztzhzh;
-__export PrelHandle IOModeEx{BinaryMode TextMode} hConnectTo hGetEcho hIsTerminalDevice hSetEcho openFileEx;
-__export PrelIOBase fixIO unsafeInterleaveIO unsafePerformIO;
+__export IOExts IOArray IORef boundsIOArray fixIO freeHaskellFunctionPtr freezzeIOArray hSetBinaryMode hTell mkWeakIORef newIOArray newIORef performGC readIOArray readIORef thawIOArray trace unsafeFreezzeIOArray unsafePtrEq unsafeThawIOArray updateIORef withHandleFor withStderr withStdin withStdout writeIOArray writeIORef;
+__export PrelGHC Addrzh All Arrayzh ByteArrayzh CCallable CReturnable Charzh Doublezh Floatzh ForeignObjzh Int64zh Intzh MVarzh MutVarzh MutableArrayzh MutableByteArrayzh RealWorld StableNamezh StablePtrzh Statezh ThreadIdzh Weakzh Word64zh Wordzh ZLzmzgZR acosDoublezh acosFloatzh addIntCzh addr2Integerzh addr2Intzh andzh asinDoublezh asinFloatzh assert atanDoublezh atanFloatzh blockAsyncExceptionszh catchzh chrzh cmpIntegerIntzh cmpIntegerzh cosDoublezh cosFloatzh coshDoublezh coshFloatzh dataToTagzh deRefStablePtrzh deRefWeakzh decodeDoublezh decodeFloatzh delayzh divExactIntegerzh divModIntegerzh divideFloatzh double2Floatzh double2Intzh eqAddrzh eqCharzh eqFloatzh eqStableNamezh eqStablePtrzh eqWordzh expDoublezh expFloatzh finalizzeWeakzh float2Doublezh float2Intzh forkzh gcdIntegerIntzh gcdIntegerzh gcdIntzh geAddrzh geCharzh geFloatzh geWordzh getTagzh gtAddrzh gtCharzh gtFloatzh gtWordzh iShiftLzh iShiftRAzh iShiftRLzh indexAddrArrayzh indexAddrOffAddrzh indexAddrOffForeignObjzh indexArrayzh indexCharArrayzh indexCharOffAddrzh indexCharOffForeignObjzh indexDoubleArrayzh indexDoubleOffAddrzh indexDoubleOffForeignObjzh indexFloatArrayzh indexFloatOffAddrzh indexFloatOffForeignObjzh indexInt64Arrayzh indexInt64OffAddrzh indexInt64OffForeignObjzh indexIntArrayzh indexIntOffAddrzh indexIntOffForeignObjzh indexStablePtrArrayzh indexStablePtrOffAddrzh indexStablePtrOffForeignObjzh indexWord64Arrayzh indexWord64OffAddrzh indexWord64OffForeignObjzh indexWordArrayzh indexWordOffAddrzh indexWordOffForeignObjzh int2Addrzh int2Doublezh int2Floatzh int2Integerzh int2Wordzh int64ToIntegerzh integer2Intzh integer2Wordzh integerToInt64zh integerToWord64zh isEmptyMVarzh killThreadzh leAddrzh leCharzh leFloatzh leWordzh logDoublezh logFloatzh ltAddrzh ltCharzh ltFloatzh ltWordzh makeForeignObjzh makeStableNamezh makeStablePtrzh minusFloatzh minusIntegerzh mkWeakzh mulIntCzh myThreadIdzh neAddrzh neCharzh neFloatzh neWordzh negateDoublezh negateFloatzh negateIntzh newAddrArrayzh newArrayzh newCharArrayzh newDoubleArrayzh newFloatArrayzh newIntArrayzh newMVarzh newMutVarzh newStablePtrArrayzh newWordArrayzh notzh ordzh orzh parAtAbszh parAtForNowzh parAtRelzh parAtzh parGlobalzh parLocalzh parzh plusFloatzh plusIntegerzh powerFloatzh putMVarzh quotIntegerzh quotIntzh quotRemIntegerzh quotWordzh raisezh readAddrArrayzh readArrayzh readCharArrayzh readDoubleArrayzh readFloatArrayzh readInt64Arrayzh readIntArrayzh readMutVarzh readStablePtrArrayzh readWord64Arrayzh readWordArrayzh realWorldzh reallyUnsafePtrEqualityzh remIntegerzh remIntzh remWordzh sameMVarzh sameMutVarzh sameMutableArrayzh sameMutableByteArrayzh seqzh shiftLzh shiftRLzh sinDoublezh sinFloatzh sinhDoublezh sinhFloatzh sizzeofByteArrayzh sizzeofMutableByteArrayzh sqrtDoublezh sqrtFloatzh stableNameToIntzh subIntCzh tagToEnumzh takeMVarzh tanDoublezh tanFloatzh tanhDoublezh tanhFloatzh timesFloatzh timesIntegerzh unblockAsyncExceptionszh unsafeCoercezh unsafeFreezzeArrayzh unsafeFreezzeByteArrayzh unsafeThawArrayzh unsafeThawByteArrayzh waitReadzh waitWritezh word2Integerzh word2Intzh word64ToIntegerzh writeAddrArrayzh writeAddrOffAddrzh writeArrayzh writeCharArrayzh writeCharOffAddrzh writeDoubleArrayzh writeDoubleOffAddrzh writeFloatArrayzh writeFloatOffAddrzh writeForeignObjOffAddrzh writeForeignObjzh writeInt64Arrayzh writeInt64OffAddrzh writeIntArrayzh writeIntOffAddrzh writeMutVarzh writeStablePtrArrayzh writeStablePtrOffAddrzh writeWord64Arrayzh writeWord64OffAddrzh writeWordArrayzh writeWordOffAddrzh xorzh yieldzh zezezh zezezhzh zgzezh zgzezhzh zgzh zgzhzh zlzezh zlzezhzh zlzh zlzhzh zmzh zmzhzh zpzh zpzhzh zszezh zszezhzh zszh zszhzh ztzh ztzhzh ztztzhzh;
+__export PrelHandle HandlePosition HandlePosn{HandlePosn} IOModeEx{BinaryMode TextMode} hConnectTo hGetEcho hIsTerminalDevice hSetEcho openFileEx;
+__export PrelIOBase unsafeInterleaveIO unsafePerformIO;
 1 data FooData = FooData ;
 1 type FooType = PrelBase.Int ;
diff --git a/ghc/tests/typecheck/should_compile/tc086.stderr b/ghc/tests/typecheck/should_compile/tc086.stderr
index b948554094e4..2ee177915796 100644
--- a/ghc/tests/typecheck/should_compile/tc086.stderr
+++ b/ghc/tests/typecheck/should_compile/tc086.stderr
@@ -1,7 +1,10 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Group Ring;
-1 class Group a where {compare :: a -> a -> PrelBase.Ordering; fromInteger :: PrelBase.Integer -> a; zp :: a -> a -> a; zm :: a -> a -> a; zzero = :: a; one = :: a} ;
+1 class Group a where {compare :: a -> a -> PrelBase.Ordering; fromInteger :: PrelNum.Integer -> a; zp :: a -> a -> a; zm :: a -> a -> a; zzero = :: a; one = :: a} ;
 1 class {Group a}  => Ring a where {zt = :: a -> a -> a} ;
+1 zddmcompare :: __forall [a] => {Group a} -> a -> a -> PrelBase.Ordering ;
+1 zddmfromInteger :: __forall [a] => {Group a} -> PrelNum.Integer -> a ;
 1 zddmone :: __forall [a] => {Group a} -> a ;
+1 zddmzm :: __forall [a] => {Group a} -> a -> a -> a ;
+1 zddmzp :: __forall [a] => {Group a} -> a -> a -> a ;
 1 zddmzt :: __forall [a] => {Ring a} -> a -> a -> a ;
 1 zddmzzero :: __forall [a] => {Group a} -> a ;
diff --git a/ghc/tests/typecheck/should_compile/tc087.stderr b/ghc/tests/typecheck/should_compile/tc087.stderr
index 94c8a1f9d214..b29063d2d535 100644
--- a/ghc/tests/typecheck/should_compile/tc087.stderr
+++ b/ghc/tests/typecheck/should_compile/tc087.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed PriorityQueue{empty single insert meld splitMin} SeqView{Null Cons} check insertMany out pqSort toOrderedList;
 1 check :: __forall [q :: (* -> *)] => {PriorityQueue q} -> (__forall [a] => {PrelBase.Ord a} -> q a) -> PrelIOBase.IO PrelBase.Z0T ;
 1 class PriorityQueue q :: (* -> *) where {empty :: __forall [a] => {PrelBase.Ord a} -> q a; single :: __forall [a] => {PrelBase.Ord a} -> a -> q a; insert = :: __forall [a] => {PrelBase.Ord a} -> a -> q a -> q a; meld :: __forall [a] => {PrelBase.Ord a} -> q a -> q a -> q a; splitMin :: __forall [a] => {PrelBase.Ord a} -> q a -> SeqView q a} ;
@@ -7,4 +6,8 @@ __export ShouldSucceed PriorityQueue{empty single insert meld splitMin} SeqView{
 1 out :: __forall [a] => {PrelNum.Num a} -> [a] -> PrelIOBase.IO PrelBase.Z0T ;
 1 pqSort :: __forall [a t :: (* -> *)] => {PriorityQueue t} -> {PrelBase.Ord a} -> t a -> [a] -> [a] ;
 1 toOrderedList :: __forall [t :: (* -> *) a] => {PrelBase.Ord a} -> {PriorityQueue t} -> t a -> [a] ;
+1 zddmempty :: __forall [q :: (* -> *)] => {PriorityQueue q} -> (__forall [a] => {PrelBase.Ord a} -> q a) ;
 1 zddminsert :: __forall [q :: (* -> *)] => {PriorityQueue q} -> (__forall [a] => {PrelBase.Ord a} -> a -> q a -> q a) ;
+1 zddmmeld :: __forall [q :: (* -> *)] => {PriorityQueue q} -> (__forall [a] => {PrelBase.Ord a} -> q a -> q a -> q a) ;
+1 zddmsingle :: __forall [q :: (* -> *)] => {PriorityQueue q} -> (__forall [a] => {PrelBase.Ord a} -> a -> q a) ;
+1 zddmsplitMin :: __forall [q :: (* -> *)] => {PriorityQueue q} -> (__forall [a] => {PrelBase.Ord a} -> q a -> SeqView q a) ;
diff --git a/ghc/tests/typecheck/should_compile/tc088.stderr b/ghc/tests/typecheck/should_compile/tc088.stderr
index 0a2be5179db3..f4ad59b36c35 100644
--- a/ghc/tests/typecheck/should_compile/tc088.stderr
+++ b/ghc/tests/typecheck/should_compile/tc088.stderr
@@ -1,7 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
-instance __forall [a b] => {PrelBase.Eq b} -> {PrelBase.Eq (a -> b)} = zdfEqZLzmzgZR;
-instance __forall [a b] => {PrelNum.Num b} -> {PrelNum.Num (a -> b)} = zdfNumZLzmzgZR;
-instance __forall [a b] => {PrelShow.Show (a -> b)} = zdfShowZLzmzgZR;
-1 zdfEqZLzmzgZR :: __forall [a b] => {PrelBase.Eq b} -> {PrelBase.Eq (a -> b)} ;
-1 zdfNumZLzmzgZR :: __forall [a b] => {PrelNum.Num b} -> {PrelBase.Eq (a -> b)} -> {PrelShow.Show (a -> b)} -> {PrelNum.Num (a -> b)} ;
-1 zdfShowZLzmzgZR :: __forall [a b] => {PrelShow.Show (a -> b)} ;
+
+Need to fix up -syslib flag in makefile
+
diff --git a/ghc/tests/typecheck/should_compile/tc089.stderr b/ghc/tests/typecheck/should_compile/tc089.stderr
index edaab80a4539..60dca4c15c8f 100644
--- a/ghc/tests/typecheck/should_compile/tc089.stderr
+++ b/ghc/tests/typecheck/should_compile/tc089.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed absAnd absIf bottom f f_rec f_rec0 f_rec1 f_rec2 fac fac_rec fac_rec0 fac_rec1 fac_rec2 fac_rec3 fac_rec4 g g_rec g_rec0 g_rec1 g_rec2 g_rec3 g_rec4 g_rec5 g_rec6 g_rec7 g_rec8 head one s_1_0 s_2_0 s_2_1 s_3_0 s_3_1 s_3_2;
 1 absAnd :: __forall [t] => t -> t -> t ;
 1 absIf :: __forall [t t1 t2] => t -> t1 -> t2 -> t ;
diff --git a/ghc/tests/typecheck/should_compile/tc090.stderr b/ghc/tests/typecheck/should_compile/tc090.stderr
index 5d19722ff5cb..f216338189ad 100644
--- a/ghc/tests/typecheck/should_compile/tc090.stderr
+++ b/ghc/tests/typecheck/should_compile/tc090.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed a b;
 1 a :: __forall [f] => {PrelBase.Ord f} -> f ;
 1 b :: __forall [f] => {PrelBase.Ord f} -> f ;
diff --git a/ghc/tests/typecheck/should_compile/tc091.stderr b/ghc/tests/typecheck/should_compile/tc091.stderr
index 9e3ff27f2f9a..f23c68c9bef6 100644
--- a/ghc/tests/typecheck/should_compile/tc091.stderr
+++ b/ghc/tests/typecheck/should_compile/tc091.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed init_last merge sort;
 1 init_last :: __forall [a] => [a] -> PrelBase.Int -> ([a], [a]) ;
 1 merge :: __forall [a] => {PrelBase.Ord a} -> [a] -> [a] -> [a] ;
diff --git a/ghc/tests/typecheck/should_compile/tc092.stderr b/ghc/tests/typecheck/should_compile/tc092.stderr
index 21adbb5fa605..b170489fd7e2 100644
--- a/ghc/tests/typecheck/should_compile/tc092.stderr
+++ b/ghc/tests/typecheck/should_compile/tc092.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Empty{Empty} e0 e1 e2 q;
 1 data Empty q :: (* -> *) = Empty (__forall [a] => {PrelBase.Ord a} -> q a) ;
 1 e0 :: Empty PrelBase.ZMZN ;
diff --git a/ghc/tests/typecheck/should_compile/tc093.stderr b/ghc/tests/typecheck/should_compile/tc093.stderr
index e888d1a610c5..2e09f5dca949 100644
--- a/ghc/tests/typecheck/should_compile/tc093.stderr
+++ b/ghc/tests/typecheck/should_compile/tc093.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed St State{State} TS{TS vs} bindState foo unState unitState;
 instance {PrelBase.Eq TS} = zdfEqTS;
 instance __forall [c] => {PrelBase.Eq c} -> {PrelBase.Monad (State c)} = zdfMonadState;
diff --git a/ghc/tests/typecheck/should_compile/tc094.stderr b/ghc/tests/typecheck/should_compile/tc094.stderr
index e5a8df1779e6..c5e46d7102ac 100644
--- a/ghc/tests/typecheck/should_compile/tc094.stderr
+++ b/ghc/tests/typecheck/should_compile/tc094.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed foo;
-1 foo :: __forall [t] => t -> (PrelBase.Integer, PrelBase.Integer) ;
+1 foo :: __forall [t] => t -> (PrelNum.Integer, PrelNum.Integer) ;
diff --git a/ghc/tests/typecheck/should_compile/tc095.stderr b/ghc/tests/typecheck/should_compile/tc095.stderr
index df8377a7d6b7..0c185cd69c5c 100644
--- a/ghc/tests/typecheck/should_compile/tc095.stderr
+++ b/ghc/tests/typecheck/should_compile/tc095.stderr
@@ -1,10 +1,9 @@
 NOTE: Simplifier still going after 4 iterations; bailing out.
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed HappyAbsSyn{HappyTerminal HappyErrorToken HappyAbsSyn1 HappyAbsSyn2 HappyAbsSyn3} HappyState{HappyState} Token{TokenInt TokenVar TokenEq} action_0 action_1 action_2 action_3 action_4 action_5 action_6 happyAccept happyError happyFail happyGoto happyMonadReduce happyNewToken happyParse happyReduce happyReduce_1 happyReduce_2 happyReduce_3 happyReturn happyShift happySpecReduce_0 happySpecReduce_1 happySpecReduce_2 happySpecReduce_3 happyThen main myparser notHappyAtAll;
 instance {PrelShow.Show Token} = zdfShowToken;
-1 action_0 :: __forall [t t1] => {PrelNum.Num t} -> t -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn (t1 -> PrelBase.Double) [([PrelBase.Char], t1 -> PrelBase.Int)] (t1 -> PrelBase.Int)] -> [Token] -> t1 -> PrelBase.Double) -> [HappyState Token ([HappyAbsSyn (t1 -> PrelBase.Double) [([PrelBase.Char], t1 -> PrelBase.Int)] (t1 -> PrelBase.Int)] -> [Token] -> t1 -> PrelBase.Double)] -> [HappyAbsSyn (t1 -> PrelBase.Double) [([PrelBase.Char], t1 -> PrelBase.Int)] (t1 -> PrelBase.Int)] -> [Token] -> t1 -> PrelBase.Double ;
+1 action_0 :: __forall [t t1] => {PrelNum.Num t} -> t -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn (t1 -> PrelFloat.Double) [([PrelBase.Char], t1 -> PrelBase.Int)] (t1 -> PrelBase.Int)] -> [Token] -> t1 -> PrelFloat.Double) -> [HappyState Token ([HappyAbsSyn (t1 -> PrelFloat.Double) [([PrelBase.Char], t1 -> PrelBase.Int)] (t1 -> PrelBase.Int)] -> [Token] -> t1 -> PrelFloat.Double)] -> [HappyAbsSyn (t1 -> PrelFloat.Double) [([PrelBase.Char], t1 -> PrelBase.Int)] (t1 -> PrelBase.Int)] -> [Token] -> t1 -> PrelFloat.Double ;
 1 action_1 :: __forall [t t1 t2 t3 b] => {PrelNum.Num t} -> t -> PrelBase.Int -> b -> HappyState b ([HappyAbsSyn t1 t2 t3] -> [Token] -> t1) -> [HappyState b ([HappyAbsSyn t1 t2 t3] -> [Token] -> t1)] -> [HappyAbsSyn t1 t2 t3] -> [Token] -> t1 ;
-1 action_2 :: __forall [t t1 b t2 t3 t4 t5 t31] => t -> PrelBase.Int -> b -> t2 -> [HappyState b ([HappyAbsSyn (t3 -> PrelBase.Double) [(t4, t3 -> t5)] t31] -> t1)] -> [HappyAbsSyn (t3 -> PrelBase.Double) [(t4, t3 -> t5)] t31] -> t1 ;
+1 action_2 :: __forall [t t1 b t2 t3 t4 t5 t31] => t -> PrelBase.Int -> b -> t2 -> [HappyState b ([HappyAbsSyn (t3 -> PrelFloat.Double) [(t4, t3 -> t5)] t31] -> t1)] -> [HappyAbsSyn (t3 -> PrelFloat.Double) [(t4, t3 -> t5)] t31] -> t1 ;
 1 action_3 :: __forall [t t1 t11 a] => {PrelNum.Num t} -> t -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn t1 [([PrelBase.Char], t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a) -> [HappyState Token ([HappyAbsSyn t1 [([PrelBase.Char], t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a)] -> [HappyAbsSyn t1 [([PrelBase.Char], t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a ;
 1 action_4 :: __forall [t t1 t11 a] => {PrelNum.Num t} -> t -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn t1 [([PrelBase.Char], t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a) -> [HappyState Token ([HappyAbsSyn t1 [([PrelBase.Char], t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a)] -> [HappyAbsSyn t1 [([PrelBase.Char], t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a ;
 1 action_5 :: __forall [t t1 b t2 t11 t3] => t -> PrelBase.Int -> b -> t2 -> [HappyState b ([HappyAbsSyn t11 [([PrelBase.Char], t3)] t3] -> t1)] -> [HappyAbsSyn t11 [([PrelBase.Char], t3)] t3] -> t1 ;
@@ -18,9 +17,9 @@ instance {PrelShow.Show Token} = zdfShowToken;
 1 happyGoto :: __forall [t b c] => (PrelBase.Int -> PrelBase.Int -> b -> HappyState b c -> [HappyState b c] -> c) -> PrelBase.Int -> b -> t -> [HappyState b c] -> c ;
 1 happyMonadReduce :: __forall [a b b1 t] => PrelBase.Int -> PrelBase.Int -> (t -> b1) -> ([b1] -> t) -> PrelBase.Int -> b -> HappyState b ([b1] -> [Token] -> a) -> [HappyState b ([b1] -> [Token] -> a)] -> [b1] -> [Token] -> a ;
 1 happyNewToken :: __forall [t t1] => (PrelBase.Int -> PrelBase.Int -> Token -> HappyState Token (t -> [Token] -> t1) -> [HappyState Token (t -> [Token] -> t1)] -> t -> [Token] -> t1) -> [HappyState Token (t -> [Token] -> t1)] -> t -> [Token] -> t1 ;
-1 happyParse :: __forall [t] => [Token] -> t -> PrelBase.Double ;
+1 happyParse :: __forall [t] => [Token] -> t -> PrelFloat.Double ;
 1 happyReduce :: __forall [t b t1] => PrelBase.Int -> PrelBase.Int -> (t1 -> t1) -> PrelBase.Int -> b -> HappyState b (t1 -> t) -> [HappyState b (t1 -> t)] -> t1 -> t ;
-1 happyReduce_1 :: __forall [t b t1 t2 t3 t4 t31] => PrelBase.Int -> b -> t1 -> [HappyState b ([HappyAbsSyn (t3 -> PrelBase.Double) [(t2, t3 -> t4)] t31] -> t)] -> [HappyAbsSyn (t3 -> PrelBase.Double) [(t2, t3 -> t4)] t31] -> t ;
+1 happyReduce_1 :: __forall [t b t1 t2 t3 t4 t31] => PrelBase.Int -> b -> t1 -> [HappyState b ([HappyAbsSyn (t3 -> PrelFloat.Double) [(t2, t3 -> t4)] t31] -> t)] -> [HappyAbsSyn (t3 -> PrelFloat.Double) [(t2, t3 -> t4)] t31] -> t ;
 1 happyReduce_2 :: __forall [t b t1 t11 t3] => PrelBase.Int -> b -> t1 -> [HappyState b ([HappyAbsSyn t11 [([PrelBase.Char], t3)] t3] -> t)] -> [HappyAbsSyn t11 [([PrelBase.Char], t3)] t3] -> t ;
 1 happyReduce_3 :: __forall [t b t1 t11 t2 t21] => PrelBase.Int -> b -> t1 -> [HappyState b ([HappyAbsSyn t11 t2 (t21 -> PrelBase.Int)] -> t)] -> [HappyAbsSyn t11 t2 (t21 -> PrelBase.Int)] -> t ;
 1 happyReturn :: __forall [t t1] => t -> t1 -> t ;
@@ -31,6 +30,6 @@ instance {PrelShow.Show Token} = zdfShowToken;
 1 happySpecReduce_3 :: __forall [t b t1 t2] => PrelBase.Int -> (t1 -> t1 -> t1 -> t1) -> PrelBase.Int -> b -> t -> [HappyState b ([t1] -> t2)] -> [t1] -> t2 ;
 1 happyThen :: __forall [t t1] => t -> (t -> t1) -> t1 ;
 1 main :: PrelIOBase.IO PrelBase.Z0T ;
-1 myparser :: __forall [t] => [Token] -> t -> PrelBase.Double ;
+1 myparser :: __forall [t] => [Token] -> t -> PrelFloat.Double ;
 1 notHappyAtAll :: __forall [t] => t ;
 1 zdfShowToken :: {PrelShow.Show Token} ;
diff --git a/ghc/tests/typecheck/should_compile/tc096.stderr b/ghc/tests/typecheck/should_compile/tc096.stderr
index a4a65d7b46ba..f3f0fa777c10 100644
--- a/ghc/tests/typecheck/should_compile/tc096.stderr
+++ b/ghc/tests/typecheck/should_compile/tc096.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed main x;
 1 main :: PrelIOBase.IO PrelBase.Z0T ;
-1 x :: PrelBase.Double ;
+1 x :: PrelFloat.Double ;
diff --git a/ghc/tests/typecheck/should_compile/tc097.stderr b/ghc/tests/typecheck/should_compile/tc097.stderr
index a1fa0597066f..ef87be89e550 100644
--- a/ghc/tests/typecheck/should_compile/tc097.stderr
+++ b/ghc/tests/typecheck/should_compile/tc097.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Monad2{MkMonad2} halfListMonad;
 1 data Monad2 m :: (* -> *) = MkMonad2 (__forall [a] => a -> m a) (__forall [b a] => m a -> (a -> m b) -> m b) ;
 1 halfListMonad :: (__forall [b a] => [a] -> (a -> [b]) -> [b]) -> Monad2 PrelBase.ZMZN ;
diff --git a/ghc/tests/typecheck/should_compile/tc098.stderr b/ghc/tests/typecheck/should_compile/tc098.stderr
index 2633b8075295..a6328800063b 100644
--- a/ghc/tests/typecheck/should_compile/tc098.stderr
+++ b/ghc/tests/typecheck/should_compile/tc098.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldSucceed Cp cpPairs m mp;
 1 cpPairs :: __forall [j a] => Cp  [j] -> (a, [j]) -> (a, [j]) -> PrelBase.Ordering ;
 1 m :: __forall [a] => {PrelBase.Eq a} -> Cp  a -> [a] -> a ;
diff --git a/ghc/tests/typecheck/should_compile/tc099.stderr b/ghc/tests/typecheck/should_compile/tc099.stderr
index ac5b29caf2b7..89fc5efc55de 100644
--- a/ghc/tests/typecheck/should_compile/tc099.stderr
+++ b/ghc/tests/typecheck/should_compile/tc099.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldCompile f g;
 1 f :: __forall [a b] => {PrelBase.Eq a} -> (a, b) ;
 1 g :: __forall [a b] => {PrelBase.Eq a} -> (a, b) ;
diff --git a/ghc/tests/typecheck/should_compile/tc100.stderr b/ghc/tests/typecheck/should_compile/tc100.stderr
index 46f80b1844b3..d271659b8e83 100644
--- a/ghc/tests/typecheck/should_compile/tc100.stderr
+++ b/ghc/tests/typecheck/should_compile/tc100.stderr
@@ -1,4 +1,3 @@
-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 ;
diff --git a/ghc/tests/typecheck/should_compile/tc101.stderr b/ghc/tests/typecheck/should_compile/tc101.stderr
index 1f2d81be1510..f12ea9fdd952 100644
--- a/ghc/tests/typecheck/should_compile/tc101.stderr
+++ b/ghc/tests/typecheck/should_compile/tc101.stderr
@@ -1,4 +1,3 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldCompile A f x;
 1 f :: __forall [a] => (A   a -> a -> PrelBase.Z0T) -> PrelBase.Z0T ;
 1 type A a = PrelBase.Z0T ;
diff --git a/ghc/tests/typecheck/should_compile/tc102.stderr b/ghc/tests/typecheck/should_compile/tc102.stderr
index 23a5c218b50e..94966a1f84fe 100644
--- a/ghc/tests/typecheck/should_compile/tc102.stderr
+++ b/ghc/tests/typecheck/should_compile/tc102.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export ShouldCompile p;
 1 p :: __forall [a] => a -> a ;
diff --git a/ghc/tests/typecheck/should_compile/tc103.stderr b/ghc/tests/typecheck/should_compile/tc103.stderr
index 46f80b1844b3..d271659b8e83 100644
--- a/ghc/tests/typecheck/should_compile/tc103.stderr
+++ b/ghc/tests/typecheck/should_compile/tc103.stderr
@@ -1,4 +1,3 @@
-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 ;
diff --git a/ghc/tests/typecheck/should_compile/tc104.stderr b/ghc/tests/typecheck/should_compile/tc104.stderr
index 8d6352dc9115..4b0bc3c5149d 100644
--- a/ghc/tests/typecheck/should_compile/tc104.stderr
+++ b/ghc/tests/typecheck/should_compile/tc104.stderr
@@ -1,3 +1,2 @@
-ghc: module version changed to 1; reason: no old .hi file
 __export Main main;
 1 main :: __forall [a] => PrelIOBase.IO (a -> a) ;
diff --git a/ghc/tests/typecheck/should_fail/tcfail006.stderr b/ghc/tests/typecheck/should_fail/tcfail006.stderr
index 71f71558ece3..257abfb89824 100644
--- a/ghc/tests/typecheck/should_fail/tcfail006.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail006.stderr
@@ -1,7 +1,8 @@
 
 tcfail006.hs:4:
     No instance for `Num Bool'
-	arising from the literal `1' at tcfail006.hs:4
+    arising from the literal `1' at tcfail006.hs:4
+    In the right-hand side of a case alternative: (True, 1)
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail007.stderr b/ghc/tests/typecheck/should_fail/tcfail007.stderr
index 0dd23484c4ac..e29d70ee6be5 100644
--- a/ghc/tests/typecheck/should_fail/tcfail007.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail007.stderr
@@ -1,7 +1,8 @@
 
 tcfail007.hs:3:
     No instance for `Num Bool'
-	arising from use of `+' at tcfail007.hs:3
+    arising from use of `+' at tcfail007.hs:3
+    In the right-hand side of an equation for `n': x + 1
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail008.stderr b/ghc/tests/typecheck/should_fail/tcfail008.stderr
index 974fa4af4ce8..3a731b7a322d 100644
--- a/ghc/tests/typecheck/should_fail/tcfail008.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail008.stderr
@@ -1,13 +1,15 @@
 
 tcfail008.hs:3:
-    Ambiguous type variable(s) `t'
-	in the constraint `Num [t]'
-	arising from the literal `2' at tcfail008.hs:3
+    Ambiguous type variable(s) `t' in the constraint `Num [t]'
+    arising from the literal `2' at tcfail008.hs:3
+    In the second argument of `:', namely `2'
+    In the right-hand side of a pattern binding: 1 : 2
 
 tcfail008.hs:3:
-    Ambiguous type variable(s) `t'
-	in the constraint `Num t'
-	arising from the literal `1' at tcfail008.hs:3
+    Ambiguous type variable(s) `t' in the constraint `Num t'
+    arising from the literal `1' at tcfail008.hs:3
+    In the first argument of `:', namely `1'
+    In the right-hand side of a pattern binding: 1 : 2
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail010.stderr b/ghc/tests/typecheck/should_fail/tcfail010.stderr
index 25fb03f8e930..4543690accf3 100644
--- a/ghc/tests/typecheck/should_fail/tcfail010.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail010.stderr
@@ -1,8 +1,8 @@
 
 tcfail010.hs:3:
-    Ambiguous type variable(s) `t'
-	in the constraint `Num [t]'
-	arising from use of `+' at tcfail010.hs:3
+    Ambiguous type variable(s) `t' in the constraint `Num [t]'
+    arising from use of `+' at tcfail010.hs:3
+    In the right-hand side of a lambda abstraction: z + 2
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail015.stderr b/ghc/tests/typecheck/should_fail/tcfail015.stderr
index c088740d41d7..b14fcb541279 100644
--- a/ghc/tests/typecheck/should_fail/tcfail015.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail015.stderr
@@ -1,7 +1,8 @@
 
 tcfail015.hs:7:
     No instance for `Num Bool'
-	arising from the literal `2' at tcfail015.hs:7
+    arising from the literal `2' at tcfail015.hs:7
+    In the right-hand side of an equation for `g': 2
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail017.stderr b/ghc/tests/typecheck/should_fail/tcfail017.stderr
index c7a3d243af57..5ae7a65a6079 100644
--- a/ghc/tests/typecheck/should_fail/tcfail017.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail017.stderr
@@ -1,11 +1,9 @@
 
 tcfail017.hs:10:
-    Could not deduce `C [a]'
-	(arising from an instance declaration at tcfail017.hs:10)
-	from the context: (B a)
+    Could not deduce `C [a]' from the context: (B a)
     Probable cause: missing `C [a]' in instance declaration context
 		    or missing instance declaration for `C [a]'
-    When checking the superclasses of an instance declaration
+    arising from an instance declaration at tcfail017.hs:10
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail018.stderr b/ghc/tests/typecheck/should_fail/tcfail018.stderr
index 6dcb28ed28a9..6a5a91982969 100644
--- a/ghc/tests/typecheck/should_fail/tcfail018.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail018.stderr
@@ -1,8 +1,8 @@
 
 tcfail018.hs:5:
-    Ambiguous type variable(s) `t'
-	in the constraint `Num [t]'
-	arising from the literal `1' at tcfail018.hs:5
+    Ambiguous type variable(s) `t' in the constraint `Num [t]'
+    arising from the literal `1' at tcfail018.hs:5
+    In the right-hand side of a pattern binding: 1
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail019.stderr b/ghc/tests/typecheck/should_fail/tcfail019.stderr
index 055b3e875dc3..83435550f05f 100644
--- a/ghc/tests/typecheck/should_fail/tcfail019.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail019.stderr
@@ -1,19 +1,15 @@
 
 tcfail019.hs:18:
-    Could not deduce `C [a]'
-	(arising from an instance declaration at tcfail019.hs:18)
-	from the context: ()
+    Could not deduce `C [a]' from the context: ()
     Probable cause: missing `C [a]' in instance declaration context
 		    or missing instance declaration for `C [a]'
-    When checking the superclasses of an instance declaration
+    arising from an instance declaration at tcfail019.hs:18
 
 tcfail019.hs:18:
-    Could not deduce `B [a]'
-	(arising from an instance declaration at tcfail019.hs:18)
-	from the context: ()
+    Could not deduce `B [a]' from the context: ()
     Probable cause: missing `B [a]' in instance declaration context
 		    or missing instance declaration for `B [a]'
-    When checking the superclasses of an instance declaration
+    arising from an instance declaration at tcfail019.hs:18
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail020.stderr b/ghc/tests/typecheck/should_fail/tcfail020.stderr
index 0dbc1912d3d5..dddbe048ad71 100644
--- a/ghc/tests/typecheck/should_fail/tcfail020.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail020.stderr
@@ -1,11 +1,9 @@
 
 tcfail020.hs:10:
-    Could not deduce `A [a]'
-	(arising from an instance declaration at tcfail020.hs:10)
-	from the context: (A a)
+    Could not deduce `A [a]' from the context: (A a)
     Probable cause: missing `A [a]' in instance declaration context
 		    or missing instance declaration for `A [a]'
-    When checking the superclasses of an instance declaration
+    arising from an instance declaration at tcfail020.hs:10
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail029.stderr b/ghc/tests/typecheck/should_fail/tcfail029.stderr
index 7e83c6d73240..001f6655b6a5 100644
--- a/ghc/tests/typecheck/should_fail/tcfail029.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail029.stderr
@@ -1,6 +1,8 @@
 
 tcfail029.hs:6:
-    No instance for `Ord Foo' arising from use of `>' at tcfail029.hs:6
+    No instance for `Ord Foo'
+    arising from use of `>' at tcfail029.hs:6
+    In the right-hand side of an equation for `f': x > Bar
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail034.stderr b/ghc/tests/typecheck/should_fail/tcfail034.stderr
index 891502162174..0f1169db0977 100644
--- a/ghc/tests/typecheck/should_fail/tcfail034.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail034.stderr
@@ -1,10 +1,10 @@
 
 tcfail034.hs:17:
-    Could not deduce `Integral a'
-	(arising from use of `mod' at tcfail034.hs:17)
-	from the context: (Num a, Eq a)
+    Could not deduce `Integral a' from the context: (Num a, Eq a)
     Probable cause: missing `Integral a' in type signature for `test'
-    When checking the type signature(s) for `test'
+    arising from use of `mod' at tcfail034.hs:17
+    In the first argument of `==', namely `(x `mod` 3)'
+    In the right-hand side of an equation for `test': (x `mod` 3) == 0
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail035.stderr b/ghc/tests/typecheck/should_fail/tcfail035.stderr
index da6d72fc0787..8cac31e83ccf 100644
--- a/ghc/tests/typecheck/should_fail/tcfail035.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail035.stderr
@@ -1,44 +1,4 @@
 
-tcfail035.hs:6:
-    Warning: No explicit method nor default method for `+'
-	     in an instance declaration for `Num'
-
-tcfail035.hs:6:
-    Warning: No explicit method nor default method for `*'
-	     in an instance declaration for `Num'
-
-tcfail035.hs:6:
-    Warning: No explicit method nor default method for `abs'
-	     in an instance declaration for `Num'
-
-tcfail035.hs:6:
-    Warning: No explicit method nor default method for `signum'
-	     in an instance declaration for `Num'
-
-tcfail035.hs:6:
-    Warning: No explicit method nor default method for `fromInteger'
-	     in an instance declaration for `Num'
-
-tcfail035.hs:7:
-    Warning: No explicit method nor default method for `+'
-	     in an instance declaration for `Num'
-
-tcfail035.hs:7:
-    Warning: No explicit method nor default method for `*'
-	     in an instance declaration for `Num'
-
-tcfail035.hs:7:
-    Warning: No explicit method nor default method for `abs'
-	     in an instance declaration for `Num'
-
-tcfail035.hs:7:
-    Warning: No explicit method nor default method for `signum'
-	     in an instance declaration for `Num'
-
-tcfail035.hs:7:
-    Warning: No explicit method nor default method for `fromInteger'
-	     in an instance declaration for `Num'
-
 tcfail035.hs:3:
     Duplicate or overlapping instance declarations
 	for `Num NUM'
diff --git a/ghc/tests/typecheck/should_fail/tcfail036.stderr b/ghc/tests/typecheck/should_fail/tcfail036.stderr
index 482401b99150..9d0679bd672c 100644
--- a/ghc/tests/typecheck/should_fail/tcfail036.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail036.stderr
@@ -1,40 +1,4 @@
 
-tcfail036.hs:6:
-    Warning: No explicit method nor default method for `*'
-	     in an instance declaration for `Num'
-
-tcfail036.hs:6:
-    Warning: No explicit method nor default method for `abs'
-	     in an instance declaration for `Num'
-
-tcfail036.hs:6:
-    Warning: No explicit method nor default method for `signum'
-	     in an instance declaration for `Num'
-
-tcfail036.hs:6:
-    Warning: No explicit method nor default method for `fromInteger'
-	     in an instance declaration for `Num'
-
-tcfail036.hs:8:
-    Warning: No explicit method nor default method for `+'
-	     in an instance declaration for `Num'
-
-tcfail036.hs:8:
-    Warning: No explicit method nor default method for `*'
-	     in an instance declaration for `Num'
-
-tcfail036.hs:8:
-    Warning: No explicit method nor default method for `abs'
-	     in an instance declaration for `Num'
-
-tcfail036.hs:8:
-    Warning: No explicit method nor default method for `signum'
-	     in an instance declaration for `Num'
-
-tcfail036.hs:8:
-    Warning: No explicit method nor default method for `fromInteger'
-	     in an instance declaration for `Num'
-
 tcfail036.hs:3:
     Duplicate or overlapping instance declarations
 	for `Num NUM'
@@ -42,11 +6,11 @@ tcfail036.hs:3:
 
 tcfail036.hs:8:
     No instance for `Show NUM'
-	arising from an instance declaration at tcfail036.hs:8
+    arising from an instance declaration at tcfail036.hs:8
 
 tcfail036.hs:8:
     No instance for `Eq NUM'
-	arising from an instance declaration at tcfail036.hs:8
+    arising from an instance declaration at tcfail036.hs:8
 
 tcfail036.hs:9:
     Class used as a type constructor: Num
diff --git a/ghc/tests/typecheck/should_fail/tcfail040.stderr b/ghc/tests/typecheck/should_fail/tcfail040.stderr
index eb774c9a9923..737c07cc3636 100644
--- a/ghc/tests/typecheck/should_fail/tcfail040.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail040.stderr
@@ -1,8 +1,9 @@
 
 tcfail040.hs:19:
-    Ambiguous type variable(s) `a'
-	in the constraint `ORD a'
-	arising from use of `<<' at tcfail040.hs:19
+    Ambiguous type variable(s) `a' in the constraint `ORD a'
+    arising from use of `<<' at tcfail040.hs:19
+    In the first argument of `===', namely `<<'
+    In the right-hand side of a pattern binding: << === <<
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail042.stderr b/ghc/tests/typecheck/should_fail/tcfail042.stderr
index 11126bed8bff..363fc20fe4f2 100644
--- a/ghc/tests/typecheck/should_fail/tcfail042.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail042.stderr
@@ -1,10 +1,8 @@
 
 tcfail042.hs:15:
-    Could not deduce `Num a'
-	(arising from an instance declaration at tcfail042.hs:15)
-	from the context: (Eq a, Show a)
+    Could not deduce `Num a' from the context: (Eq a, Show a)
     Probable cause: missing `Num a' in instance declaration context
-    When checking the superclasses of an instance declaration
+    arising from an instance declaration at tcfail042.hs:15
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail043.stderr b/ghc/tests/typecheck/should_fail/tcfail043.stderr
index 1c5404785382..0a4804fd3cad 100644
--- a/ghc/tests/typecheck/should_fail/tcfail043.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail043.stderr
@@ -1,8 +1,13 @@
 
 tcfail043.hs:38:
-    Ambiguous type variable(s) `a'
-	in the constraint `Ord_ a'
-	arising from use of `gt' at tcfail043.hs:38
+    Ambiguous type variable(s) `a' in the constraint `Ord_ a'
+    arising from use of `gt' at tcfail043.hs:38
+    In the predicate expression: gt (hd bs) a
+    In the right-hand side of a lambda abstraction:
+	if gt (hd bs) a then
+	    False
+	else
+	    if eq a (hd bs) then True else search a (tl bs)
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail044.stderr b/ghc/tests/typecheck/should_fail/tcfail044.stderr
index a477db2fd0c3..cc762197e10b 100644
--- a/ghc/tests/typecheck/should_fail/tcfail044.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail044.stderr
@@ -1,12 +1,4 @@
 
-tcfail044.hs:8:
-    Warning: No explicit method nor default method for `abs'
-	     in an instance declaration for `Num'
-
-tcfail044.hs:8:
-    Warning: No explicit method nor default method for `signum'
-	     in an instance declaration for `Num'
-
 tcfail044.hs:5:
     Illegal instance declaration for `Eq (a -> a)'
 	(the instance type must be of form (T a b c)
diff --git a/ghc/tests/typecheck/should_fail/tcfail046.stderr b/ghc/tests/typecheck/should_fail/tcfail046.stderr
index 9d5307d3bc1e..37ddafcb69df 100644
--- a/ghc/tests/typecheck/should_fail/tcfail046.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail046.stderr
@@ -1,7 +1,7 @@
 
 tcfail046.hs:4:
     No instance for `Eq (Process a)'
-    When deriving classes for `Message'
+    When deriving classes for `Continuation'
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail067.stderr b/ghc/tests/typecheck/should_fail/tcfail067.stderr
index 2fc16546903b..b0a04cf1cebc 100644
--- a/ghc/tests/typecheck/should_fail/tcfail067.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail067.stderr
@@ -1,40 +1,28 @@
 
 tcfail067.hs:60:
-    Warning: No explicit method nor default method for `abs'
-	     in an instance declaration for `Num'
-
-tcfail067.hs:60:
-    Warning: No explicit method nor default method for `signum'
-	     in an instance declaration for `Num'
-
-tcfail067.hs:60:
-    Could not deduce `Show (SubRange a)'
-	(arising from an instance declaration at tcfail067.hs:60)
-	from the context: (Num a)
+    Could not deduce `Show (SubRange a)' from the context: (Num a)
     Probable cause: missing `Show (SubRange a)'
 		    in instance declaration context
 		    or missing instance declaration for `Show (SubRange a)'
-    When checking the superclasses of an instance declaration
+    arising from an instance declaration at tcfail067.hs:60
 
 tcfail067.hs:61:
     Could not deduce `Ord a'
-	(arising from use of `numSubRangeNegate' at tcfail067.hs:61)
 	from the context: (Num (SubRange a),
 			   Num a,
 			   Eq (SubRange a),
-			   Show (SubRange a),
-			   Eq (SubRange a),
 			   Show (SubRange a))
     Probable cause: missing `Ord a' in instance declaration context
-    When checking the methods of an instance declaration
+    arising from use of `numSubRangeNegate' at tcfail067.hs:61
+    In the right-hand side of a pattern binding: numSubRangeNegate
 
 tcfail067.hs:74:
-    Could not deduce `Ord a'
-	(arising from use of `SubRange' at tcfail067.hs:74)
-	from the context: (Num a)
+    Could not deduce `Ord a' from the context: (Num a)
     Probable cause: missing `Ord a'
 		    in type signature for `numSubRangeBinOp'
-    When checking the type signature(s) for `numSubRangeBinOp'
+    arising from use of `SubRange' at tcfail067.hs:74
+    In the right-hand side of an equation for `numSubRangeBinOp':
+	SubRange (result, result) result
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail072.stderr b/ghc/tests/typecheck/should_fail/tcfail072.stderr
index a54ff9863ef1..2f1915da5b07 100644
--- a/ghc/tests/typecheck/should_fail/tcfail072.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail072.stderr
@@ -1,13 +1,13 @@
 
 tcfail072.hs:23:
-    Ambiguous type variable(s) `p'
-	in the constraint `Ord p'
-	arising from use of `g' at tcfail072.hs:23
+    Ambiguous type variable(s) `p' in the constraint `Ord p'
+    arising from use of `g' at tcfail072.hs:23
+    In the right-hand side of an equation for `g': g A
 
 tcfail072.hs:23:
-    Ambiguous type variable(s) `q'
-	in the constraint `Ord q'
-	arising from use of `g' at tcfail072.hs:23
+    Ambiguous type variable(s) `q' in the constraint `Ord q'
+    arising from use of `g' at tcfail072.hs:23
+    In the right-hand side of an equation for `g': g A
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail073.stderr b/ghc/tests/typecheck/should_fail/tcfail073.stderr
index b4d0a9868a57..aaaefc3b32a6 100644
--- a/ghc/tests/typecheck/should_fail/tcfail073.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail073.stderr
@@ -2,14 +2,13 @@
 tcfail073.hs:3:
     Duplicate or overlapping instance declarations
 	for `Eq (a, b)'
-	    imported from module `PrelTup' and defined at tcfail073.hs:7
+	    defined at tcfail073.hs:7 and imported from module `PrelTup'
 
 tcfail073.hs:8:
-    Could not deduce `Eq a'
-	(arising from use of `==' at tcfail073.hs:8)
-	from the context: (Eq (a, b))
+    Could not deduce `Eq a' from the context: (Eq (a, b))
     Probable cause: missing `Eq a' in instance declaration context
-    When checking the methods of an instance declaration
+    arising from use of `==' at tcfail073.hs:8
+    In the right-hand side of an equation for `==': m == o
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail080.stderr b/ghc/tests/typecheck/should_fail/tcfail080.stderr
index dd2eaf2d0c87..ebed17d42fab 100644
--- a/ghc/tests/typecheck/should_fail/tcfail080.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail080.stderr
@@ -1,8 +1,9 @@
 
 tcfail080.hs:11:
-    Ambiguous type variable(s) `c'
-	in the constraint `Collection c a'
-	arising from use of `isempty' at tcfail080.hs:11
+    Ambiguous type variable(s) `c' in the constraint `Collection c a'
+    arising from use of `isempty' at tcfail080.hs:11
+    In the right-hand side of an equation for `q':
+	isempty (singleton x)
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail082.stderr b/ghc/tests/typecheck/should_fail/tcfail082.stderr
index df3b4743a161..7d714eeebb35 100644
--- a/ghc/tests/typecheck/should_fail/tcfail082.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail082.stderr
@@ -6,7 +6,9 @@ tcfail082.hs:1:
 
 tcfail082.hs:8:
     No instance for `Show FooData'
-	arising from use of `print' at tcfail082.hs:8
+    arising from use of `print' at tcfail082.hs:8
+    In the right-hand side of a pattern binding:
+	print ((read "FooData") :: FooData)
 
 Compilation had errors
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail084.stderr b/ghc/tests/typecheck/should_fail/tcfail084.stderr
index 5e54fb2b20f1..85e1440f5636 100644
--- a/ghc/tests/typecheck/should_fail/tcfail084.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail084.stderr
@@ -1,6 +1,7 @@
 
 tcfail084.hs:10:
     Constructor `F' does not have field `y'
+    In the record construction: F {y = 2}
     In the right-hand side of a pattern binding: F {y = 2}
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail085.stderr b/ghc/tests/typecheck/should_fail/tcfail085.stderr
index 2fc211da64aa..7b1637be6444 100644
--- a/ghc/tests/typecheck/should_fail/tcfail085.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail085.stderr
@@ -1,6 +1,7 @@
 
 tcfail085.hs:9:
     Constructor `F' does not have the required strict field `y'
+    In the record construction: F {x = 2}
     In the right-hand side of a pattern binding: F {x = 2}
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail086.stderr b/ghc/tests/typecheck/should_fail/tcfail086.stderr
index 4f961bcd768b..bb585193de89 100644
--- a/ghc/tests/typecheck/should_fail/tcfail086.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail086.stderr
@@ -1,6 +1,6 @@
 
 tcfail086.hs:4:
-    Can't derive any instances for type Ex
+    Can't derive any instances for type `Ex'
     because it has existentially-quantified constructor(s)
 
 Compilation had errors
-- 
GitLab