From 5b1f426196193d23988d0ae171f268acc45f4bd2 Mon Sep 17 00:00:00 2001
From: simonm <unknown>
Date: Tue, 16 Dec 1997 17:20:50 +0000
Subject: [PATCH] [project @ 1997-12-16 17:15:04 by simonm] update tests for
 2.10

---
 ghc/tests/ccall/should_compile/Makefile       |   3 +-
 ghc/tests/ccall/should_fail/cc004.stderr      |   4 +-
 ghc/tests/codeGen/Makefile                    |   3 +
 ghc/tests/codeGen/should_run/cg025.hs         |   2 +-
 ghc/tests/codeGen/should_run/cg025.stderr     |   4 +-
 ghc/tests/codeGen/should_run/cg030.hs         |   4 +-
 ghc/tests/deSugar/Makefile                    |   9 +
 .../deriving/should_compile/drv001.stderr     |   4 +-
 .../deriving/should_compile/drv002.stderr     |   4 +-
 .../deriving/should_compile/drv003.stderr     |   4 +-
 .../deriving/should_compile/drv004.stderr     |   4 +-
 .../deriving/should_compile/drv005.stderr     |   4 +-
 .../deriving/should_compile/drv006.stderr     |   4 +-
 .../deriving/should_compile/drv008.stderr     |   4 +-
 .../deriving/should_compile/drv009.stderr     |   4 +-
 .../deriving/should_compile/drv010.stderr     |   4 +-
 .../deriving/should_fail/drvfail004.stderr    |   2 +-
 .../printing/should_compile/Print001.stderr   |  52 +--
 .../printing/should_compile/Print002.stderr   | 400 +++++++++---------
 .../printing/should_compile/Print003.stderr   |   6 +-
 .../printing/should_compile/Print004.stderr   |  84 ++--
 ghc/tests/reader/should_fail/read001.stderr   |   7 +-
 ghc/tests/reader/should_fail/read003.stderr   |   6 +-
 .../typecheck/should_compile/ShouldSucceed.hi |   7 -
 .../typecheck/should_compile/tc001.stderr     |   4 +-
 .../typecheck/should_compile/tc002.stderr     |   4 +-
 .../typecheck/should_compile/tc003.stderr     |   4 +-
 .../typecheck/should_compile/tc004.stderr     |   2 +-
 .../typecheck/should_compile/tc005.stderr     |   4 +-
 .../typecheck/should_compile/tc006.stderr     |   4 +-
 .../typecheck/should_compile/tc007.stderr     |   4 +-
 .../typecheck/should_compile/tc008.stderr     |   4 +-
 .../typecheck/should_compile/tc009.stderr     |   4 +-
 .../typecheck/should_compile/tc010.stderr     |   4 +-
 .../typecheck/should_compile/tc011.stderr     |   2 +-
 .../typecheck/should_compile/tc012.stderr     |   2 +-
 .../typecheck/should_compile/tc013.stderr     |   4 +-
 .../typecheck/should_compile/tc014.stderr     |   4 +-
 .../typecheck/should_compile/tc015.stderr     |   2 +-
 .../typecheck/should_compile/tc016.stderr     |   2 +-
 .../typecheck/should_compile/tc017.stderr     |   4 +-
 .../typecheck/should_compile/tc018.stderr     |   4 +-
 .../typecheck/should_compile/tc019.stderr     |   4 +-
 .../typecheck/should_compile/tc020.stderr     |   2 +-
 .../typecheck/should_compile/tc021.stderr     |   2 +-
 .../typecheck/should_compile/tc022.stderr     |   2 +-
 .../typecheck/should_compile/tc023.stderr     |   2 +-
 .../typecheck/should_compile/tc024.stderr     |   2 +-
 .../typecheck/should_compile/tc025.stderr     |   2 +-
 .../typecheck/should_compile/tc026.stderr     |   2 +-
 .../typecheck/should_compile/tc027.stderr     |   2 +-
 .../typecheck/should_compile/tc028.stderr     |   2 +-
 .../typecheck/should_compile/tc029.stderr     |   4 +-
 .../typecheck/should_compile/tc030.stderr     |   2 +-
 .../typecheck/should_compile/tc031.stderr     |   4 +-
 .../typecheck/should_compile/tc032.stderr     |   4 +-
 .../typecheck/should_compile/tc033.stderr     |   4 +-
 .../typecheck/should_compile/tc034.stderr     |   4 +-
 .../typecheck/should_compile/tc035.stderr     |   4 +-
 .../typecheck/should_compile/tc036.stderr     |   4 +-
 .../typecheck/should_compile/tc037.stderr     |   2 +-
 .../typecheck/should_compile/tc038.stderr     |   4 +-
 .../typecheck/should_compile/tc039.stderr     |   4 +-
 .../typecheck/should_compile/tc040.stderr     |   4 +-
 .../typecheck/should_compile/tc041.stderr     |   2 +-
 .../typecheck/should_compile/tc042.stderr     |   4 +-
 .../typecheck/should_compile/tc043.stderr     |   4 +-
 .../typecheck/should_compile/tc044.stderr     |   2 +-
 .../typecheck/should_compile/tc045.stderr     |   2 +-
 .../typecheck/should_compile/tc046.stderr     |   2 +-
 .../typecheck/should_compile/tc047.stderr     |   2 +-
 .../typecheck/should_compile/tc048.stderr     |   4 +-
 .../typecheck/should_compile/tc049.stderr     |   4 +-
 .../typecheck/should_compile/tc050.stderr     |   4 +-
 .../typecheck/should_compile/tc051.stderr     |   2 +-
 .../typecheck/should_compile/tc052.stderr     |   2 +-
 .../typecheck/should_compile/tc053.stderr     |   4 +-
 .../typecheck/should_compile/tc054.stderr     |   4 +-
 .../typecheck/should_compile/tc055.stderr     |   2 +-
 .../typecheck/should_compile/tc056.stderr     |   4 +-
 .../typecheck/should_compile/tc057.stderr     |   4 +-
 .../typecheck/should_compile/tc058.stderr     |   4 +-
 .../typecheck/should_compile/tc059.stderr     |   4 +-
 .../typecheck/should_compile/tc060.stderr     |   2 +-
 .../typecheck/should_compile/tc061.stderr     |   2 +-
 .../typecheck/should_compile/tc062.stderr     |   2 +-
 .../typecheck/should_compile/tc063.stderr     |   4 +-
 .../typecheck/should_compile/tc064.stderr     |   4 +-
 .../typecheck/should_compile/tc065.stderr     |   4 +-
 .../typecheck/should_compile/tc066.stderr     |   4 +-
 .../typecheck/should_compile/tc067.stderr     |   2 +-
 .../typecheck/should_compile/tc068.stderr     |   4 +-
 .../typecheck/should_compile/tc069.stderr     |   2 +-
 .../typecheck/should_compile/tc070.stderr     |   4 +-
 .../typecheck/should_compile/tc073.stderr     |   2 +-
 .../typecheck/should_compile/tc074.stderr     |   4 +-
 .../typecheck/should_compile/tc076.stderr     |   4 +-
 .../typecheck/should_compile/tc077.stderr     |   4 +-
 .../typecheck/should_compile/tc078.stderr     |   4 +-
 .../typecheck/should_compile/tc079.stderr     |   4 +-
 .../typecheck/should_compile/tc080.stderr     |   4 +-
 .../typecheck/should_compile/tc081.stderr     |   4 +-
 .../typecheck/should_compile/tc082.stderr     |   2 +-
 .../typecheck/should_compile/tc084.stderr     |   4 +-
 .../typecheck/should_compile/tc085.stderr     |   8 +-
 .../typecheck/should_compile/tc086.stderr     |   4 +-
 .../typecheck/should_compile/tc087.stderr     |   4 +-
 .../typecheck/should_compile/tc088.stderr     |   4 +-
 .../typecheck/should_compile/tc089.stderr     |   2 +-
 .../typecheck/should_compile/tc090.stderr     |   4 +-
 .../typecheck/should_compile/tc091.stderr     |   4 +-
 .../typecheck/should_compile/tc092.stderr     |   4 +-
 .../typecheck/should_compile/tc093.stderr     |   4 +-
 .../typecheck/should_fail/Digraph.stderr      |   4 +-
 .../typecheck/should_fail/tcfail001.stderr    |   6 +-
 .../typecheck/should_fail/tcfail002.stderr    |   6 +-
 .../typecheck/should_fail/tcfail004.stderr    |   6 +-
 .../typecheck/should_fail/tcfail005.stderr    |   6 +-
 .../typecheck/should_fail/tcfail008.stderr    |   4 +-
 .../typecheck/should_fail/tcfail010.stderr    |   4 +-
 .../typecheck/should_fail/tcfail012.stderr    |   4 +-
 .../typecheck/should_fail/tcfail013.stderr    |   4 +-
 .../typecheck/should_fail/tcfail014.stderr    |   8 +-
 .../typecheck/should_fail/tcfail016.stderr    |   6 +-
 .../typecheck/should_fail/tcfail017.stderr    |   2 +-
 .../typecheck/should_fail/tcfail018.stderr    |   4 +-
 .../typecheck/should_fail/tcfail019.stderr    |   8 +-
 .../typecheck/should_fail/tcfail020.stderr    |   2 +-
 .../typecheck/should_fail/tcfail028.stderr    |   4 +-
 .../typecheck/should_fail/tcfail032.stderr    |   4 +-
 .../typecheck/should_fail/tcfail033.stderr    |   6 +-
 .../typecheck/should_fail/tcfail034.stderr    |   4 +-
 .../typecheck/should_fail/tcfail040.stderr    |   4 +-
 .../typecheck/should_fail/tcfail042.stderr    |   4 +-
 .../typecheck/should_fail/tcfail065.stderr    |   4 +-
 .../typecheck/should_fail/tcfail067.stderr    |   8 +-
 .../typecheck/should_fail/tcfail068.stderr    |  16 +-
 .../typecheck/should_fail/tcfail069.stderr    |   4 +-
 .../typecheck/should_fail/tcfail070.stderr    |   4 +-
 .../typecheck/should_fail/tcfail071.stderr    |   6 +-
 .../typecheck/should_fail/tcfail072.stderr    |   4 +-
 .../typecheck/should_fail/tcfail073.stderr    |   4 +-
 .../typecheck/should_fail/tcfail076.stderr    |   4 +-
 143 files changed, 541 insertions(+), 538 deletions(-)
 create mode 100644 ghc/tests/deSugar/Makefile
 delete mode 100644 ghc/tests/typecheck/should_compile/ShouldSucceed.hi

diff --git a/ghc/tests/ccall/should_compile/Makefile b/ghc/tests/ccall/should_compile/Makefile
index 10cee83a1c82..9634fb1743e4 100644
--- a/ghc/tests/ccall/should_compile/Makefile
+++ b/ghc/tests/ccall/should_compile/Makefile
@@ -12,7 +12,6 @@ cc002_HC_OPTS = -noC
 cc003_HC_OPTS = -noC
 cc004_HC_OPTS = -noC
 cc005_HC_OPTS = -fvia-C
-cc006_HC_OPTS = -fvia-C
-cc007_HC_OPTS = -fvia-C
+cc006_HC_OPTS = -fvia-C -fno-prune-tydecls
 
 include $(TOP)/mk/target.mk
diff --git a/ghc/tests/ccall/should_fail/cc004.stderr b/ghc/tests/ccall/should_fail/cc004.stderr
index 5ee6d6d57760..cad85c70abd4 100644
--- a/ghc/tests/ccall/should_fail/cc004.stderr
+++ b/ghc/tests/ccall/should_fail/cc004.stderr
@@ -1,8 +1,8 @@
  
 cc004.hs:2: Cannot generalise these overloadings (in a _ccall_):
-		`CReturnable taLM'
+		`CReturnable taL8'
  
 cc004.hs:2: Cannot generalise these overloadings (in a _ccall_):
-		`CReturnable taMJ'
+		`CReturnable taM5'
 
 Compilation had errors
diff --git a/ghc/tests/codeGen/Makefile b/ghc/tests/codeGen/Makefile
index edb79eabbbe7..1860de22a99e 100644
--- a/ghc/tests/codeGen/Makefile
+++ b/ghc/tests/codeGen/Makefile
@@ -1,3 +1,6 @@
+#-----------------------------------------------------------------------------
+# $Id: Makefile,v 1.3 1997/12/16 17:15:11 simonm Exp $
+
 TOP = ..
 include $(TOP)/mk/boilerplate.mk
 
diff --git a/ghc/tests/codeGen/should_run/cg025.hs b/ghc/tests/codeGen/should_run/cg025.hs
index 9700086ec2a8..618e3b14c2e6 100644
--- a/ghc/tests/codeGen/should_run/cg025.hs
+++ b/ghc/tests/codeGen/should_run/cg025.hs
@@ -11,7 +11,7 @@ main = do
     args <- getArgs
     hPutStr stderr (shows args "\n")
     path <- getEnv "PATH"
-    hPutStr stderr (shows path "\n")
+    hPutStr stderr ("GOT PATH\n")
     stdin_txt <- getContents
     putStr stdin_txt
     file_cts <- readFile (head args)
diff --git a/ghc/tests/codeGen/should_run/cg025.stderr b/ghc/tests/codeGen/should_run/cg025.stderr
index 6be7131e16dd..337406e16352 100644
--- a/ghc/tests/codeGen/should_run/cg025.stderr
+++ b/ghc/tests/codeGen/should_run/cg025.stderr
@@ -1,6 +1,6 @@
 "cg025.bin"
 ["cg025.hs"]
-"/bin:/usr/bin:/users/ets/simonm/bin:/users/ets/simonm/bin/i386-unknown-freebsd:/usr/local/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/usr/local/X11R6/bin:/local/fp/bin:/local/fp/bin/i386-unknown-freebsd:/local/ets/go/i386-unknown-freebsd:/usr/local/teTeX/bin"
+GOT PATH
 --!!! test various I/O Requests
 --
 --
@@ -14,7 +14,7 @@ main = do
     args <- getArgs
     hPutStr stderr (shows args "\n")
     path <- getEnv "PATH"
-    hPutStr stderr (shows path "\n")
+    hPutStr stderr ("GOT PATH\n")
     stdin_txt <- getContents
     putStr stdin_txt
     file_cts <- readFile (head args)
diff --git a/ghc/tests/codeGen/should_run/cg030.hs b/ghc/tests/codeGen/should_run/cg030.hs
index e5bb55ee5a87..7f468897f0fc 100644
--- a/ghc/tests/codeGen/should_run/cg030.hs
+++ b/ghc/tests/codeGen/should_run/cg030.hs
@@ -1,6 +1,6 @@
-module GHCmain(mainPrimIO) where
+module GHCmain(mainIO) where
 
 import ST
 import STBase
 
-mainPrimIO = _ccall_ puts "123\n" >> return ()
+mainIO = _ccall_ puts "123\n" >> return ()
diff --git a/ghc/tests/deSugar/Makefile b/ghc/tests/deSugar/Makefile
new file mode 100644
index 000000000000..0ad524993e17
--- /dev/null
+++ b/ghc/tests/deSugar/Makefile
@@ -0,0 +1,9 @@
+#-----------------------------------------------------------------------------
+# $Id: Makefile,v 1.1 1997/12/16 17:15:23 simonm Exp $
+
+TOP = ..
+include $(TOP)/mk/boilerplate.mk
+
+SUBDIRS = should_compile should_run
+
+include $(TOP)/mk/target.mk
diff --git a/ghc/tests/deriving/should_compile/drv001.stderr b/ghc/tests/deriving/should_compile/drv001.stderr
index d3658a590153..2f7bcdcc836a 100644
--- a/ghc/tests/deriving/should_compile/drv001.stderr
+++ b/ghc/tests/deriving/should_compile/drv001.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d15 1 $d16 1 $d2 1 $d22 1 $d23 1 $d24 1 $d25 1 $d27 1 $d28 1 $d3 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 . 1 showList__ 1 showParen 1 showSpace 1 showString 1 Eq 1 Eval 1 Monad 1 MonadPlus 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Show 1 ShowS 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d12 1 $d13 1 $d15 1 $d16 1 $d17 1 $d18 1 $d2 1 $d20 1 $d21 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d6 1 $d7 1 $d8 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 . 1 showList__ 1 showParen 1 showSpace 1 showString 1 Eq 1 Eval 1 Monad 1 MonadPlus 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Show 1 ShowS 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d29 1 $d33 1 $d34 1 $d35 1;
 PrelRead 1 :: $d10 1 $d11 1 $d14 1 $d15 1 $d16 1 $d4 1 $d5 1 $d6 1 $d8 1 $mreadList 1 lex 1 readList__ 1 readParen 1 Read 1 ReadS 1;
 PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
diff --git a/ghc/tests/deriving/should_compile/drv002.stderr b/ghc/tests/deriving/should_compile/drv002.stderr
index ee83144632d3..c73405643cc9 100644
--- a/ghc/tests/deriving/should_compile/drv002.stderr
+++ b/ghc/tests/deriving/should_compile/drv002.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d15 1 $d16 1 $d2 1 $d22 1 $d23 1 $d24 1 $d25 1 $d27 1 $d28 1 $d3 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 . 1 showList__ 1 showParen 1 showSpace 1 showString 1 Eq 1 Eval 1 Monad 1 MonadPlus 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Show 1 ShowS 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d12 1 $d13 1 $d15 1 $d16 1 $d17 1 $d18 1 $d2 1 $d20 1 $d21 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d6 1 $d7 1 $d8 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 . 1 showList__ 1 showParen 1 showSpace 1 showString 1 Eq 1 Eval 1 Monad 1 MonadPlus 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Show 1 ShowS 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d29 1 $d33 1 $d34 1 $d35 1;
 PrelRead 1 :: $d10 1 $d11 1 $d14 1 $d15 1 $d16 1 $d4 1 $d5 1 $d6 1 $d8 1 $mreadList 1 lex 1 readList__ 1 readParen 1 Read 1 ReadS 1;
 PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
diff --git a/ghc/tests/deriving/should_compile/drv003.stderr b/ghc/tests/deriving/should_compile/drv003.stderr
index d6de897fe168..42282b150ce8 100644
--- a/ghc/tests/deriving/should_compile/drv003.stderr
+++ b/ghc/tests/deriving/should_compile/drv003.stderr
@@ -7,9 +7,9 @@ drv003.hs:12: Warning: no explicit method nor default method for `=='
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d16 1 $d2 1 $d33 1 $d38 1 $d40 1 $d42 1 $d47 1 $d8 1 $m/= 1 && 1 not 1 Eq 1 Eval 1;
+PrelBase 1 :: $d13 1 $d2 1 $d26 1 $d29 1 $d31 1 $d33 1 $d38 1 $d7 1 $m/= 1 && 1 not 1 Eq 1 Eval 1;
 PrelNum 1 :: $d18 1;
 _exports_
 ShouldSucceed Bar(MkBar) Foo(MkFoo) Ping T(C1 C2 C3);
diff --git a/ghc/tests/deriving/should_compile/drv004.stderr b/ghc/tests/deriving/should_compile/drv004.stderr
index 8d0ecdc3db01..8ba1521f441f 100644
--- a/ghc/tests/deriving/should_compile/drv004.stderr
+++ b/ghc/tests/deriving/should_compile/drv004.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d15 1 $d16 1 $d2 1 $d27 1 $d28 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d40 1 $d42 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d7 1 $d8 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 && 1 . 1 not 1 Eq 1 Eval 1 Ord 1 Ordering 1 String 1;
+PrelBase 1 :: $d12 1 $d13 1 $d2 1 $d20 1 $d21 1 $d26 1 $d27 1 $d28 1 $d29 1 $d30 1 $d31 1 $d33 1 $d36 1 $d37 1 $d38 1 $d39 1 $d40 1 $d41 1 $d6 1 $d7 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 && 1 . 1 not 1 Eq 1 Eval 1 Ord 1 Ordering 1 String 1;
 PrelNum 1 :: $d17 1 $d18 1;
 _exports_
 ShouldSucceed Foo(C1 C2 C3);
diff --git a/ghc/tests/deriving/should_compile/drv005.stderr b/ghc/tests/deriving/should_compile/drv005.stderr
index e760118a44ac..dbb57606cc04 100644
--- a/ghc/tests/deriving/should_compile/drv005.stderr
+++ b/ghc/tests/deriving/should_compile/drv005.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d14 1 $d2 1 $d26 1 $d31 1 $d38 1 $d40 1 $d42 1 $d45 1 $d47 1 $d6 1 $menumFromThenTo 1 $menumFromTo 1 Enum 1 Eval 1 Functor 1;
+PrelBase 1 :: $d11 1 $d19 1 $d2 1 $d24 1 $d29 1 $d31 1 $d33 1 $d36 1 $d38 1 $d5 1 $menumFromThenTo 1 $menumFromTo 1 Enum 1 Eval 1 Functor 1;
 PrelNum 1 :: $d8 1;
 _exports_
 ShouldSucceed Foo(Foo1 Foo2 Foo3 Foo4 Foo5 Foo6 Foo7 Foo8);
diff --git a/ghc/tests/deriving/should_compile/drv006.stderr b/ghc/tests/deriving/should_compile/drv006.stderr
index f4fb7f55509c..d80fb98a0f76 100644
--- a/ghc/tests/deriving/should_compile/drv006.stderr
+++ b/ghc/tests/deriving/should_compile/drv006.stderr
@@ -1,10 +1,10 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
 Ix 1 :: $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 Ix 1;
-PrelBase 1 :: $d1 1 $d11 1 $d12 1 $d14 1 $d15 1 $d16 1 $d2 1 $d22 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d3 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 && 1 . 1 not 1 showList__ 1 showParen 1 showSpace 1 showString 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Ordering 1 Show 1 ShowS 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d11 1 $d12 1 $d13 1 $d15 1 $d17 1 $d18 1 $d19 1 $d2 1 $d20 1 $d21 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 && 1 . 1 not 1 showList__ 1 showParen 1 showSpace 1 showString 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Ordering 1 Show 1 ShowS 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d28 1 $d29 1 $d30 1 $d33 1 $d34 1 $d35 1 $d8 1;
 PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
 _exports_
diff --git a/ghc/tests/deriving/should_compile/drv008.stderr b/ghc/tests/deriving/should_compile/drv008.stderr
index 88ccb2ddb852..530ab488cc58 100644
--- a/ghc/tests/deriving/should_compile/drv008.stderr
+++ b/ghc/tests/deriving/should_compile/drv008.stderr
@@ -3,10 +3,10 @@ NOTE: Simplifier still going after 4 iterations; bailing out.
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
 Ix 1 :: $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 Ix 1;
-PrelBase 1 :: $d1 1 $d11 1 $d12 1 $d14 1 $d15 1 $d16 1 $d2 1 $d22 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d3 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 && 1 . 1 not 1 showList__ 1 showParen 1 showSpace 1 showString 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Ordering 1 Show 1 ShowS 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d11 1 $d12 1 $d13 1 $d15 1 $d17 1 $d18 1 $d19 1 $d2 1 $d20 1 $d21 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 && 1 . 1 not 1 showList__ 1 showParen 1 showSpace 1 showString 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Ordering 1 Show 1 ShowS 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d28 1 $d29 1 $d30 1 $d33 1 $d34 1 $d35 1 $d8 1;
 PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
 _exports_
diff --git a/ghc/tests/deriving/should_compile/drv009.stderr b/ghc/tests/deriving/should_compile/drv009.stderr
index 20d6d0ead2b9..9e100b1a5799 100644
--- a/ghc/tests/deriving/should_compile/drv009.stderr
+++ b/ghc/tests/deriving/should_compile/drv009.stderr
@@ -1,10 +1,10 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
 Ix 1 :: $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 Ix 1;
-PrelBase 1 :: $d1 1 $d11 1 $d12 1 $d14 1 $d15 1 $d16 1 $d2 1 $d22 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d3 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 && 1 . 1 not 1 showList__ 1 showParen 1 showSpace 1 showString 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Ordering 1 Show 1 ShowS 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d11 1 $d12 1 $d13 1 $d15 1 $d17 1 $d18 1 $d19 1 $d2 1 $d20 1 $d21 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 && 1 . 1 not 1 showList__ 1 showParen 1 showSpace 1 showString 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Ordering 1 Show 1 ShowS 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d28 1 $d29 1 $d30 1 $d33 1 $d34 1 $d35 1 $d8 1;
 PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
 _exports_
diff --git a/ghc/tests/deriving/should_compile/drv010.stderr b/ghc/tests/deriving/should_compile/drv010.stderr
index 2f2a16129133..fb864e2bd2d8 100644
--- a/ghc/tests/deriving/should_compile/drv010.stderr
+++ b/ghc/tests/deriving/should_compile/drv010.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d14 1 $d2 1 $d26 1 $d31 1 $d38 1 $d40 1 $d42 1 $d45 1 $d47 1 $d6 1 $menumFromThenTo 1 $menumFromTo 1 Enum 1 Eval 1 Functor 1;
+PrelBase 1 :: $d11 1 $d19 1 $d2 1 $d24 1 $d29 1 $d31 1 $d33 1 $d36 1 $d38 1 $d5 1 $menumFromThenTo 1 $menumFromTo 1 Enum 1 Eval 1 Functor 1;
 PrelNum 1 :: $d8 1;
 _exports_
 ShouldSucceed AD(A B C D);
diff --git a/ghc/tests/deriving/should_fail/drvfail004.stderr b/ghc/tests/deriving/should_fail/drvfail004.stderr
index 3d36a66ba54c..0359270fc7eb 100644
--- a/ghc/tests/deriving/should_fail/drvfail004.stderr
+++ b/ghc/tests/deriving/should_fail/drvfail004.stderr
@@ -1,5 +1,5 @@
  
-drvfail004.hs:5: No instance for: `Eq (Foo taGu taGv)'
+drvfail004.hs:5: No instance for: `Eq (Foo taFR taFS)'
     arising from an instance declaration at drvfail004.hs:5
     When checking superclass constraints of an instance declaration
 
diff --git a/ghc/tests/printing/should_compile/Print001.stderr b/ghc/tests/printing/should_compile/Print001.stderr
index c618477a1d33..cf1f04cfbb06 100644
--- a/ghc/tests/printing/should_compile/Print001.stderr
+++ b/ghc/tests/printing/should_compile/Print001.stderr
@@ -3,47 +3,47 @@ BarNil{-r8,x-}{i} = _/\_ a_tr4J -> BarNil{-r8,x-}{i} {_@_ a_tr4J}
 BarCon{-r7,x-}{i} =
     _/\_ a_tr4J -> \ tpl_B1 tpl_B2 ->
 	BarCon{-r7,x-}{i} {_@_ a_tr4J tpl_B1 tpl_B2}
-MkFoo{-r4Q,x-}{i} =
+MkFoo{-r4P,x-}{i} =
     _/\_ d_tr4L e_tr4M f_tr4N -> \ tpl_B1 tpl_B2 tpl_B3 ->
-	MkFoo{-r4Q,x-}{i}
+	MkFoo{-r4P,x-}{i}
 	    {_@_ d_tr4L _@_ e_tr4M _@_ f_tr4N tpl_B1 tpl_B2 tpl_B3}
-AbsBinds [ta118, ta119] [] [([ta119, ta118], g{-r4A,x-}, g_a12b)]
-    g_a12b x_r4H = lit_a12j
+AbsBinds [ta10v, ta10w] [] [([ta10w, ta10v], g{-r4A,x-}, g_a11y)]
+    g_a11y x_r4H = lit_a11z
 AbsBinds
-[ta11m, ta11n, ta11o]
-[d.Eq_a11q, d.Ord_a11r, d.Ix_a11s]
-[([ta11m, ta11n, ta11o], f2{-r4z,x-}, f2_a12k)]
-    f2_a12k x_r4F = x_r4F
+[ta10J, ta10K, ta10L]
+[d.Eq_a10N, d.Ord_a10O, d.Ix_a10P]
+[([ta10J, ta10K, ta10L], f2{-r4z,x-}, f2_a11H)]
+    f2_a11H x_r4F = x_r4F
 AbsBinds
-[ta11C, ta11D, ta11E]
-[d.Eq_a11G]
-[([ta11C, ta11D, ta11E], f{-r4y,x-}, f_a12l)]
-    f_a12l x_r4D = x_r4D
+[ta10Z, ta110, ta111]
+[d.Eq_a113]
+[([ta10Z, ta110, ta111], f{-r4y,x-}, f_a11I)]
+    f_a11I x_r4D = x_r4D
 AbsBinds
-[ta11L, ta11N, ta11P]
+[ta118, ta11a, ta11c]
 []
-[([ta11L, ta11N, ta11P], mkFoo{-r4B,x-}, mkFoo_a12m)]
-    mkFoo_a12m = MkFoo{-r4Q,x-}{i} [ta11L, ta11N, ta11P]
-AbsBinds [ta127] [] [([ta127], $d1{-r12f,x-}, d.Eval_a11V)]
-    d.Eval_a11V = ({-dict-} [] [])
+[([ta118, ta11a, ta11c], mkFoo{-r4B,x-}, mkFoo_a11J)]
+    mkFoo_a11J = MkFoo{-r4P,x-}{i} [ta118, ta11a, ta11c]
+AbsBinds [ta11u] [] [([ta11u], $d1{-r11G,x-}, d.Eval_a11i)]
+    d.Eval_a11i = ({-dict-} [] [])
 AbsBinds
-[ta128, ta129, ta12a]
+[ta11v, ta11x, ta11w]
 []
-[([ta128, ta129, ta12a], $d2{-r12h,x-}, d.Eval_a123)]
-    d.Eval_a123 = ({-dict-} [] [])
-d.Fractional_a126 = PrelNum.$d23{-rFn,p-}
-fromRational_a12i =
+[([ta11v, ta11x, ta11w], $d2{-r11F,x-}, d.Eval_a11q)]
+    d.Eval_a11q = ({-dict-} [] [])
+d.Fractional_a11t = PrelNum.$d23{-rE3,p-}
+fromRational_a11A =
     PrelNum.fromRational{-8U,p-} PrelBase.Float{-3c,W-}
-	d.Fractional_a126
-lit_a12j = fromRational_a12i 2.0000000000000000
+	d.Fractional_a11t
+lit_a11z = fromRational_a11A 2.0
 
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ Print001 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
 Ix 1 :: $d3 1 $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 Ix 1;
-PrelBase 1 :: $d1 1 $d11 1 $d12 1 $d14 1 $d15 1 $d16 1 $d2 1 $d22 1 $d27 1 $d28 1 $d3 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 Enum 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d11 1 $d12 1 $d13 1 $d15 1 $d2 1 $d20 1 $d21 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d32 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 Enum 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 String 1;
 PrelNum 1 :: $d1 1 $d10 1 $d14 1 $d15 1 $d16 1 $d17 1 $d18 1 $d19 1 $d2 1 $d23 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d29 1 $d30 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $mdiv 1 $mdivMod 1 $mmod 1 $mquot 1 $mrecip 1 $mrem 1 Fractional 1 Integral 1 Ratio 1 Rational 1 Real 1;
 PrelTup 1 :: $d10 1 $d13 1 $d14 1 $d3 1 $d4 1 $d49 1 $d50 1 $d9 1;
 _exports_
diff --git a/ghc/tests/printing/should_compile/Print002.stderr b/ghc/tests/printing/should_compile/Print002.stderr
index 897ddb10165a..65e59e766192 100644
--- a/ghc/tests/printing/should_compile/Print002.stderr
+++ b/ghc/tests/printing/should_compile/Print002.stderr
@@ -11,263 +11,263 @@ MkFoo3{-rm,x-}{i} =
 :***{-ro,x-}{i} =
     _/\_ a_tr4k b_tr4l c_tr4m -> \ tpl_B1 tpl_B2 ->
 	:***{-ro,x-}{i} {_@_ a_tr4k _@_ b_tr4l _@_ c_tr4m tpl_B1 tpl_B2}
-AbsBinds [taIx] [d.Bar_aIA] [([taIx], f3d{-r4o,x-}, f3d_aTU)]
-    /////_aTV = /////{-r4C,x-} taIx d.Bar_aIA
-    f3d_aTU x_r48 y_r49 = x_r48 /////_aTV y_r49
-AbsBinds [taIR] [d.Bar_aIU] [([taIR], f3c{-r4p,x-}, f3c_aU0)]
-    /////_aU1 = /////{-r4C,x-} taIR d.Bar_aIU
-    f3c_aU0 x_r45 y_r46 = /////_aU1 x_r45 y_r46
-AbsBinds [taJb] [d.Bar_aJe] [([taJb], f3b{-r4q,x-}, f3b_aU2)]
-    meth1_aU3 = meth1{-r4B,x-} taJb d.Bar_aJe
-    f3b_aU2 x_r42 y_r43 = x_r42 meth1_aU3 y_r43
-AbsBinds [taJv] [d.Bar_aJy] [([taJv], f3a{-r4r,x-}, f3a_aU4)]
-    meth1_aU5 = meth1{-r4B,x-} taJv d.Bar_aJy
-    f3a_aU4 x_r3Z y_r40 = meth1_aU5 x_r3Z y_r40
+AbsBinds [taHU] [d.Bar_aHX] [([taHU], f3d{-r4o,x-}, f3d_aTh)]
+    /////_aTi = /////{-r4B,x-} taHU d.Bar_aHX
+    f3d_aTh x_r48 y_r49 = x_r48 /////_aTi y_r49
+AbsBinds [taIe] [d.Bar_aIh] [([taIe], f3c{-r4p,x-}, f3c_aTn)]
+    /////_aTo = /////{-r4B,x-} taIe d.Bar_aIh
+    f3c_aTn x_r45 y_r46 = /////_aTo x_r45 y_r46
+AbsBinds [taIy] [d.Bar_aIB] [([taIy], f3b{-r4q,x-}, f3b_aTp)]
+    meth1_aTq = meth1{-r4C,x-} taIy d.Bar_aIB
+    f3b_aTp x_r42 y_r43 = x_r42 meth1_aTq y_r43
+AbsBinds [taIS] [d.Bar_aIV] [([taIS], f3a{-r4r,x-}, f3a_aTr)]
+    meth1_aTs = meth1{-r4C,x-} taIS d.Bar_aIV
+    f3a_aTr x_r3Z y_r40 = meth1_aTs x_r3Z y_r40
 AbsBinds
-[taJZ, taK1, taK3]
+[taJm, taJo, taJq]
 []
-[([taJZ, taK1, taK3], <<<<{-r4s,x-}, <<<<_aU6)]
-    <<<<_aU6 x_r3T y_r3U
-	     = :***{-ro,x-}{i} [taJZ, taK1, taK3] x_r3T y_r3U
-    <<<<_aU6 x_r3W y_r3X
-	     = :***{-ro,x-}{i} [taJZ, taK1, taK3] x_r3W y_r3X
+[([taJm, taJo, taJq], <<<<{-r4s,x-}, <<<<_aTt)]
+    <<<<_aTt x_r3T y_r3U
+	     = :***{-ro,x-}{i} [taJm, taJo, taJq] x_r3T y_r3U
+    <<<<_aTt x_r3W y_r3X
+	     = :***{-ro,x-}{i} [taJm, taJo, taJq] x_r3W y_r3X
 AbsBinds
-[taKk, taKm, taKo]
+[taJH, taJJ, taJL]
 []
-[([taKk, taKm, taKo], .....{-r4t,x-}, ....._aU7)]
-    ....._aU7 x_r3Q y_r3R
-	      = MkFoo3{-rm,x-}{i} [taKk, taKm, taKo] x_r3Q y_r3R
+[([taJH, taJJ, taJL], .....{-r4t,x-}, ....._aTu)]
+    ....._aTu x_r3Q y_r3R
+	      = MkFoo3{-rm,x-}{i} [taJH, taJJ, taJL] x_r3Q y_r3R
 AbsBinds
-[taKF, taKH, taKJ]
+[taK2, taK4, taK6]
 []
-[([taKF, taKH, taKJ], ....{-r4u,x-}, ...._aU8)]
-    ...._aU8 x_r3N y_r3O
-	     = MkFoo3{-rm,x-}{i} [taKF, taKH, taKJ] x_r3N y_r3O
+[([taK2, taK4, taK6], ....{-r4u,x-}, ...._aTv)]
+    ...._aTv x_r3N y_r3O
+	     = MkFoo3{-rm,x-}{i} [taK2, taK4, taK6] x_r3N y_r3O
 AbsBinds
-[taL0, taL2, taL4]
+[taKn, taKp, taKr]
 []
-[([taL0, taL2, taL4], f2a{-r4v,x-}, f2a_aU9)]
-    f2a_aU9 x_r3K y_r3L = :##{-rj,x-}{i} [taL0, taL2, taL4] x_r3K y_r3L
+[([taKn, taKp, taKr], f2a{-r4v,x-}, f2a_aTw)]
+    f2a_aTw x_r3K y_r3L = :##{-rj,x-}{i} [taKn, taKp, taKr] x_r3K y_r3L
 AbsBinds
-[taLl, taLn, taLp]
+[taKI, taKK, taKM]
 []
-[([taLl, taLn, taLp], f2{-r4w,x-}, f2_aUa)]
-    f2_aUa x_r3H y_r3I = :##{-rj,x-}{i} [taLl, taLn, taLp] x_r3H y_r3I
+[([taKI, taKK, taKM], f2{-r4w,x-}, f2_aTx)]
+    f2_aTx x_r3H y_r3I = :##{-rj,x-}{i} [taKI, taKK, taKM] x_r3H y_r3I
 AbsBinds
-[taLG, taLI, taLK]
+[taL3, taL5, taL7]
 []
-[([taLG, taLI, taLK], f1a{-r4x,x-}, f1a_aUb)]
-    f1a_aUb x_r3E y_r3F
-	    = MkFoo1{-rk,x-}{i} [taLG, taLI, taLK] x_r3E y_r3F
+[([taL3, taL5, taL7], f1a{-r4x,x-}, f1a_aTy)]
+    f1a_aTy x_r3E y_r3F
+	    = MkFoo1{-rk,x-}{i} [taL3, taL5, taL7] x_r3E y_r3F
 AbsBinds
-[taM1, taM3, taM5]
+[taLo, taLq, taLs]
 []
-[([taM1, taM3, taM5], f1{-r4y,x-}, f1_aUc)]
-    f1_aUc x_r3B y_r3C
-	   = MkFoo1{-rk,x-}{i} [taM1, taM3, taM5] x_r3B y_r3C
+[([taLo, taLq, taLs], f1{-r4y,x-}, f1_aTz)]
+    f1_aTz x_r3B y_r3C
+	   = MkFoo1{-rk,x-}{i} [taLo, taLq, taLs] x_r3B y_r3C
 AbsBinds
-[taMM, taMP, taMQ]
+[taM9, taMc, taMd]
 []
-[([taMM, taMP, taMQ], con2tag_Foo#_rFK, con2tag_Foo#_aUd)]
-    con2tag_Foo#_aUd (MkFoo1{-rk,x-}{i} _ _) = 0#
-    con2tag_Foo#_aUd (:##{-rj,x-}{i} _ _) = 1#
-    con2tag_Foo#_aUd (MkFoo3{-rm,x-}{i} _ _) = 2#
-    con2tag_Foo#_aUd (:***{-ro,x-}{i} _ _) = 3#
+[([taM9, taMc, taMd], con2tag_Foo#_rF7, con2tag_Foo#_aTA)]
+    con2tag_Foo#_aTA (MkFoo1{-rk,x-}{i} _ _) = 0#
+    con2tag_Foo#_aTA (:##{-rj,x-}{i} _ _) = 1#
+    con2tag_Foo#_aTA (MkFoo3{-rm,x-}{i} _ _) = 2#
+    con2tag_Foo#_aTA (:***{-ro,x-}{i} _ _) = 3#
 AbsBinds
-[taN8, taNb, taNe]
-[d.Eq_aOZ, d.Eq_aP0, d.Eq_aP1]
-[([taN8, taNb, taNe], $d1{-rTW,x-}, d.Eq_aMY)]
-    d.Eq_aP5 = d.Eq_aOZ
-    ==_aUe = PrelBase.=={-8Z,p-} taN8 d.Eq_aP5
-    d.Eq_aP7 = d.Eq_aP0
-    ==_aUf = PrelBase.=={-8Z,p-} taNb d.Eq_aP7
-    d.Eq_aP9 = d.Eq_aP1
-    ==_aUg = PrelBase.=={-8Z,p-} taNe d.Eq_aP9
-    ==_aUh = ==_aUi
-    AbsBinds [] [] [([], ==_aUi, ==_aUk)]
-	==_aUl = ==_aUe
-	==_aUm = ==_aUf
-	==_aUn = ==_aUf
-	==_aUo = ==_aUg
-	==_aUp = ==_aUg
-	==_aUk (MkFoo1{-rk,x-}{i} a1_rFT a2_rFU)
-	       (MkFoo1{-rk,x-}{i} b1_rFV b2_rFW)
-	       = (a1_rFT ==_aUe b1_rFV)
-		 PrelBase.&&{-rgw,p-} (a2_rFU ==_aUl b2_rFW)
-	==_aUk (:##{-rj,x-}{i} a1_rFY a2_rFZ)
-	       (:##{-rj,x-}{i} b1_rG0 b2_rG1)
-	       = (a1_rFY ==_aUf b1_rG0)
-		 PrelBase.&&{-rgw,p-} (a2_rFZ ==_aUg b2_rG1)
-	==_aUk (MkFoo3{-rm,x-}{i} a1_rG3 a2_rG4)
-	       (MkFoo3{-rm,x-}{i} b1_rG5 b2_rG6)
-	       = (a1_rG3 ==_aUm b1_rG5)
-		 PrelBase.&&{-rgw,p-} (a2_rG4 ==_aUn b2_rG6)
-	==_aUk (:***{-ro,x-}{i} a1_rG8 a2_rG9)
-	       (:***{-ro,x-}{i} b1_rGa b2_rGb)
-	       = (a1_rG8 ==_aUo b1_rGa)
-		 PrelBase.&&{-rgw,p-} (a2_rG9 ==_aUp b2_rGb)
-	==_aUk a_rGd b_rGe = PrelBase.False{-58,w-}{i}
-    AbsBinds [] [] [([], /=_aUj, /=_aUq)]
-	/=_aUq a_rGi b_rGj = PrelBase.not{-rhu,p-} ==_aUh a_rGi b_rGj
-    d.Eq_aMY = ({-dict-} [] [==_aUi, /=_aUj])
+[taMv, taMy, taMB]
+[d.Eq_aOm, d.Eq_aOn, d.Eq_aOo]
+[([taMv, taMy, taMB], $d1{-rTm,x-}, d.Eq_aMl)]
+    d.Eq_aOs = d.Eq_aOm
+    ==_aTG = PrelBase.=={-8Z,p-} taMv d.Eq_aOs
+    d.Eq_aOu = d.Eq_aOn
+    ==_aTF = PrelBase.=={-8Z,p-} taMy d.Eq_aOu
+    d.Eq_aOw = d.Eq_aOo
+    ==_aTE = PrelBase.=={-8Z,p-} taMB d.Eq_aOw
+    ==_aTD = ==_aTC
+    AbsBinds [] [] [([], ==_aTC, ==_aTH)]
+	==_aTM = ==_aTG
+	==_aTL = ==_aTF
+	==_aTK = ==_aTF
+	==_aTJ = ==_aTE
+	==_aTI = ==_aTE
+	==_aTH (MkFoo1{-rk,x-}{i} a1_rFg a2_rFh)
+	       (MkFoo1{-rk,x-}{i} b1_rFi b2_rFj)
+	       = (a1_rFg ==_aTG b1_rFi)
+		 PrelBase.&&{-rfg,p-} (a2_rFh ==_aTM b2_rFj)
+	==_aTH (:##{-rj,x-}{i} a1_rFl a2_rFm)
+	       (:##{-rj,x-}{i} b1_rFn b2_rFo)
+	       = (a1_rFl ==_aTF b1_rFn)
+		 PrelBase.&&{-rfg,p-} (a2_rFm ==_aTE b2_rFo)
+	==_aTH (MkFoo3{-rm,x-}{i} a1_rFq a2_rFr)
+	       (MkFoo3{-rm,x-}{i} b1_rFs b2_rFt)
+	       = (a1_rFq ==_aTL b1_rFs)
+		 PrelBase.&&{-rfg,p-} (a2_rFr ==_aTK b2_rFt)
+	==_aTH (:***{-ro,x-}{i} a1_rFv a2_rFw)
+	       (:***{-ro,x-}{i} b1_rFx b2_rFy)
+	       = (a1_rFv ==_aTJ b1_rFx)
+		 PrelBase.&&{-rfg,p-} (a2_rFw ==_aTI b2_rFy)
+	==_aTH a_rFA b_rFB = PrelBase.False{-58,w-}{i}
+    AbsBinds [] [] [([], /=_aTB, /=_aTN)]
+	/=_aTN a_rFF b_rFG = PrelBase.not{-rga,p-} ==_aTD a_rFF b_rFG
+    d.Eq_aMl = ({-dict-} [] [==_aTC, /=_aTB])
 AbsBinds
-[taTP, taTQ, taTR]
+[taTc, taTe, taTd]
 []
-[([taTP, taTQ, taTR], $d2{-rTX,x-}, d.Eval_aPk)]
-    d.Eval_aPk = ({-dict-} [] [])
+[([taTc, taTe, taTd], $d2{-rTl,x-}, d.Eval_aOH)]
+    d.Eval_aOH = ({-dict-} [] [])
 AbsBinds
-[taPy, taPz, taPA]
-[d.Ord_aTt, d.Ord_aTu, d.Ord_aTv, d.Eq_aTw]
-[([taPy, taPz, taPA], $d3{-rTY,x-}, d.Ord_aPs)]
-    d.Eq_aTs = d.Eq_aTw
-    d.Ord_aSg = d.Ord_aTt
-    d.Ord_aSh = d.Ord_aTu
-    d.Ord_aSi = d.Ord_aTv
-    compare_aUr = compare_aUx
-    compare_aUs = compare_aUx
-    compare_aUt = compare_aUx
-    compare_aUu = compare_aUx
-    compare_aUv = compare_aUx
-    compare_aUw = compare_aUx
-    AbsBinds [] [] [([], compare_aUx, compare_aUE)]
-	compare_aUE a_rHb b_rHc
-		    = case con2tag_Foo#_rFK [taPA, taPy, taPz] a_rHb of
-			a#_rHZ
-			-> case con2tag_Foo#_rFK [taPA, taPy, taPz] b_rHc of
-			     b#_rI1
-			     -> if a#_rHZ GHC.==#{-79,w-}{I} b#_rI1 then
-				    case cmp_eq_aUF a_rHb b_rHc of
-				      PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
+[taOV, taOW, taOX]
+[d.Ord_aSP, d.Ord_aSQ, d.Ord_aSR, d.Eq_aSS]
+[([taOV, taOW, taOX], $d3{-rTk,x-}, d.Ord_aOP)]
+    d.Eq_aST = d.Eq_aSS
+    d.Ord_aRD = d.Ord_aSP
+    d.Ord_aRE = d.Ord_aSQ
+    d.Ord_aRF = d.Ord_aSR
+    compare_aU0 = compare_aTU
+    compare_aTZ = compare_aTU
+    compare_aTY = compare_aTU
+    compare_aTX = compare_aTU
+    compare_aTW = compare_aTU
+    compare_aTV = compare_aTU
+    AbsBinds [] [] [([], compare_aTU, compare_aU1)]
+	compare_aU1 a_rGy b_rGz
+		    = case con2tag_Foo#_rF7 [taOX, taOV, taOW] a_rGy of
+			a#_rHm
+			-> case con2tag_Foo#_rF7 [taOX, taOV, taOW] b_rGz of
+			     b#_rHo
+			     -> if a#_rHm GHC.==#{-79,w-}{I} b#_rHo then
+				    case cmp_eq_aU2 a_rGy b_rGz of
+				      PrelBase.LT{-ram,p-}{i} -> PrelBase.LT{-ram,p-}{i}
 				      PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
-				      PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
+				      PrelBase.GT{-ran,p-}{i} -> PrelBase.GT{-ran,p-}{i}
 				else
-				    if a#_rHZ GHC.<#{-7b,w-}{I} b#_rI1 then
-					PrelBase.LT{-rb7,p-}{i}
+				    if a#_rHm GHC.<#{-7b,w-}{I} b#_rHo then
+					PrelBase.LT{-ram,p-}{i}
 				    else
-					PrelBase.GT{-rb8,p-}{i}
+					PrelBase.GT{-ran,p-}{i}
 		    where
 			{- nonrec -}
 			AbsBinds
-			[taRs, taRt, taRA]
-			[d.Ord_aRI, d.Ord_aRK, d.Ord_aRM]
-			[([taRs, taRt, taRA], cmp_eq_rHe, cmp_eq_aUG)]
-			    compare_aUH = PrelBase.compare{-rgL,p-} taRs d.Ord_aRI
-			    compare_aUI = compare_aUH
-			    compare_aUJ = PrelBase.compare{-rgL,p-} taRt d.Ord_aRK
-			    compare_aUK = PrelBase.compare{-rgL,p-} taRA d.Ord_aRM
-			    compare_aUL = compare_aUJ
-			    compare_aUM = compare_aUJ
-			    compare_aUN = compare_aUK
-			    compare_aUO = compare_aUK
-			    cmp_eq_aUG (MkFoo1{-rk,x-}{i} a1_rHg a2_rHh)
-				       (MkFoo1{-rk,x-}{i} b1_rHi b2_rHj)
-				       = case compare_aUH a1_rHg b1_rHi of
-					   PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
+			[taQP, taQQ, taQX]
+			[d.Ord_aR5, d.Ord_aR7, d.Ord_aR9]
+			[([taQP, taQQ, taQX], cmp_eq_rGB, cmp_eq_aU3)]
+			    compare_aUb = PrelBase.compare{-rft,p-} taQP d.Ord_aR5
+			    compare_aUa = compare_aUb
+			    compare_aU9 = PrelBase.compare{-rft,p-} taQQ d.Ord_aR7
+			    compare_aU8 = PrelBase.compare{-rft,p-} taQX d.Ord_aR9
+			    compare_aU7 = compare_aU9
+			    compare_aU6 = compare_aU9
+			    compare_aU5 = compare_aU8
+			    compare_aU4 = compare_aU8
+			    cmp_eq_aU3 (MkFoo1{-rk,x-}{i} a1_rGD a2_rGE)
+				       (MkFoo1{-rk,x-}{i} b1_rGF b2_rGG)
+				       = case compare_aUb a1_rGD b1_rGF of
+					   PrelBase.LT{-ram,p-}{i} -> PrelBase.LT{-ram,p-}{i}
 					   PrelBase.EQ{-r4n,p-}{i}
-					   -> case compare_aUI a2_rHh b2_rHj of
-						PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
+					   -> case compare_aUa a2_rGE b2_rGG of
+						PrelBase.LT{-ram,p-}{i} -> PrelBase.LT{-ram,p-}{i}
 						PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
-						PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
-					   PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
-			    cmp_eq_aUG (:##{-rj,x-}{i} a1_rHr a2_rHs)
-				       (:##{-rj,x-}{i} b1_rHt b2_rHu)
-				       = case compare_aUJ a1_rHr b1_rHt of
-					   PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
+						PrelBase.GT{-ran,p-}{i} -> PrelBase.GT{-ran,p-}{i}
+					   PrelBase.GT{-ran,p-}{i} -> PrelBase.GT{-ran,p-}{i}
+			    cmp_eq_aU3 (:##{-rj,x-}{i} a1_rGO a2_rGP)
+				       (:##{-rj,x-}{i} b1_rGQ b2_rGR)
+				       = case compare_aU9 a1_rGO b1_rGQ of
+					   PrelBase.LT{-ram,p-}{i} -> PrelBase.LT{-ram,p-}{i}
 					   PrelBase.EQ{-r4n,p-}{i}
-					   -> case compare_aUK a2_rHs b2_rHu of
-						PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
+					   -> case compare_aU8 a2_rGP b2_rGR of
+						PrelBase.LT{-ram,p-}{i} -> PrelBase.LT{-ram,p-}{i}
 						PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
-						PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
-					   PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
-			    cmp_eq_aUG (MkFoo3{-rm,x-}{i} a1_rHC a2_rHD)
-				       (MkFoo3{-rm,x-}{i} b1_rHE b2_rHF)
-				       = case compare_aUL a1_rHC b1_rHE of
-					   PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
+						PrelBase.GT{-ran,p-}{i} -> PrelBase.GT{-ran,p-}{i}
+					   PrelBase.GT{-ran,p-}{i} -> PrelBase.GT{-ran,p-}{i}
+			    cmp_eq_aU3 (MkFoo3{-rm,x-}{i} a1_rGZ a2_rH0)
+				       (MkFoo3{-rm,x-}{i} b1_rH1 b2_rH2)
+				       = case compare_aU7 a1_rGZ b1_rH1 of
+					   PrelBase.LT{-ram,p-}{i} -> PrelBase.LT{-ram,p-}{i}
 					   PrelBase.EQ{-r4n,p-}{i}
-					   -> case compare_aUM a2_rHD b2_rHF of
-						PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
+					   -> case compare_aU6 a2_rH0 b2_rH2 of
+						PrelBase.LT{-ram,p-}{i} -> PrelBase.LT{-ram,p-}{i}
 						PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
-						PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
-					   PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
-			    cmp_eq_aUG (:***{-ro,x-}{i} a1_rHN a2_rHO)
-				       (:***{-ro,x-}{i} b1_rHP b2_rHQ)
-				       = case compare_aUN a1_rHN b1_rHP of
-					   PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
+						PrelBase.GT{-ran,p-}{i} -> PrelBase.GT{-ran,p-}{i}
+					   PrelBase.GT{-ran,p-}{i} -> PrelBase.GT{-ran,p-}{i}
+			    cmp_eq_aU3 (:***{-ro,x-}{i} a1_rHa a2_rHb)
+				       (:***{-ro,x-}{i} b1_rHc b2_rHd)
+				       = case compare_aU5 a1_rHa b1_rHc of
+					   PrelBase.LT{-ram,p-}{i} -> PrelBase.LT{-ram,p-}{i}
 					   PrelBase.EQ{-r4n,p-}{i}
-					   -> case compare_aUO a2_rHO b2_rHQ of
-						PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
+					   -> case compare_aU4 a2_rHb b2_rHd of
+						PrelBase.LT{-ram,p-}{i} -> PrelBase.LT{-ram,p-}{i}
 						PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
-						PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
-					   PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
-			    cmp_eq_aUG _ _
+						PrelBase.GT{-ran,p-}{i} -> PrelBase.GT{-ran,p-}{i}
+					   PrelBase.GT{-ran,p-}{i} -> PrelBase.GT{-ran,p-}{i}
+			    cmp_eq_aU3 _ _
 				       = Error.error{-87,w-}
 					     PrelBase.Ordering{-3n,p-} "Urk! in TcGenDeriv"
 			{- nonrec -}
-			cmp_eq_aUF =
-			    cmp_eq_rHe [taPy, taPz, taPA] [d.Ord_aSg, d.Ord_aSh, d.Ord_aSi]
+			cmp_eq_aU2 =
+			    cmp_eq_rGB [taOV, taOW, taOX] [d.Ord_aRD, d.Ord_aRE, d.Ord_aRF]
 			{- nonrec -}
-    AbsBinds [] [] [([], <_aUy, <_aUP)]
-	<_aUP a_rGp b_rGq
-	      = case compare_aUr a_rGp b_rGq of
-		  PrelBase.LT{-rb7,p-}{i} -> PrelBase.True{-5E,w-}{i}
+    AbsBinds [] [] [([], <_aTT, <_aUc)]
+	<_aUc a_rFM b_rFN
+	      = case compare_aU0 a_rFM b_rFN of
+		  PrelBase.LT{-ram,p-}{i} -> PrelBase.True{-5E,w-}{i}
 		  PrelBase.EQ{-r4n,p-}{i} -> PrelBase.False{-58,w-}{i}
-		  PrelBase.GT{-rb8,p-}{i} -> PrelBase.False{-58,w-}{i}
-    AbsBinds [] [] [([], <=_aUz, <=_aUQ)]
-	<=_aUQ a_rGx b_rGy
-	       = case compare_aUs a_rGx b_rGy of
-		   PrelBase.LT{-rb7,p-}{i} -> PrelBase.True{-5E,w-}{i}
+		  PrelBase.GT{-ran,p-}{i} -> PrelBase.False{-58,w-}{i}
+    AbsBinds [] [] [([], <=_aTS, <=_aUd)]
+	<=_aUd a_rFU b_rFV
+	       = case compare_aTZ a_rFU b_rFV of
+		   PrelBase.LT{-ram,p-}{i} -> PrelBase.True{-5E,w-}{i}
 		   PrelBase.EQ{-r4n,p-}{i} -> PrelBase.True{-5E,w-}{i}
-		   PrelBase.GT{-rb8,p-}{i} -> PrelBase.False{-58,w-}{i}
-    AbsBinds [] [] [([], >=_aUA, >=_aUR)]
-	>=_aUR a_rGF b_rGG
-	       = case compare_aUt a_rGF b_rGG of
-		   PrelBase.LT{-rb7,p-}{i} -> PrelBase.False{-58,w-}{i}
+		   PrelBase.GT{-ran,p-}{i} -> PrelBase.False{-58,w-}{i}
+    AbsBinds [] [] [([], >=_aTR, >=_aUe)]
+	>=_aUe a_rG2 b_rG3
+	       = case compare_aTY a_rG2 b_rG3 of
+		   PrelBase.LT{-ram,p-}{i} -> PrelBase.False{-58,w-}{i}
 		   PrelBase.EQ{-r4n,p-}{i} -> PrelBase.True{-5E,w-}{i}
-		   PrelBase.GT{-rb8,p-}{i} -> PrelBase.True{-5E,w-}{i}
-    AbsBinds [] [] [([], >_aUB, >_aUS)]
-	>_aUS a_rGN b_rGO
-	      = case compare_aUu a_rGN b_rGO of
-		  PrelBase.LT{-rb7,p-}{i} -> PrelBase.False{-58,w-}{i}
+		   PrelBase.GT{-ran,p-}{i} -> PrelBase.True{-5E,w-}{i}
+    AbsBinds [] [] [([], >_aTQ, >_aUf)]
+	>_aUf a_rGa b_rGb
+	      = case compare_aTX a_rGa b_rGb of
+		  PrelBase.LT{-ram,p-}{i} -> PrelBase.False{-58,w-}{i}
 		  PrelBase.EQ{-r4n,p-}{i} -> PrelBase.False{-58,w-}{i}
-		  PrelBase.GT{-rb8,p-}{i} -> PrelBase.True{-5E,w-}{i}
-    AbsBinds [] [] [([], max_aUC, max_aUT)]
-	max_aUT a_rGV b_rGW
-		= case compare_aUv a_rGV b_rGW of
-		    PrelBase.LT{-rb7,p-}{i} -> b_rGW
-		    PrelBase.EQ{-r4n,p-}{i} -> a_rGV
-		    PrelBase.GT{-rb8,p-}{i} -> a_rGV
-    AbsBinds [] [] [([], min_aUD, min_aUU)]
-	min_aUU a_rH3 b_rH4
-		= case compare_aUw a_rH3 b_rH4 of
-		    PrelBase.LT{-rb7,p-}{i} -> a_rH3
-		    PrelBase.EQ{-r4n,p-}{i} -> b_rH4
-		    PrelBase.GT{-rb8,p-}{i} -> b_rH4
-    d.Ord_aPs =
+		  PrelBase.GT{-ran,p-}{i} -> PrelBase.True{-5E,w-}{i}
+    AbsBinds [] [] [([], max_aTP, max_aUg)]
+	max_aUg a_rGi b_rGj
+		= case compare_aTW a_rGi b_rGj of
+		    PrelBase.LT{-ram,p-}{i} -> b_rGj
+		    PrelBase.EQ{-r4n,p-}{i} -> a_rGi
+		    PrelBase.GT{-ran,p-}{i} -> a_rGi
+    AbsBinds [] [] [([], min_aTO, min_aUh)]
+	min_aUh a_rGq b_rGr
+		= case compare_aTV a_rGq b_rGr of
+		    PrelBase.LT{-ram,p-}{i} -> a_rGq
+		    PrelBase.EQ{-r4n,p-}{i} -> b_rGr
+		    PrelBase.GT{-ran,p-}{i} -> b_rGr
+    d.Ord_aOP =
 	({-dict-}
-	 [d.Eq_aTs]
-	 [compare_aUx, <_aUy, <=_aUz, >=_aUA, >_aUB, max_aUC, min_aUD])
-scsel_Bar2Print002Bar{-aTZ,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1
-AbsBinds [taTS] [d.Bar2_aTL] []
-meth1{-r4B,x-} =
+	 [d.Eq_aST]
+	 [compare_aTU, <_aTT, <=_aTS, >=_aTR, >_aTQ, max_aTP, min_aTO])
+scsel_Bar2Print002Bar{-aTj,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1
+AbsBinds [taTf] [d.Bar2_aT8] []
+meth1{-r4C,x-} =
     _/\_ t12 -> \ tpl_B1 ->
 	case tpl_B1 of { PrelTup.(,,){-63,w-}{i} tpl_B1 tpl_B2 tpl_B3  ->
 	tpl_B1;}
-/////{-r4C,x-} =
+/////{-r4B,x-} =
     _/\_ t12 -> \ tpl_B1 ->
 	case tpl_B1 of { PrelTup.(,,){-63,w-}{i} tpl_B1 tpl_B2 tpl_B3  ->
 	tpl_B2;}
-meth2{-r4D,x-} =
+meth2{-r4A,x-} =
     _/\_ t12 -> \ tpl_B1 ->
 	case tpl_B1 of { PrelTup.(,,){-63,w-}{i} tpl_B1 tpl_B2 tpl_B3  ->
 	tpl_B3;}
-AbsBinds [taTT] [d.Bar_aTO] []
+AbsBinds [taTg] [d.Bar_aTb] []
 
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ Print002 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d15 1 $d16 1 $d2 1 $d33 1 $d35 1 $d38 1 $d40 1 $d42 1 $d46 1 $d47 1 $d50 1 $d52 1 $d7 1 $d8 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 && 1 . 1 not 1 Eq 1 Eval 1 Ord 1 Ordering 1;
+PrelBase 1 :: $d12 1 $d13 1 $d2 1 $d26 1 $d28 1 $d29 1 $d31 1 $d33 1 $d37 1 $d38 1 $d39 1 $d41 1 $d6 1 $d7 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 && 1 . 1 not 1 Eq 1 Eval 1 Ord 1 Ordering 1;
 PrelNum 1 :: $d17 1 $d18 1;
 _exports_
 Print002 .... ..... <<<< f1 f1a f2 f2a f3a f3b f3c f3d Bar(meth1 ///// meth2) Bar2 Foo(MkFoo1 :## MkFoo3 :***);
diff --git a/ghc/tests/printing/should_compile/Print003.stderr b/ghc/tests/printing/should_compile/Print003.stderr
index 3d1d9da65149..6f2d050aa59d 100644
--- a/ghc/tests/printing/should_compile/Print003.stderr
+++ b/ghc/tests/printing/should_compile/Print003.stderr
@@ -2,15 +2,15 @@
 bitRsh{-r3h,x-} =
     _/\_ t12 -> \ tpl_B1 ->
 	case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2  -> tpl_B1;}
-bitLsh{-r3i,x-} =
+bitLsh{-r3g,x-} =
     _/\_ t12 -> \ tpl_B1 ->
 	case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2  -> tpl_B2;}
-AbsBinds [tamf] [d.Bits_ame] []
+AbsBinds [talO] [d.Bits_alN] []
 
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ Word 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 Word Bits(bitRsh bitLsh);
 _fixities_
diff --git a/ghc/tests/printing/should_compile/Print004.stderr b/ghc/tests/printing/should_compile/Print004.stderr
index 264777112a3e..5d8916b87515 100644
--- a/ghc/tests/printing/should_compile/Print004.stderr
+++ b/ghc/tests/printing/should_compile/Print004.stderr
@@ -2,57 +2,57 @@
 Print004.hs:18: Warning: no explicit method nor default method for `showsPrec'
 		in an instance declaration for `Show'
 ==================== Typechecked ====================
-Con{-r6u,l-}{i} =
-    _/\_ a_tr6C -> \ tpl_B1 -> Con{-r6u,l-}{i} {_@_ a_tr6C tpl_B1}
+Con{-r6v,l-}{i} =
+    _/\_ a_tr6C -> \ tpl_B1 -> Con{-r6v,l-}{i} {_@_ a_tr6C tpl_B1}
 Junk11{-r4,l-}{i} = _/\_ a_tr6A -> Junk11{-r4,l-}{i} {_@_ a_tr6A}
 Junk2{-r3,l-}{i} = _/\_ a_tr6A -> Junk2{-r3,l-}{i} {_@_ a_tr6A}
-AbsBinds [taIv] [] [([taIv], $d2{-rIx,x-}, d.Eval_aHe)]
-    d.Eval_aHe = ({-dict-} [] [])
-AbsBinds [taIw] [] [([taIw], $d3{-rIy,x-}, d.Eval_aHk)]
-    d.Eval_aHk = ({-dict-} [] [])
-AbsBinds [taHz] [d.Ord_aHT] [([taHz], $d4{-rIz,x-}, d.Show_aHq)]
-    d.Ord_aI1 = d.Ord_aHT
-    d.Show_aHZ = $d1{-rIA,x-} taHz d.Ord_aI1
-    showsPrec_aID =
-	PrelBase.showsPrec{-r2c,p-} (FunnyInternalType{-r6v,l-} taHz)
-	    d.Show_aHZ
-    showsPrec_aIE = showsPrec_aIF
-    AbsBinds [] [] [([], showsPrec_aIF, showsPrec_aIH)]
-	showsPrec_aIH a_rGx (Con{-r6u,l-}{i} b1_rGy)
-		      = PrelBase.showParen{-r16,p-} a_rGx >=_aIB lit_aIC
-						    PrelBase..{-rI,p-}
-							[PrelBase.String{-r2i,p-}, PrelBase.String{-r2i,p-}, PrelBase.String{-r2i,p-}] PrelBase.showString{-r18,p-} "Con "
-																       showsPrec_aID PrelBase.I#{-5b,w-}{i} 10#
-																		     b1_rGy
-    AbsBinds [] [] [([], showList_aIG, showList_aII)]
-	showList_aII = PrelBase.showList__{-r6F,p-}
-			   (OpaqueType{-r6,x-} taHz) showsPrec_aIE PrelBase.I#{-5b,w-}{i} 0#
-    d.Show_aHq = ({-dict-} [] [showsPrec_aIF, showList_aIG])
-AbsBinds [taIf] [d.Ord_aIn] [([taIf], $d1{-rIA,x-}, d.Show_aI8)]
-    d.Show_aIr = d.Show_aI8
-    $mshowList_aIJ =
-	PrelBase.$mshowList{-rii,p-} (FunnyInternalType{-r6v,l-} taIf)
-	    d.Show_aIr
-    AbsBinds [] [] [([], showsPrec_aIK, showsPrec_aIM)]
-	showsPrec_aIM
+AbsBinds [taI0] [] [([taI0], $d2{-rI2,x-}, d.Eval_aGJ)]
+    d.Eval_aGJ = ({-dict-} [] [])
+AbsBinds [taI1] [] [([taI1], $d3{-rI7,x-}, d.Eval_aGP)]
+    d.Eval_aGP = ({-dict-} [] [])
+AbsBinds [taH4] [d.Ord_aHo] [([taH4], $d4{-rI6,x-}, d.Show_aGV)]
+    d.Ord_aHw = d.Ord_aHo
+    d.Show_aHu = $d1{-rI5,x-} taH4 d.Ord_aHw
+    showsPrec_aIb =
+	PrelBase.showsPrec{-r5B,p-} (FunnyInternalType{-r6u,l-} taH4)
+	    d.Show_aHu
+    showsPrec_aIa = showsPrec_aI9
+    AbsBinds [] [] [([], showsPrec_aI9, showsPrec_aIc)]
+	showsPrec_aIc a_rG2 (Con{-r6v,l-}{i} b1_rG3)
+		      = PrelBase.showParen{-r63,p-} a_rG2 >=_aI4 lit_aI3
+						    PrelBase..{-r6d,p-}
+							[PrelBase.String{-r5y,p-}, PrelBase.String{-r5y,p-}, PrelBase.String{-r5y,p-}] PrelBase.showString{-r62,p-} "Con "
+																       showsPrec_aIb PrelBase.I#{-5b,w-}{i} 10#
+																		     b1_rG3
+    AbsBinds [] [] [([], showList_aI8, showList_aId)]
+	showList_aId = PrelBase.showList__{-r6F,p-}
+			   (OpaqueType{-r6,x-} taH4) showsPrec_aIa PrelBase.I#{-5b,w-}{i} 0#
+    d.Show_aGV = ({-dict-} [] [showsPrec_aI9, showList_aI8])
+AbsBinds [taHK] [d.Ord_aHS] [([taHK], $d1{-rI5,x-}, d.Show_aHD)]
+    d.Show_aHW = d.Show_aHD
+    $mshowList_aIg =
+	PrelBase.$mshowList{-rh6,p-} (FunnyInternalType{-r6u,l-} taHK)
+	    d.Show_aHW
+    AbsBinds [] [] [([], showsPrec_aIf, showsPrec_aIh)]
+	showsPrec_aIh
 	    = GHCerr.noDefaultMethodError{-8k,w-}
 		  (PrelBase.Int{-3f,W-}
-		   -> FunnyInternalType{-r6v,l-} taIf
-		   -> PrelBase.String{-r2i,p-}
-		   -> PrelBase.String{-r2i,p-}) "<NoSrcLoc>|showsPrec"
-    AbsBinds [] [] [([], showList_aIL, showList_aIN)]
-	showList_aIN = $mshowList_aIJ
-    d.Show_aI8 = ({-dict-} [] [showsPrec_aIK, showList_aIL])
-d.Ord_aIu = PrelBase.$d7{-re0,p-}
->=_aIB = PrelBase.>={-810,p-} PrelBase.Int{-3f,W-} d.Ord_aIu
-lit_aIC = PrelBase.I#{-5b,w-}{i} 10#
+		   -> FunnyInternalType{-r6u,l-} taHK
+		   -> PrelBase.String{-r5y,p-}
+		   -> PrelBase.String{-r5y,p-}) "<NoSrcLoc>|showsPrec"
+    AbsBinds [] [] [([], showList_aIe, showList_aIi)]
+	showList_aIi = $mshowList_aIg
+    d.Show_aHD = ({-dict-} [] [showsPrec_aIf, showList_aIe])
+d.Ord_aHZ = PrelBase.$d6{-rcZ,p-}
+>=_aI4 = PrelBase.>={-810,p-} PrelBase.Int{-3f,W-} d.Ord_aHZ
+lit_aI3 = PrelBase.I#{-5b,w-}{i} 10#
 
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ExportOpaque 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d15 1 $d16 1 $d2 1 $d22 1 $d27 1 $d28 1 $d3 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 . 1 showList__ 1 showParen 1 showSpace 1 showString 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 ShowS 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d12 1 $d13 1 $d15 1 $d2 1 $d20 1 $d21 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d6 1 $d7 1 $d8 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 . 1 showList__ 1 showParen 1 showSpace 1 showString 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 ShowS 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d29 1 $d33 1 $d34 1 $d35 1;
 _exports_
 ExportOpaque OpaqueType;
diff --git a/ghc/tests/reader/should_fail/read001.stderr b/ghc/tests/reader/should_fail/read001.stderr
index 3691e5d1c032..996657ba239f 100644
--- a/ghc/tests/reader/should_fail/read001.stderr
+++ b/ghc/tests/reader/should_fail/read001.stderr
@@ -36,8 +36,7 @@ mat a b c d
 	{- rec -}
 	foof a b = a == b
 expr a b c d
-     = ((((((((a + (: a b)) + (a : b))
-	     + (((1 - 'c') - "abc") - 1.2929999999999999))
+     = ((((((((a + (: a b)) + (a : b)) + (((1 - 'c') - "abc") - 1.293))
 	    + ((\ x y z -> x) 42))
 	   + ((9 *)))
 	  + ((* 8)))
@@ -56,7 +55,7 @@ expr a b c d
 	  in
 	    (((((((y + [1, 2, 3, 4]) + (4, 3, 2, 1))
 		 + (4 :: _forall_ [] (Num a) => a))
-		+ (if 42 == 42.000000000000000 then 1 else 4))
+		+ (if 42 == 42.0 then 1 else 4))
 	       + ([1 .. ]))
 	      + ([2, 4 .. ]))
 	     + ([3 .. 5]))
@@ -64,7 +63,7 @@ expr a b c d
 f _
   x
   1
-  1.9299999999999999
+  1.93
   'c'
   "dog"
   ~y
diff --git a/ghc/tests/reader/should_fail/read003.stderr b/ghc/tests/reader/should_fail/read003.stderr
index 43e9e8da8218..e50aea84a1f6 100644
--- a/ghc/tests/reader/should_fail/read003.stderr
+++ b/ghc/tests/reader/should_fail/read003.stderr
@@ -11,9 +11,9 @@ module Read003 where
 
  
 read003.hs:8: Cannot construct the infinite type (occur check)
-		  `taIl' = `(taIl, taIo, taIr)'
-    Expected: `taIl'
-    Inferred: `(taIl, [taIz], taIr)'
+		  `taHn' = `(taHn, taHq, taHt)'
+    Expected: `taHn'
+    Inferred: `(taHn, [taHB], taHt)'
     In a pattern binding:
 	`~(a, b, c)
 	     | nullity b = a
diff --git a/ghc/tests/typecheck/should_compile/ShouldSucceed.hi b/ghc/tests/typecheck/should_compile/ShouldSucceed.hi
deleted file mode 100644
index 3ea8fd3a462a..000000000000
--- a/ghc/tests/typecheck/should_compile/ShouldSucceed.hi
+++ /dev/null
@@ -1,7 +0,0 @@
-interface  ShouldSucceed  where {
-{- TCE -}
-{- CE -}
-{- LVE -}
-a :: Num t64 => t64 -> t64
-{- GIEinst -}
-}
diff --git a/ghc/tests/typecheck/should_compile/tc001.stderr b/ghc/tests/typecheck/should_compile/tc001.stderr
index 88a4388793c2..1de774f5e4d7 100644
--- a/ghc/tests/typecheck/should_compile/tc001.stderr
+++ b/ghc/tests/typecheck/should_compile/tc001.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed a;
diff --git a/ghc/tests/typecheck/should_compile/tc002.stderr b/ghc/tests/typecheck/should_compile/tc002.stderr
index c9c56095674a..dac0eaf3c277 100644
--- a/ghc/tests/typecheck/should_compile/tc002.stderr
+++ b/ghc/tests/typecheck/should_compile/tc002.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed b;
diff --git a/ghc/tests/typecheck/should_compile/tc003.stderr b/ghc/tests/typecheck/should_compile/tc003.stderr
index 508a6f139431..f539e290c9b7 100644
--- a/ghc/tests/typecheck/should_compile/tc003.stderr
+++ b/ghc/tests/typecheck/should_compile/tc003.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 PrelTup 1 :: $d13 1 $d4 1 $d9 1;
 _exports_
diff --git a/ghc/tests/typecheck/should_compile/tc004.stderr b/ghc/tests/typecheck/should_compile/tc004.stderr
index 8220d5bf347a..57e6857d2eb7 100644
--- a/ghc/tests/typecheck/should_compile/tc004.stderr
+++ b/ghc/tests/typecheck/should_compile/tc004.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed f;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc005.stderr b/ghc/tests/typecheck/should_compile/tc005.stderr
index ea6a75006d60..c042b2177f33 100644
--- a/ghc/tests/typecheck/should_compile/tc005.stderr
+++ b/ghc/tests/typecheck/should_compile/tc005.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 PrelTup 1 :: $d13 1 $d4 1 $d9 1;
 _exports_
diff --git a/ghc/tests/typecheck/should_compile/tc006.stderr b/ghc/tests/typecheck/should_compile/tc006.stderr
index 05f49c6a467d..5f7f27a30726 100644
--- a/ghc/tests/typecheck/should_compile/tc006.stderr
+++ b/ghc/tests/typecheck/should_compile/tc006.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed h;
diff --git a/ghc/tests/typecheck/should_compile/tc007.stderr b/ghc/tests/typecheck/should_compile/tc007.stderr
index 84f0bb1c4760..4dbcc4465d44 100644
--- a/ghc/tests/typecheck/should_compile/tc007.stderr
+++ b/ghc/tests/typecheck/should_compile/tc007.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed j k l m;
diff --git a/ghc/tests/typecheck/should_compile/tc008.stderr b/ghc/tests/typecheck/should_compile/tc008.stderr
index aa8916615544..f6fa66e8b9d9 100644
--- a/ghc/tests/typecheck/should_compile/tc008.stderr
+++ b/ghc/tests/typecheck/should_compile/tc008.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed n;
diff --git a/ghc/tests/typecheck/should_compile/tc009.stderr b/ghc/tests/typecheck/should_compile/tc009.stderr
index 71f58ca4201b..ccee729ebbe9 100644
--- a/ghc/tests/typecheck/should_compile/tc009.stderr
+++ b/ghc/tests/typecheck/should_compile/tc009.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 PrelTup 1 :: $d13 1 $d4 1 $d9 1;
 _exports_
diff --git a/ghc/tests/typecheck/should_compile/tc010.stderr b/ghc/tests/typecheck/should_compile/tc010.stderr
index 1171203a6e32..52400ffb4160 100644
--- a/ghc/tests/typecheck/should_compile/tc010.stderr
+++ b/ghc/tests/typecheck/should_compile/tc010.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d24 1 $d25 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m>> 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Monad 1 MonadZero 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d17 1 $d18 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $m>> 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Monad 1 MonadZero 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 PrelTup 1 :: $d13 1 $d4 1 $d9 1;
 _exports_
diff --git a/ghc/tests/typecheck/should_compile/tc011.stderr b/ghc/tests/typecheck/should_compile/tc011.stderr
index 35af5a10a004..867cc3f5a412 100644
--- a/ghc/tests/typecheck/should_compile/tc011.stderr
+++ b/ghc/tests/typecheck/should_compile/tc011.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed x;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc012.stderr b/ghc/tests/typecheck/should_compile/tc012.stderr
index e3f87fcd31bb..6b89724f1770 100644
--- a/ghc/tests/typecheck/should_compile/tc012.stderr
+++ b/ghc/tests/typecheck/should_compile/tc012.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed q;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc013.stderr b/ghc/tests/typecheck/should_compile/tc013.stderr
index 2146b79428ec..2fd573f2996b 100644
--- a/ghc/tests/typecheck/should_compile/tc013.stderr
+++ b/ghc/tests/typecheck/should_compile/tc013.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 PrelTup 1 :: $d13 1 $d4 1 $d9 1;
 _exports_
diff --git a/ghc/tests/typecheck/should_compile/tc014.stderr b/ghc/tests/typecheck/should_compile/tc014.stderr
index 155d2c7e1cdc..5b412d7619c8 100644
--- a/ghc/tests/typecheck/should_compile/tc014.stderr
+++ b/ghc/tests/typecheck/should_compile/tc014.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed t;
diff --git a/ghc/tests/typecheck/should_compile/tc015.stderr b/ghc/tests/typecheck/should_compile/tc015.stderr
index 262e0b8d0188..c550b2b40d4e 100644
--- a/ghc/tests/typecheck/should_compile/tc015.stderr
+++ b/ghc/tests/typecheck/should_compile/tc015.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed u;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc016.stderr b/ghc/tests/typecheck/should_compile/tc016.stderr
index 3790594456ba..4ffd24a8b7f0 100644
--- a/ghc/tests/typecheck/should_compile/tc016.stderr
+++ b/ghc/tests/typecheck/should_compile/tc016.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed f;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc017.stderr b/ghc/tests/typecheck/should_compile/tc017.stderr
index 9c455b20bdbc..54ce60ef5736 100644
--- a/ghc/tests/typecheck/should_compile/tc017.stderr
+++ b/ghc/tests/typecheck/should_compile/tc017.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed v;
diff --git a/ghc/tests/typecheck/should_compile/tc018.stderr b/ghc/tests/typecheck/should_compile/tc018.stderr
index 2506dd20272a..13a2c3082d8e 100644
--- a/ghc/tests/typecheck/should_compile/tc018.stderr
+++ b/ghc/tests/typecheck/should_compile/tc018.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed w;
diff --git a/ghc/tests/typecheck/should_compile/tc019.stderr b/ghc/tests/typecheck/should_compile/tc019.stderr
index 3a7f9a891c6d..926391cc77bc 100644
--- a/ghc/tests/typecheck/should_compile/tc019.stderr
+++ b/ghc/tests/typecheck/should_compile/tc019.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d24 1 $d25 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m>> 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Monad 1 MonadZero 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d17 1 $d18 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $m>> 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Monad 1 MonadZero 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 PrelTup 1 :: $d13 1 $d4 1 $d9 1;
 _exports_
diff --git a/ghc/tests/typecheck/should_compile/tc020.stderr b/ghc/tests/typecheck/should_compile/tc020.stderr
index ac9f1a277114..c0802c4575e5 100644
--- a/ghc/tests/typecheck/should_compile/tc020.stderr
+++ b/ghc/tests/typecheck/should_compile/tc020.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed f;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc021.stderr b/ghc/tests/typecheck/should_compile/tc021.stderr
index 800b67358dae..bbea030c3226 100644
--- a/ghc/tests/typecheck/should_compile/tc021.stderr
+++ b/ghc/tests/typecheck/should_compile/tc021.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed a f x;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc022.stderr b/ghc/tests/typecheck/should_compile/tc022.stderr
index a850abd17f90..17bc4c13be43 100644
--- a/ghc/tests/typecheck/should_compile/tc022.stderr
+++ b/ghc/tests/typecheck/should_compile/tc022.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed iD main;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc023.stderr b/ghc/tests/typecheck/should_compile/tc023.stderr
index 4ef514c76888..d9968a473e50 100644
--- a/ghc/tests/typecheck/should_compile/tc023.stderr
+++ b/ghc/tests/typecheck/should_compile/tc023.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed k main s;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc024.stderr b/ghc/tests/typecheck/should_compile/tc024.stderr
index 4ef514c76888..d9968a473e50 100644
--- a/ghc/tests/typecheck/should_compile/tc024.stderr
+++ b/ghc/tests/typecheck/should_compile/tc024.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed k main s;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc025.stderr b/ghc/tests/typecheck/should_compile/tc025.stderr
index 8c452f5fc547..991786fa9925 100644
--- a/ghc/tests/typecheck/should_compile/tc025.stderr
+++ b/ghc/tests/typecheck/should_compile/tc025.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed g;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc026.stderr b/ghc/tests/typecheck/should_compile/tc026.stderr
index d6be593e2fb0..20b6915c79d0 100644
--- a/ghc/tests/typecheck/should_compile/tc026.stderr
+++ b/ghc/tests/typecheck/should_compile/tc026.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed f g;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc027.stderr b/ghc/tests/typecheck/should_compile/tc027.stderr
index 2cc5756ff31d..59c50f59aa5a 100644
--- a/ghc/tests/typecheck/should_compile/tc027.stderr
+++ b/ghc/tests/typecheck/should_compile/tc027.stderr
@@ -3,7 +3,7 @@ NOTE: Simplifier still going after 4 iterations; bailing out.
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed f g h;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc028.stderr b/ghc/tests/typecheck/should_compile/tc028.stderr
index 79f69009b15a..38448f072e2a 100644
--- a/ghc/tests/typecheck/should_compile/tc028.stderr
+++ b/ghc/tests/typecheck/should_compile/tc028.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed H;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc029.stderr b/ghc/tests/typecheck/should_compile/tc029.stderr
index ade1d7d432ce..6fabfd62ef37 100644
--- a/ghc/tests/typecheck/should_compile/tc029.stderr
+++ b/ghc/tests/typecheck/should_compile/tc029.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d45 1 $d47 1 Eval 1;
+PrelBase 1 :: $d2 1 $d29 1 $d31 1 $d33 1 $d36 1 $d38 1 Eval 1;
 _exports_
 ShouldSucceed G K(H M);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc030.stderr b/ghc/tests/typecheck/should_compile/tc030.stderr
index cd73040e383e..24194ed39e93 100644
--- a/ghc/tests/typecheck/should_compile/tc030.stderr
+++ b/ghc/tests/typecheck/should_compile/tc030.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed G H;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc031.stderr b/ghc/tests/typecheck/should_compile/tc031.stderr
index 8a8cb2cf72de..f2656f698348 100644
--- a/ghc/tests/typecheck/should_compile/tc031.stderr
+++ b/ghc/tests/typecheck/should_compile/tc031.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 Eval 1;
+PrelBase 1 :: $d2 1 $d29 1 $d31 1 $d33 1 $d38 1 Eval 1;
 _exports_
 ShouldSucceed Rec(Node);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc032.stderr b/ghc/tests/typecheck/should_compile/tc032.stderr
index 15d5915fefd2..fc5bff64a316 100644
--- a/ghc/tests/typecheck/should_compile/tc032.stderr
+++ b/ghc/tests/typecheck/should_compile/tc032.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d2 1 $d38 1 $d39 1 $d40 1 $d42 1 $d45 1 $d47 1 Eval 1;
+PrelBase 1 :: $d2 1 $d29 1 $d30 1 $d31 1 $d33 1 $d36 1 $d38 1 Eval 1;
 PrelTup 1 :: $d13 1;
 _exports_
 ShouldSucceed AList(Node Other);
diff --git a/ghc/tests/typecheck/should_compile/tc033.stderr b/ghc/tests/typecheck/should_compile/tc033.stderr
index 2eb48a6cf177..8f2124f00e42 100644
--- a/ghc/tests/typecheck/should_compile/tc033.stderr
+++ b/ghc/tests/typecheck/should_compile/tc033.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 Eval 1;
+PrelBase 1 :: $d2 1 $d29 1 $d31 1 $d33 1 $d38 1 Eval 1;
 _exports_
 ShouldSucceed F Twine(Twine2) Twist(Twist2);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc034.stderr b/ghc/tests/typecheck/should_compile/tc034.stderr
index e9e3b6f7fb05..2725e9d2857b 100644
--- a/ghc/tests/typecheck/should_compile/tc034.stderr
+++ b/ghc/tests/typecheck/should_compile/tc034.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed g AList(ANull ANode) IntList;
diff --git a/ghc/tests/typecheck/should_compile/tc035.stderr b/ghc/tests/typecheck/should_compile/tc035.stderr
index 36da589cffa5..04e92beec9d5 100644
--- a/ghc/tests/typecheck/should_compile/tc035.stderr
+++ b/ghc/tests/typecheck/should_compile/tc035.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d2 1 $d23 1 $d24 1 $d25 1 $d38 1 $d39 1 $d40 1 $d42 1 $d45 1 $d47 1 $m>> 1 Eval 1 Monad 1 MonadPlus 1 MonadZero 1;
+PrelBase 1 :: $d16 1 $d17 1 $d18 1 $d2 1 $d29 1 $d30 1 $d31 1 $d33 1 $d36 1 $d38 1 $m>> 1 Eval 1 Monad 1 MonadPlus 1 MonadZero 1;
 PrelTup 1 :: $d13 1;
 _exports_
 ShouldSucceed g AnnExpr Expr(Var App);
diff --git a/ghc/tests/typecheck/should_compile/tc036.stderr b/ghc/tests/typecheck/should_compile/tc036.stderr
index 0a41bfbb072d..7bbf5e8d9c65 100644
--- a/ghc/tests/typecheck/should_compile/tc036.stderr
+++ b/ghc/tests/typecheck/should_compile/tc036.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d16 1 $d33 1 $d8 1 $m/= 1 Eq 1;
+PrelBase 1 :: $d13 1 $d26 1 $d7 1 $m/= 1 Eq 1;
 PrelNum 1 :: $d18 1;
 _exports_
 ShouldSucceed A(op1);
diff --git a/ghc/tests/typecheck/should_compile/tc037.stderr b/ghc/tests/typecheck/should_compile/tc037.stderr
index 221be461f896..20ecaddafe00 100644
--- a/ghc/tests/typecheck/should_compile/tc037.stderr
+++ b/ghc/tests/typecheck/should_compile/tc037.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed Eq'(deq);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc038.stderr b/ghc/tests/typecheck/should_compile/tc038.stderr
index dadfea7c98b3..2d65d4546db4 100644
--- a/ghc/tests/typecheck/should_compile/tc038.stderr
+++ b/ghc/tests/typecheck/should_compile/tc038.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed f;
diff --git a/ghc/tests/typecheck/should_compile/tc039.stderr b/ghc/tests/typecheck/should_compile/tc039.stderr
index 0a41bfbb072d..7bbf5e8d9c65 100644
--- a/ghc/tests/typecheck/should_compile/tc039.stderr
+++ b/ghc/tests/typecheck/should_compile/tc039.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d16 1 $d33 1 $d8 1 $m/= 1 Eq 1;
+PrelBase 1 :: $d13 1 $d26 1 $d7 1 $m/= 1 Eq 1;
 PrelNum 1 :: $d18 1;
 _exports_
 ShouldSucceed A(op1);
diff --git a/ghc/tests/typecheck/should_compile/tc040.stderr b/ghc/tests/typecheck/should_compile/tc040.stderr
index 162f7653723f..6bc706feb6df 100644
--- a/ghc/tests/typecheck/should_compile/tc040.stderr
+++ b/ghc/tests/typecheck/should_compile/tc040.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d16 1 $d28 1 $d33 1 $d8 1 $m/= 1 Eq 1;
+PrelBase 1 :: $d13 1 $d21 1 $d26 1 $d7 1 $m/= 1 Eq 1;
 PrelNum 1 :: $d18 1;
 _exports_
 ShouldSucceed f;
diff --git a/ghc/tests/typecheck/should_compile/tc041.stderr b/ghc/tests/typecheck/should_compile/tc041.stderr
index 8120ea0143a1..30e24d3268fa 100644
--- a/ghc/tests/typecheck/should_compile/tc041.stderr
+++ b/ghc/tests/typecheck/should_compile/tc041.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed f H(op1);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc042.stderr b/ghc/tests/typecheck/should_compile/tc042.stderr
index e8eaaea434c7..83d4ac4fdb72 100644
--- a/ghc/tests/typecheck/should_compile/tc042.stderr
+++ b/ghc/tests/typecheck/should_compile/tc042.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 Eval 1;
+PrelBase 1 :: $d2 1 $d29 1 $d31 1 $d33 1 $d38 1 Eval 1;
 _exports_
 ShouldSucceed add app before flatten idb idl lEngth nUll neg rEverse sUm swap Boolean(FF TT) List(Nil Cons) Nat(Zero Succ) Pair(Mkpair) Tree(Leaf Node);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc043.stderr b/ghc/tests/typecheck/should_compile/tc043.stderr
index 55733426523d..c1ddbf26fb07 100644
--- a/ghc/tests/typecheck/should_compile/tc043.stderr
+++ b/ghc/tests/typecheck/should_compile/tc043.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed f A(op1) B(op2);
diff --git a/ghc/tests/typecheck/should_compile/tc044.stderr b/ghc/tests/typecheck/should_compile/tc044.stderr
index 60311a3eb970..dac00761976a 100644
--- a/ghc/tests/typecheck/should_compile/tc044.stderr
+++ b/ghc/tests/typecheck/should_compile/tc044.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
 PrelBase 1 :: otherwise 1;
 _exports_
diff --git a/ghc/tests/typecheck/should_compile/tc045.stderr b/ghc/tests/typecheck/should_compile/tc045.stderr
index 30e8f91f3a54..da27e600edfc 100644
--- a/ghc/tests/typecheck/should_compile/tc045.stderr
+++ b/ghc/tests/typecheck/should_compile/tc045.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed B(op2) C(op1);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc046.stderr b/ghc/tests/typecheck/should_compile/tc046.stderr
index de5bf29d9696..778493ee61b3 100644
--- a/ghc/tests/typecheck/should_compile/tc046.stderr
+++ b/ghc/tests/typecheck/should_compile/tc046.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed B(op2) C(op1);
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc047.stderr b/ghc/tests/typecheck/should_compile/tc047.stderr
index 5c55b7a4736e..65a28771332f 100644
--- a/ghc/tests/typecheck/should_compile/tc047.stderr
+++ b/ghc/tests/typecheck/should_compile/tc047.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed f mp sd OL;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc048.stderr b/ghc/tests/typecheck/should_compile/tc048.stderr
index 7cb4d0cb8abb..762324fc89c6 100644
--- a/ghc/tests/typecheck/should_compile/tc048.stderr
+++ b/ghc/tests/typecheck/should_compile/tc048.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d45 1 $d47 1 Eval 1;
+PrelBase 1 :: $d2 1 $d29 1 $d31 1 $d33 1 $d36 1 $d38 1 Eval 1;
 PrelTup 1 :: $d13 1;
 _exports_
 ShouldSucceed mAp ranAFE ranOAL sNd AFE(MkAFE) FG(MkFG) OL(MkOL);
diff --git a/ghc/tests/typecheck/should_compile/tc049.stderr b/ghc/tests/typecheck/should_compile/tc049.stderr
index a0561cf036bb..ef6e75a062d6 100644
--- a/ghc/tests/typecheck/should_compile/tc049.stderr
+++ b/ghc/tests/typecheck/should_compile/tc049.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d15 1 $d16 1 $d2 1 $d22 1 $d27 1 $d28 1 $d3 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d12 1 $d13 1 $d15 1 $d2 1 $d20 1 $d21 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d6 1 $d7 1 $d8 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d29 1 $d33 1 $d34 1 $d35 1;
 PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
 _exports_
diff --git a/ghc/tests/typecheck/should_compile/tc050.stderr b/ghc/tests/typecheck/should_compile/tc050.stderr
index 9eb6fc060962..21b6f174fdad 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
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed f g Foo(o_and);
diff --git a/ghc/tests/typecheck/should_compile/tc051.stderr b/ghc/tests/typecheck/should_compile/tc051.stderr
index f59cf5fd8202..9e645c32d12e 100644
--- a/ghc/tests/typecheck/should_compile/tc051.stderr
+++ b/ghc/tests/typecheck/should_compile/tc051.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed Eq'(doubleeq) Ord'(lt);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc052.stderr b/ghc/tests/typecheck/should_compile/tc052.stderr
index 47f7889015e2..fda13aac3c98 100644
--- a/ghc/tests/typecheck/should_compile/tc052.stderr
+++ b/ghc/tests/typecheck/should_compile/tc052.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed A B C;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc053.stderr b/ghc/tests/typecheck/should_compile/tc053.stderr
index 9ef7c16093a9..0e581cbdca70 100644
--- a/ghc/tests/typecheck/should_compile/tc053.stderr
+++ b/ghc/tests/typecheck/should_compile/tc053.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed f Eq'(deq);
diff --git a/ghc/tests/typecheck/should_compile/tc054.stderr b/ghc/tests/typecheck/should_compile/tc054.stderr
index 91bc997cf2f1..0641d60e17db 100644
--- a/ghc/tests/typecheck/should_compile/tc054.stderr
+++ b/ghc/tests/typecheck/should_compile/tc054.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 otherwise 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 otherwise 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed f Eq'(doubleeq) Ord'(lt);
diff --git a/ghc/tests/typecheck/should_compile/tc055.stderr b/ghc/tests/typecheck/should_compile/tc055.stderr
index 71de449f6d4b..2bcba3625575 100644
--- a/ghc/tests/typecheck/should_compile/tc055.stderr
+++ b/ghc/tests/typecheck/should_compile/tc055.stderr
@@ -3,7 +3,7 @@ NOTE: Simplifier still going after 4 iterations; bailing out.
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed x y;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc056.stderr b/ghc/tests/typecheck/should_compile/tc056.stderr
index de6b555fa5b2..584599911c3d 100644
--- a/ghc/tests/typecheck/should_compile/tc056.stderr
+++ b/ghc/tests/typecheck/should_compile/tc056.stderr
@@ -4,9 +4,9 @@ tc056.hs:15:warning:
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed f Eq'(doubleeq) Ord'(lt);
diff --git a/ghc/tests/typecheck/should_compile/tc057.stderr b/ghc/tests/typecheck/should_compile/tc057.stderr
index d65ab5e4d94b..2eb56e160e60 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
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed dand f Eq'(deq);
diff --git a/ghc/tests/typecheck/should_compile/tc058.stderr b/ghc/tests/typecheck/should_compile/tc058.stderr
index b6a219b9a0c7..fd27d0d66201 100644
--- a/ghc/tests/typecheck/should_compile/tc058.stderr
+++ b/ghc/tests/typecheck/should_compile/tc058.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed f Eq2(doubleeq) Ord2(lt);
diff --git a/ghc/tests/typecheck/should_compile/tc059.stderr b/ghc/tests/typecheck/should_compile/tc059.stderr
index 49727c87b8a7..b6c3db3e5b62 100644
--- a/ghc/tests/typecheck/should_compile/tc059.stderr
+++ b/ghc/tests/typecheck/should_compile/tc059.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed f Eq2(deq foo);
diff --git a/ghc/tests/typecheck/should_compile/tc060.stderr b/ghc/tests/typecheck/should_compile/tc060.stderr
index 264ba32d8454..9795c7f450d8 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
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed Eq2(deq);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc061.stderr b/ghc/tests/typecheck/should_compile/tc061.stderr
index f9a20e725a7b..f0b8963e2bce 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
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed Eq1(deq);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc062.stderr b/ghc/tests/typecheck/should_compile/tc062.stderr
index 55402b32838b..b9fcf13c7236 100644
--- a/ghc/tests/typecheck/should_compile/tc062.stderr
+++ b/ghc/tests/typecheck/should_compile/tc062.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed f Eq1(deq);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc063.stderr b/ghc/tests/typecheck/should_compile/tc063.stderr
index bd3f8d1f3474..e384277e0c13 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
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 Eval 1;
+PrelBase 1 :: $d2 1 $d29 1 $d31 1 $d33 1 $d38 1 Eval 1;
 _exports_
 ShouldSucceed g Reps(f) X(Tag);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc064.stderr b/ghc/tests/typecheck/should_compile/tc064.stderr
index aba81f5db413..d99fad6d40ad 100644
--- a/ghc/tests/typecheck/should_compile/tc064.stderr
+++ b/ghc/tests/typecheck/should_compile/tc064.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 Eval 1;
+PrelBase 1 :: $d2 1 $d29 1 $d31 1 $d33 1 $d38 1 Eval 1;
 _exports_
 ShouldSucceed idb Boolean(FF TT);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc065.stderr b/ghc/tests/typecheck/should_compile/tc065.stderr
index 57029aa54b88..f000d1913ce9 100644
--- a/ghc/tests/typecheck/should_compile/tc065.stderr
+++ b/ghc/tests/typecheck/should_compile/tc065.stderr
@@ -1,10 +1,10 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
 List 1 :: partition 1;
-PrelBase 1 :: $d15 1 $d16 1 $d2 1 $d23 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d33 1 $d35 1 $d38 1 $d40 1 $d42 1 $d45 1 $d46 1 $d47 1 $d50 1 $d52 1 $d7 1 $d8 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $mmax 1 $mmin 1 otherwise 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadPlus 1 MonadZero 1 Ord 1 Ordering 1;
+PrelBase 1 :: $d12 1 $d13 1 $d16 1 $d17 1 $d18 1 $d19 1 $d2 1 $d20 1 $d21 1 $d26 1 $d28 1 $d29 1 $d31 1 $d33 1 $d36 1 $d37 1 $d38 1 $d39 1 $d41 1 $d6 1 $d7 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $mmax 1 $mmin 1 otherwise 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadPlus 1 MonadZero 1 Ord 1 Ordering 1;
 PrelList 1 :: elem 1 head 1;
 PrelNum 1 :: $d17 1 $d18 1;
 PrelTup 1 :: $d11 1 $d13 1 $d15 1 $d49 1 $d51 1 $d9 1 snd 1;
diff --git a/ghc/tests/typecheck/should_compile/tc066.stderr b/ghc/tests/typecheck/should_compile/tc066.stderr
index b97b2208c8a2..2061c9316fa1 100644
--- a/ghc/tests/typecheck/should_compile/tc066.stderr
+++ b/ghc/tests/typecheck/should_compile/tc066.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 $m>> 1 Eval 1 Monad 1 MonadZero 1;
+PrelBase 1 :: $d2 1 $d29 1 $d31 1 $d33 1 $d38 1 $m>> 1 Eval 1 Monad 1 MonadZero 1;
 _exports_
 ShouldSucceed f Pair(MkPair);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc067.stderr b/ghc/tests/typecheck/should_compile/tc067.stderr
index 0a6b7da25d8e..70f50cb268e5 100644
--- a/ghc/tests/typecheck/should_compile/tc067.stderr
+++ b/ghc/tests/typecheck/should_compile/tc067.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed f;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc068.stderr b/ghc/tests/typecheck/should_compile/tc068.stderr
index 6a8a26080895..971a241eeac2 100644
--- a/ghc/tests/typecheck/should_compile/tc068.stderr
+++ b/ghc/tests/typecheck/should_compile/tc068.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d16 1 $d2 1 $d33 1 $d38 1 $d40 1 $d42 1 $d47 1 $d8 1 $m/= 1 not 1 Eq 1 Eval 1;
+PrelBase 1 :: $d13 1 $d2 1 $d26 1 $d29 1 $d31 1 $d33 1 $d38 1 $d7 1 $m/= 1 not 1 Eq 1 Eval 1;
 PrelNum 1 :: $d18 1;
 _exports_
 ShouldSucceed B(X Y) T(D C);
diff --git a/ghc/tests/typecheck/should_compile/tc069.stderr b/ghc/tests/typecheck/should_compile/tc069.stderr
index 4c080cade750..3a436100a5a8 100644
--- a/ghc/tests/typecheck/should_compile/tc069.stderr
+++ b/ghc/tests/typecheck/should_compile/tc069.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed x y ys;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc070.stderr b/ghc/tests/typecheck/should_compile/tc070.stderr
index aba81f5db413..d99fad6d40ad 100644
--- a/ghc/tests/typecheck/should_compile/tc070.stderr
+++ b/ghc/tests/typecheck/should_compile/tc070.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 Eval 1;
+PrelBase 1 :: $d2 1 $d29 1 $d31 1 $d33 1 $d38 1 Eval 1;
 _exports_
 ShouldSucceed idb Boolean(FF TT);
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc073.stderr b/ghc/tests/typecheck/should_compile/tc073.stderr
index 0a6b7da25d8e..70f50cb268e5 100644
--- a/ghc/tests/typecheck/should_compile/tc073.stderr
+++ b/ghc/tests/typecheck/should_compile/tc073.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 ShouldSucceed f;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc074.stderr b/ghc/tests/typecheck/should_compile/tc074.stderr
index 6a8a26080895..971a241eeac2 100644
--- a/ghc/tests/typecheck/should_compile/tc074.stderr
+++ b/ghc/tests/typecheck/should_compile/tc074.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d16 1 $d2 1 $d33 1 $d38 1 $d40 1 $d42 1 $d47 1 $d8 1 $m/= 1 not 1 Eq 1 Eval 1;
+PrelBase 1 :: $d13 1 $d2 1 $d26 1 $d29 1 $d31 1 $d33 1 $d38 1 $d7 1 $m/= 1 not 1 Eq 1 Eval 1;
 PrelNum 1 :: $d18 1;
 _exports_
 ShouldSucceed B(X Y) T(D C);
diff --git a/ghc/tests/typecheck/should_compile/tc076.stderr b/ghc/tests/typecheck/should_compile/tc076.stderr
index dcf88add5405..8a4345345749 100644
--- a/ghc/tests/typecheck/should_compile/tc076.stderr
+++ b/ghc/tests/typecheck/should_compile/tc076.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d24 1 $d25 1 $m>> 1 Monad 1 MonadZero 1;
+PrelBase 1 :: $d17 1 $d18 1 $m>> 1 Monad 1 MonadZero 1;
 _exports_
 ShouldSucceed x xs;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc077.stderr b/ghc/tests/typecheck/should_compile/tc077.stderr
index 3fac8048d012..b52e18b68e96 100644
--- a/ghc/tests/typecheck/should_compile/tc077.stderr
+++ b/ghc/tests/typecheck/should_compile/tc077.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed EQ(===) NUM(ONE TWO) ORD;
diff --git a/ghc/tests/typecheck/should_compile/tc078.stderr b/ghc/tests/typecheck/should_compile/tc078.stderr
index 635d90700599..466a56be6721 100644
--- a/ghc/tests/typecheck/should_compile/tc078.stderr
+++ b/ghc/tests/typecheck/should_compile/tc078.stderr
@@ -4,9 +4,9 @@ tc078.hs:7: Warning: no explicit method nor default method for `=='
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldFail 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d15 1 $d16 1 $d2 1 $d33 1 $d35 1 $d38 1 $d40 1 $d42 1 $d46 1 $d47 1 $d50 1 $d52 1 $d7 1 $d8 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 Eq 1 Eval 1 Ord 1 Ordering 1;
+PrelBase 1 :: $d12 1 $d13 1 $d2 1 $d26 1 $d28 1 $d29 1 $d31 1 $d33 1 $d37 1 $d38 1 $d39 1 $d41 1 $d6 1 $d7 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 Eq 1 Eval 1 Ord 1 Ordering 1;
 PrelNum 1 :: $d17 1 $d18 1;
 _exports_
 ShouldFail Bar(MkBar);
diff --git a/ghc/tests/typecheck/should_compile/tc079.stderr b/ghc/tests/typecheck/should_compile/tc079.stderr
index 111697c16872..64c69d7b9a60 100644
--- a/ghc/tests/typecheck/should_compile/tc079.stderr
+++ b/ghc/tests/typecheck/should_compile/tc079.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d15 1 $d16 1 $d27 1 $d28 1 $d33 1 $d35 1 $d50 1 $d52 1 $d7 1 $d8 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 && 1 Eq 1 Ord 1 Ordering 1;
+PrelBase 1 :: $d12 1 $d13 1 $d20 1 $d21 1 $d26 1 $d28 1 $d39 1 $d41 1 $d6 1 $d7 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 && 1 Eq 1 Ord 1 Ordering 1;
 PrelNum 1 :: $d17 1 $d18 1;
 _exports_
 ShouldSucceed Foo(op1 op2);
diff --git a/ghc/tests/typecheck/should_compile/tc080.stderr b/ghc/tests/typecheck/should_compile/tc080.stderr
index 6a1f478bf50c..3680f807de46 100644
--- a/ghc/tests/typecheck/should_compile/tc080.stderr
+++ b/ghc/tests/typecheck/should_compile/tc080.stderr
@@ -3,9 +3,9 @@ NOTE: Simplifier still going after 4 iterations; bailing out.
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d11 1 $d12 1 $d14 1 $d15 1 $d16 1 $d2 1 $d22 1 $d23 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d3 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 . 1 dropWhile 1 isDigit 1 isSpace 1 ord 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadPlus 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d11 1 $d12 1 $d13 1 $d15 1 $d16 1 $d17 1 $d18 1 $d19 1 $d2 1 $d20 1 $d21 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 . 1 dropWhile 1 isDigit 1 isSpace 1 ord 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadPlus 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Show 1 String 1;
 PrelList 1 :: all 1 length 1 null 1 tail 1;
 PrelNum 1 :: $d1 1 $d10 1 $d15 1 $d16 1 $d17 1 $d18 1 $d2 1 $d29 1 $d30 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d36 1 $d37 1 $d38 1 $d39 1 $d5 1 $d6 1 $d7 1 $d8 1 $mdiv 1 $mdivMod 1 $mmod 1 $mquot 1 $mrem 1 ^ 1 Integral 1 Ratio 1 Rational 1 Real 1;
 PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
diff --git a/ghc/tests/typecheck/should_compile/tc081.stderr b/ghc/tests/typecheck/should_compile/tc081.stderr
index f49dbc2a19c5..45d94995929d 100644
--- a/ghc/tests/typecheck/should_compile/tc081.stderr
+++ b/ghc/tests/typecheck/should_compile/tc081.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d15 1 $d16 1 $d2 1 $d22 1 $d27 1 $d28 1 $d3 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d12 1 $d13 1 $d15 1 $d2 1 $d20 1 $d21 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d6 1 $d7 1 $d8 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d29 1 $d33 1 $d34 1 $d35 1;
 PrelTup 1 :: $d11 1 $d15 1 $d2 1 $d51 1;
 _exports_
diff --git a/ghc/tests/typecheck/should_compile/tc082.stderr b/ghc/tests/typecheck/should_compile/tc082.stderr
index 6e58d5b653df..a67b685d0add 100644
--- a/ghc/tests/typecheck/should_compile/tc082.stderr
+++ b/ghc/tests/typecheck/should_compile/tc082.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
 PrelBase 1 :: id 1;
 _exports_
diff --git a/ghc/tests/typecheck/should_compile/tc084.stderr b/ghc/tests/typecheck/should_compile/tc084.stderr
index f37af692359e..d37ebff838ad 100644
--- a/ghc/tests/typecheck/should_compile/tc084.stderr
+++ b/ghc/tests/typecheck/should_compile/tc084.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed f g h;
diff --git a/ghc/tests/typecheck/should_compile/tc085.stderr b/ghc/tests/typecheck/should_compile/tc085.stderr
index e650de569bbd..c7cd3c08b170 100644
--- a/ghc/tests/typecheck/should_compile/tc085.stderr
+++ b/ghc/tests/typecheck/should_compile/tc085.stderr
@@ -1,15 +1,15 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
 GHC 2 ::;
 IOExts 1 ::;
-PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 Eval 1;
+PrelBase 1 :: $d2 1 $d29 1 $d31 1 $d33 1 $d38 1 Eval 1;
 _exports_
-GHC *# *## **## +# +## -# -## /## /=# /=## <# <## <=# <=## ==# ==## ># >## >=# >=## acosDouble# acosFloat# addr2Int# and# asinDouble# asinFloat# atanDouble# atanFloat# chr# cmpInteger# cosDouble# cosFloat# coshDouble# coshFloat# deRefStablePtr# decodeDouble# decodeFloat# delay# divideFloat# double2Float# double2Int# encodeDouble# encodeFloat# eqAddr# eqChar# eqFloat# eqWord# errorIO# expDouble# expFloat# float2Double# float2Int# fork# geAddr# geChar# geFloat# geWord# gtAddr# gtChar# gtFloat# gtWord# iShiftL# iShiftRA# iShiftRL# indexAddrArray# indexAddrOffAddr# indexAddrOffForeignObj# indexArray# indexCharArray# indexCharOffAddr# indexCharOffForeignObj# indexDoubleArray# indexDoubleOffAddr# indexDoubleOffForeignObj# indexFloatArray# indexFloatOffAddr# indexFloatOffForeignObj# indexIntArray# indexIntOffAddr# indexIntOffForeignObj# int2Addr# int2Double# int2Float# int2Integer# int2Word# integer2Int# leAddr# leChar# leFloat# leWord# logDouble# logFloat# ltAddr# ltChar# ltFloat# ltWord# makeForeignObj# makeStablePtr# minusFloat# minusInteger# neAddr# neChar# neFloat# neWord# negateDouble# negateFloat# negateInt# negateInteger# newAddrArray# newArray# newCharArray# newDoubleArray# newFloatArray# newIntArray# newSynchVar# not# or# ord# par# parAt# parAtAbs# parAtForNow# parAtRel# parGlobal# parLocal# plusFloat# plusInteger# powerFloat# putMVar# quotInt# quotRemInteger# readAddrArray# readArray# readCharArray# readDoubleArray# readFloatArray# readIntArray# realWorld# reallyUnsafePtrEquality# remInt# sameMutableArray# sameMutableByteArray# seq# shiftL# shiftRA# shiftRL# sinDouble# sinFloat# sinhDouble# sinhFloat# sqrtDouble# sqrtFloat# takeMVar# tanDouble# tanFloat# tanhDouble# tanhFloat# timesFloat# timesInteger# unsafeFreezeArray# unsafeFreezeByteArray# waitRead# waitWrite# word2Int# writeAddrArray# writeArray# writeCharArray# writeDoubleArray# writeFloatArray# writeForeignObj# writeIntArray# xor# -> Addr# All Array# ByteArray# Char# Double# Float# ForeignObj# Int# MutableArray# MutableByteArray# RealWorld StablePtr# State# SynchVar# Void Word#;
+GHC *# *## **## +# +## -# -## /## /=# /=## <# <## <=# <=## ==# ==## ># >## >=# >=## acosDouble# acosFloat# addr2Int# and# asinDouble# asinFloat# atanDouble# atanFloat# chr# cmpInteger# cosDouble# cosFloat# coshDouble# coshFloat# deRefStablePtr# decodeDouble# decodeFloat# delay# divideFloat# double2Float# double2Int# encodeDouble# encodeFloat# eqAddr# eqChar# eqFloat# eqWord# errorIO# expDouble# expFloat# float2Double# float2Int# fork# geAddr# geChar# geFloat# geWord# gtAddr# gtChar# gtFloat# gtWord# iShiftL# iShiftRA# iShiftRL# indexAddrArray# indexAddrOffAddr# indexAddrOffForeignObj# indexArray# indexCharArray# indexCharOffAddr# indexCharOffForeignObj# indexDoubleArray# indexDoubleOffAddr# indexDoubleOffForeignObj# indexFloatArray# indexFloatOffAddr# indexFloatOffForeignObj# indexIntArray# indexIntOffAddr# indexIntOffForeignObj# int2Addr# int2Double# int2Float# int2Integer# int2Word# integer2Int# leAddr# leChar# leFloat# leWord# logDouble# logFloat# ltAddr# ltChar# ltFloat# ltWord# makeForeignObj# makeStablePtr# minusFloat# minusInteger# neAddr# neChar# neFloat# neWord# negateDouble# negateFloat# negateInt# negateInteger# newAddrArray# newArray# newCharArray# newDoubleArray# newFloatArray# newIntArray# newSynchVar# not# or# ord# par# parAt# parAtAbs# parAtForNow# parAtRel# parGlobal# parLocal# plusFloat# plusInteger# powerFloat# putMVar# quotInt# quotRemInteger# quotWord# readAddrArray# readArray# readCharArray# readDoubleArray# readFloatArray# readIntArray# realWorld# reallyUnsafePtrEquality# remInt# remWord# sameMutableArray# sameMutableByteArray# seq# shiftL# shiftRA# shiftRL# sinDouble# sinFloat# sinhDouble# sinhFloat# sqrtDouble# sqrtFloat# takeMVar# tanDouble# tanFloat# tanhDouble# tanhFloat# timesFloat# timesInteger# unsafeFreezeArray# unsafeFreezeByteArray# waitRead# waitWrite# word2Int# writeAddrArray# writeArray# writeCharArray# writeDoubleArray# writeFloatArray# writeForeignObj# writeIntArray# xor# -> Addr# All Array# ByteArray# Char# Double# Float# ForeignObj# Int# MutableArray# MutableByteArray# RealWorld StablePtr# State# SynchVar# Void Word#;
 IOBase fixIO performGC;
-IORef newIORef readIORef writeIORef IORef;
+IOExts boundsIOArray freezeIOArray newIOArray newIORef readIOArray readIORef reallyUnsafePtrEq writeIOArray writeIORef IOArray IORef;
 Unsafe trace unsafeInterleaveIO unsafePerformIO;
 _instances_
 instance {PrelBase.Eval FooData} = $d1;
diff --git a/ghc/tests/typecheck/should_compile/tc086.stderr b/ghc/tests/typecheck/should_compile/tc086.stderr
index 1371b0a4d5de..b4167f5ef6b7 100644
--- a/ghc/tests/typecheck/should_compile/tc086.stderr
+++ b/ghc/tests/typecheck/should_compile/tc086.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d55 1 $d56 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Ordering 1 Ordering 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d4 1 $d42 1 $d43 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Ordering 1 Ordering 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 ShouldSucceed Group Ring;
diff --git a/ghc/tests/typecheck/should_compile/tc087.stderr b/ghc/tests/typecheck/should_compile/tc087.stderr
index 8643e5c0756f..d557b7c2c748 100644
--- a/ghc/tests/typecheck/should_compile/tc087.stderr
+++ b/ghc/tests/typecheck/should_compile/tc087.stderr
@@ -1,10 +1,10 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
 IOBase 1 :: $d2 1 $d3 1 $d7 1 IO 1;
-PrelBase 1 :: $d1 1 $d11 1 $d12 1 $d14 1 $d15 1 $d16 1 $d2 1 $d22 1 $d24 1 $d25 1 $d27 1 $d28 1 $d3 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 otherwise 1 Enum 1 Eq 1 Eval 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d11 1 $d12 1 $d13 1 $d15 1 $d17 1 $d18 1 $d2 1 $d20 1 $d21 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 otherwise 1 Enum 1 Eq 1 Eval 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Show 1 String 1;
 PrelIO 1 :: putStr 1;
 PrelList 1 :: sum 1;
 PrelNum 1 :: $d1 1 $d10 1 $d14 1 $d15 1 $d16 1 $d17 1 $d18 1 $d2 1 $d29 1 $d30 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $mdiv 1 $mdivMod 1 $mmod 1 $mquot 1 $mrecip 1 $mrem 1 Fractional 1 Integral 1 Ratio 1 Rational 1 Real 1;
diff --git a/ghc/tests/typecheck/should_compile/tc088.stderr b/ghc/tests/typecheck/should_compile/tc088.stderr
index 4b3e7c879586..25de4ef7785d 100644
--- a/ghc/tests/typecheck/should_compile/tc088.stderr
+++ b/ghc/tests/typecheck/should_compile/tc088.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum ShouldSucceed
+Addr ArrBase Foreign IO PrelBounded PrelNum ShouldSucceed
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d13 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d38 1 $d4 1 $d42 1 $d7 1 $d8 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
 _exports_
 _instances_
diff --git a/ghc/tests/typecheck/should_compile/tc089.stderr b/ghc/tests/typecheck/should_compile/tc089.stderr
index 1de00ea34eea..94e538fa5f17 100644
--- a/ghc/tests/typecheck/should_compile/tc089.stderr
+++ b/ghc/tests/typecheck/should_compile/tc089.stderr
@@ -1,7 +1,7 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _exports_
 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;
 _declarations_
diff --git a/ghc/tests/typecheck/should_compile/tc090.stderr b/ghc/tests/typecheck/should_compile/tc090.stderr
index 9ff968978230..9df2599b3ee9 100644
--- a/ghc/tests/typecheck/should_compile/tc090.stderr
+++ b/ghc/tests/typecheck/should_compile/tc090.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d15 1 $d16 1 $d33 1 $d35 1 $d50 1 $d52 1 $d7 1 $d8 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 Eq 1 Ord 1 Ordering 1;
+PrelBase 1 :: $d12 1 $d13 1 $d26 1 $d28 1 $d39 1 $d41 1 $d6 1 $d7 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 Eq 1 Ord 1 Ordering 1;
 PrelNum 1 :: $d17 1 $d18 1;
 _exports_
 ShouldSucceed a b;
diff --git a/ghc/tests/typecheck/should_compile/tc091.stderr b/ghc/tests/typecheck/should_compile/tc091.stderr
index b5319e9c6051..02a66e50d843 100644
--- a/ghc/tests/typecheck/should_compile/tc091.stderr
+++ b/ghc/tests/typecheck/should_compile/tc091.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d11 1 $d12 1 $d14 1 $d15 1 $d16 1 $d2 1 $d22 1 $d27 1 $d28 1 $d3 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 Enum 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d11 1 $d12 1 $d13 1 $d15 1 $d2 1 $d20 1 $d21 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 Enum 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 String 1;
 PrelList 1 :: length 1;
 PrelNum 1 :: $d1 1 $d10 1 $d15 1 $d16 1 $d17 1 $d18 1 $d2 1 $d29 1 $d30 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d36 1 $d37 1 $d38 1 $d39 1 $d5 1 $d6 1 $d7 1 $d8 1 $mdiv 1 $mdivMod 1 $mmod 1 $mquot 1 $mrem 1 Integral 1 Ratio 1 Rational 1 Real 1;
 PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
diff --git a/ghc/tests/typecheck/should_compile/tc092.stderr b/ghc/tests/typecheck/should_compile/tc092.stderr
index b66c1f4c5c45..99f65c73a6a9 100644
--- a/ghc/tests/typecheck/should_compile/tc092.stderr
+++ b/ghc/tests/typecheck/should_compile/tc092.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d15 1 $d16 1 $d2 1 $d27 1 $d28 1 $d33 1 $d35 1 $d38 1 $d40 1 $d42 1 $d45 1 $d46 1 $d47 1 $d50 1 $d52 1 $d7 1 $d8 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 Eq 1 Eval 1 Ord 1 Ordering 1;
+PrelBase 1 :: $d12 1 $d13 1 $d2 1 $d20 1 $d21 1 $d26 1 $d28 1 $d29 1 $d31 1 $d33 1 $d36 1 $d37 1 $d38 1 $d39 1 $d41 1 $d6 1 $d7 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 Eq 1 Eval 1 Ord 1 Ordering 1;
 PrelNum 1 :: $d17 1 $d18 1;
 _exports_
 ShouldSucceed e0 e1 e2 q Empty(Empty);
diff --git a/ghc/tests/typecheck/should_compile/tc093.stderr b/ghc/tests/typecheck/should_compile/tc093.stderr
index 5ee6184e0623..f9652e791a21 100644
--- a/ghc/tests/typecheck/should_compile/tc093.stderr
+++ b/ghc/tests/typecheck/should_compile/tc093.stderr
@@ -1,9 +1,9 @@
 ghc: module version changed to 1; reason: no old .hi file
 _interface_ ShouldSucceed 1
 _instance_modules_
-Addr ArrBase Foreign IO PrelNum
+Addr ArrBase Foreign IO PrelBounded PrelNum
 _usages_
-PrelBase 1 :: $d1 1 $d12 1 $d15 1 $d16 1 $d2 1 $d22 1 $d25 1 $d27 1 $d28 1 $d3 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 && 1 . 1 not 1 showList__ 1 showParen 1 showSpace 1 showString 1 Eq 1 Eval 1 Monad 1 Num 1 Ord 1 Ordering 1 Show 1 ShowS 1 String 1;
+PrelBase 1 :: $d1 1 $d10 1 $d12 1 $d13 1 $d15 1 $d18 1 $d2 1 $d20 1 $d21 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d6 1 $d7 1 $d8 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 && 1 . 1 not 1 showList__ 1 showParen 1 showSpace 1 showString 1 Eq 1 Eval 1 Monad 1 Num 1 Ord 1 Ordering 1 Show 1 ShowS 1 String 1;
 PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d29 1 $d33 1 $d34 1 $d35 1;
 PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
 _exports_
diff --git a/ghc/tests/typecheck/should_fail/Digraph.stderr b/ghc/tests/typecheck/should_fail/Digraph.stderr
index 51066077bd2a..07699c348297 100644
--- a/ghc/tests/typecheck/should_fail/Digraph.stderr
+++ b/ghc/tests/typecheck/should_fail/Digraph.stderr
@@ -1,7 +1,7 @@
  
 Digraph.hs:19: A type signature is more polymorphic than the inferred type
-		   Can't for-all the type variable(s) `taYK'
-		   in the inferred type `[Edge taYK]'
+		   Can't for-all the type variable(s) `taY7'
+		   in the inferred type `[Edge taY7]'
     When checking signature for `reversed_edges'
     In an equation for function `stronglyConnComp':
 	`stronglyConnComp es vs
diff --git a/ghc/tests/typecheck/should_fail/tcfail001.stderr b/ghc/tests/typecheck/should_fail/tcfail001.stderr
index 8c791bbaaf54..0eae5f487e93 100644
--- a/ghc/tests/typecheck/should_fail/tcfail001.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail001.stderr
@@ -2,9 +2,9 @@
 tcfail001.hs:9:warning:
     Duplicated class assertion `A a' in context: `(A a, A a)'
  
-tcfail001.hs:9: Couldn't match the type `-> oamd' against `[]'
-    Expected: `oamd -> oame'
-    Inferred: `[tamb]'
+tcfail001.hs:9: Couldn't match the type `-> oalM' against `[]'
+    Expected: `oalM -> oalN'
+    Inferred: `[talK]'
     In an equation for function `op': `op [] = []'
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail002.stderr b/ghc/tests/typecheck/should_fail/tcfail002.stderr
index 27d80c2a8f57..5b5bc931f760 100644
--- a/ghc/tests/typecheck/should_fail/tcfail002.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail002.stderr
@@ -1,8 +1,8 @@
  
 tcfail002.hs:4: Cannot construct the infinite type (occur check)
-		    `talR' = `[talR]'
-    Expected: `[talR]'
-    Inferred: `talR'
+		    `talq' = `[talq]'
+    Expected: `[talq]'
+    Inferred: `talq'
     In an equation for function `c': `c z = z'
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail004.stderr b/ghc/tests/typecheck/should_fail/tcfail004.stderr
index 3a12eb67d2a8..c29256726133 100644
--- a/ghc/tests/typecheck/should_fail/tcfail004.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail004.stderr
@@ -1,7 +1,7 @@
  
-tcfail004.hs:3: Couldn't match the type `(,,) taUT' against `(,)'
-    Expected: `(taUT, taUV, taUX)'
-    Inferred: `(taUN, taUQ)'
+tcfail004.hs:3: Couldn't match the type `(,,) taUg' against `(,)'
+    Expected: `(taUg, taUi, taUk)'
+    Inferred: `(taUa, taUd)'
     In a pattern binding: `(f, g) = (1, 2, 3)'
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail005.stderr b/ghc/tests/typecheck/should_fail/tcfail005.stderr
index 38e9a9dd8598..0e9eddda790c 100644
--- a/ghc/tests/typecheck/should_fail/tcfail005.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail005.stderr
@@ -1,7 +1,7 @@
  
-tcfail005.hs:3: Couldn't match the type `(,) taU7' against `[]'
-    Expected: `(taU7, taU9)'
-    Inferred: `[taU3]'
+tcfail005.hs:3: Couldn't match the type `(,) taTu' against `[]'
+    Expected: `(taTu, taTw)'
+    Inferred: `[taTq]'
     In a pattern binding: `(h : i) = (1, ('a'))'
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail008.stderr b/ghc/tests/typecheck/should_fail/tcfail008.stderr
index 18abfc50b352..311eed1bc549 100644
--- a/ghc/tests/typecheck/should_fail/tcfail008.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail008.stderr
@@ -1,8 +1,8 @@
  
-tcfail008.hs:3: No instance for: `Num [taEy]'
+tcfail008.hs:3: No instance for: `Num [taDV]'
     arising from the literal 2 at tcfail008.hs:3
  
-tcfail008.hs:3: No instance for: `Num [taEy]'
+tcfail008.hs:3: No instance for: `Num [taDV]'
     arising from the literal 2 at tcfail008.hs:3
  
 tcfail008.hs:3: No instance for: `Num [Int]'
diff --git a/ghc/tests/typecheck/should_fail/tcfail010.stderr b/ghc/tests/typecheck/should_fail/tcfail010.stderr
index a4c2089da950..f12dfd693630 100644
--- a/ghc/tests/typecheck/should_fail/tcfail010.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail010.stderr
@@ -1,8 +1,8 @@
  
-tcfail010.hs:3: No instance for: `Num [taEH]'
+tcfail010.hs:3: No instance for: `Num [taE4]'
     arising from use of `+' at tcfail010.hs:3
  
-tcfail010.hs:3: No instance for: `Num [taEH]'
+tcfail010.hs:3: No instance for: `Num [taE4]'
     arising from use of `+' at tcfail010.hs:3
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail012.stderr b/ghc/tests/typecheck/should_fail/tcfail012.stderr
index 954d4617ac7a..5657049ec4e5 100644
--- a/ghc/tests/typecheck/should_fail/tcfail012.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail012.stderr
@@ -1,6 +1,6 @@
  
-tcfail012.hs:3: Couldn't match the type `[talB]' against `Bool'
-    Expected: `[talB]'
+tcfail012.hs:3: Couldn't match the type `[tala]' against `Bool'
+    Expected: `[tala]'
     Inferred: `Bool'
     In a pattern binding: `True = []'
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail013.stderr b/ghc/tests/typecheck/should_fail/tcfail013.stderr
index 5d3a555d8f70..5d8bde375a1b 100644
--- a/ghc/tests/typecheck/should_fail/tcfail013.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail013.stderr
@@ -1,7 +1,7 @@
  
-tcfail013.hs:4: Couldn't match the type `[taEE]' against `Bool'
+tcfail013.hs:4: Couldn't match the type `[taE1]' against `Bool'
     Expected: `Bool'
-    Inferred: `[taEE]'
+    Inferred: `[taE1]'
     In an equation for function `f': `f True = 2'
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail014.stderr b/ghc/tests/typecheck/should_fail/tcfail014.stderr
index bf65e9bc84f5..4b5304adca51 100644
--- a/ghc/tests/typecheck/should_fail/tcfail014.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail014.stderr
@@ -1,8 +1,8 @@
  
 tcfail014.hs:5: Cannot construct the infinite type (occur check)
-		    `oaF6' = `oaF6 -> oaF8'
-    Expected: `oaF6 -> oaF8'
-    Inferred: `oaF6'
+		    `oaEt' = `oaEt -> oaEv'
+    Expected: `oaEt -> oaEv'
+    Inferred: `oaEt'
     In the first argument of `z', namely `z'
     In an equation for function `h': `h z = z z'
     In an equation for function `g':
@@ -11,7 +11,7 @@ tcfail014.hs:5: Cannot construct the infinite type (occur check)
 	   where
 	       h z = z z'
  
-tcfail014.hs:5: No instance for: `Num (taFs -> taFu)'
+tcfail014.hs:5: No instance for: `Num (taEP -> taER)'
     arising from use of `+' at tcfail014.hs:5
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail016.stderr b/ghc/tests/typecheck/should_fail/tcfail016.stderr
index c2df52f61341..f5eb71330ecf 100644
--- a/ghc/tests/typecheck/should_fail/tcfail016.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail016.stderr
@@ -1,7 +1,7 @@
  
-tcfail016.hs:9: Couldn't match the type `Expr' against `(,) taUk'
-    Expected: `AnnExpr taUk'
-    Inferred: `Expr taUk'
+tcfail016.hs:9: Couldn't match the type `Expr' against `(,) taTH'
+    Expected: `AnnExpr taTH'
+    Inferred: `Expr taTH'
     In the first argument of `g', namely `e1'
     In the first argument of `++', namely `(g e1)'
     In an equation for function `g': `g (App e1 e2) = (g e1) ++ (g e2)'
diff --git a/ghc/tests/typecheck/should_fail/tcfail017.stderr b/ghc/tests/typecheck/should_fail/tcfail017.stderr
index 9431a0873fa7..02b6adbdfe58 100644
--- a/ghc/tests/typecheck/should_fail/tcfail017.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail017.stderr
@@ -1,5 +1,5 @@
  
-tcfail017.hs:11: No instance for: `C [tamh]'
+tcfail017.hs:11: No instance for: `C [talQ]'
     arising from an instance declaration at tcfail017.hs:11
     When checking superclass constraints of an instance declaration
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail018.stderr b/ghc/tests/typecheck/should_fail/tcfail018.stderr
index ecb7bed3e10d..37eab56fcbd5 100644
--- a/ghc/tests/typecheck/should_fail/tcfail018.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail018.stderr
@@ -1,8 +1,8 @@
  
-tcfail018.hs:5: No instance for: `Num [taEA]'
+tcfail018.hs:5: No instance for: `Num [taDX]'
     arising from the literal 1 at tcfail018.hs:5
  
-tcfail018.hs:5: No instance for: `Num [taEA]'
+tcfail018.hs:5: No instance for: `Num [taDX]'
     arising from the literal 1 at tcfail018.hs:5
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail019.stderr b/ghc/tests/typecheck/should_fail/tcfail019.stderr
index 94b0b4e5a2e1..181afc8440e7 100644
--- a/ghc/tests/typecheck/should_fail/tcfail019.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail019.stderr
@@ -1,17 +1,17 @@
  
-tcfail019.hs:19: No instance for: `B [tamO]'
+tcfail019.hs:19: No instance for: `B [tamn]'
     arising from an instance declaration at tcfail019.hs:19
     When checking methods of an instance declaration
  
-tcfail019.hs:19: No instance for: `C [tamO]'
+tcfail019.hs:19: No instance for: `C [tamn]'
     arising from an instance declaration at tcfail019.hs:19
     When checking methods of an instance declaration
  
-tcfail019.hs:19: No instance for: `B [tamO]'
+tcfail019.hs:19: No instance for: `B [tamn]'
     arising from an instance declaration at tcfail019.hs:19
     When checking superclass constraints of an instance declaration
  
-tcfail019.hs:19: No instance for: `C [tamO]'
+tcfail019.hs:19: No instance for: `C [tamn]'
     arising from an instance declaration at tcfail019.hs:19
     When checking superclass constraints of an instance declaration
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail020.stderr b/ghc/tests/typecheck/should_fail/tcfail020.stderr
index ec1caf0733e4..0932038095d7 100644
--- a/ghc/tests/typecheck/should_fail/tcfail020.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail020.stderr
@@ -1,5 +1,5 @@
  
-tcfail020.hs:11: No instance for: `A [taEp]'
+tcfail020.hs:11: No instance for: `A [taDM]'
     arising from an instance declaration at tcfail020.hs:11
     When checking superclass constraints of an instance declaration
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail028.stderr b/ghc/tests/typecheck/should_fail/tcfail028.stderr
index 280f45acd83e..0f9d475464ec 100644
--- a/ghc/tests/typecheck/should_fail/tcfail028.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail028.stderr
@@ -1,6 +1,6 @@
  
-tcfail028.hs:4: Couldn't match the kind `ka2689 -> *' against `*'
-    When unifying two kinds `ka2689 -> *' and `*'
+tcfail028.hs:4: Couldn't match the kind `ka2649 -> *' against `*'
+    When unifying two kinds `ka2649 -> *' and `*'
     In the data declaration for `A'
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail032.stderr b/ghc/tests/typecheck/should_fail/tcfail032.stderr
index 1bcfb865b21e..dbf16533c74e 100644
--- a/ghc/tests/typecheck/should_fail/tcfail032.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail032.stderr
@@ -1,7 +1,7 @@
  
 tcfail032.hs:14: A type signature is more polymorphic than the inferred type
-		     Can't for-all the type variable(s) `taDB'
-		     in the inferred type `taDB -> Int'
+		     Can't for-all the type variable(s) `taCY'
+		     in the inferred type `taCY -> Int'
     In an expression with a type signature:
 	`x :: _forall_ [a] (Eq a) => a -> Int'
 
diff --git a/ghc/tests/typecheck/should_fail/tcfail033.stderr b/ghc/tests/typecheck/should_fail/tcfail033.stderr
index 9052ddba7d6b..f510c2281460 100644
--- a/ghc/tests/typecheck/should_fail/tcfail033.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail033.stderr
@@ -1,8 +1,8 @@
  
 tcfail033.hs:4: Cannot construct the infinite type (occur check)
-		    `taIc' = `(taIc, taIf)'
-    Expected: `aaIh taIc'
-    Inferred: `aaIh (taIc, taIf)'
+		    `taHe' = `(taHe, taHh)'
+    Expected: `aaHj taHe'
+    Inferred: `aaHj (taHe, taHh)'
     In a pattern binding: `buglet = [x | (x, y) <- buglet]'
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail034.stderr b/ghc/tests/typecheck/should_fail/tcfail034.stderr
index b24a1384d96b..4d7ca4366c58 100644
--- a/ghc/tests/typecheck/should_fail/tcfail034.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail034.stderr
@@ -1,7 +1,7 @@
  
-tcfail034.hs:13: Context `{Integral taWK}'
+tcfail034.hs:13: Context `{Integral taW7}'
 		     required by inferred type, but missing on a type signature
-		     `Integral taWK' arising from use of `mod' at tcfail034.hs:17
+		     `Integral taW7' arising from use of `mod' at tcfail034.hs:17
     When checking signature(s) for: `test'
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail040.stderr b/ghc/tests/typecheck/should_fail/tcfail040.stderr
index 37a8b172a61d..57640e4a4b3f 100644
--- a/ghc/tests/typecheck/should_fail/tcfail040.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail040.stderr
@@ -1,5 +1,5 @@
  
-tcfail040.hs:3: Ambiguous context `{ORD taEt}'
-		    `ORD taEt' arising from use of `<<' at tcfail040.hs:19
+tcfail040.hs:3: Ambiguous context `{ORD taDQ}'
+		    `ORD taDQ' arising from use of `<<' at tcfail040.hs:19
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail042.stderr b/ghc/tests/typecheck/should_fail/tcfail042.stderr
index 7c4aa5de17d6..4223b27666a3 100644
--- a/ghc/tests/typecheck/should_fail/tcfail042.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail042.stderr
@@ -1,7 +1,7 @@
  
-tcfail042.hs:18: Context `{Num taFC}'
+tcfail042.hs:18: Context `{Num taEZ}'
 		     required by inferred type, but missing on a type signature
-		     `Num taFC' arising from an instance declaration at tcfail042.hs:18
+		     `Num taEZ' arising from an instance declaration at tcfail042.hs:18
     When checking superclass constraints of an instance declaration
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail065.stderr b/ghc/tests/typecheck/should_fail/tcfail065.stderr
index 1002a1d75521..bac2bd6969f4 100644
--- a/ghc/tests/typecheck/should_fail/tcfail065.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail065.stderr
@@ -1,7 +1,7 @@
  
 tcfail065.hs:29: A type signature is more polymorphic than the inferred type
-		     Can't for-all the type variable(s) `taKg'
-		     in the inferred type `taKg -> X taKg -> X taKg'
+		     Can't for-all the type variable(s) `taJC'
+		     in the inferred type `taJC -> X taJC -> X taJC'
     When checking signature for `setX'
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail067.stderr b/ghc/tests/typecheck/should_fail/tcfail067.stderr
index d19c5eab4299..31d616fe2902 100644
--- a/ghc/tests/typecheck/should_fail/tcfail067.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail067.stderr
@@ -5,14 +5,14 @@ tcfail067.hs:65: Warning: no explicit method nor default method for `abs'
 tcfail067.hs:65: Warning: no explicit method nor default method for `signum'
 		 in an instance declaration for `Num'
  
-tcfail067.hs:1: Context `{Ord ta19s}'
+tcfail067.hs:1: Context `{Ord ta18P}'
 		    required by inferred type, but missing on a type signature
-		    `Ord ta19s' arising from use of `SubRange' at tcfail067.hs:76
+		    `Ord ta18P' arising from use of `SubRange' at tcfail067.hs:76
     When checking signature(s) for: `numSubRangeBinOp'
  
-tcfail067.hs:65: Context `{Ord ta1aY}'
+tcfail067.hs:65: Context `{Ord ta1al}'
 		     required by inferred type, but missing on a type signature
-		     `Ord ta1aY' arising from use of `numSubRangeNegate' at tcfail067.hs:61
+		     `Ord ta1al' arising from use of `numSubRangeNegate' at tcfail067.hs:61
     When checking methods of an instance declaration
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail068.stderr b/ghc/tests/typecheck/should_fail/tcfail068.stderr
index ffaed805ea37..584e5f06f76b 100644
--- a/ghc/tests/typecheck/should_fail/tcfail068.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail068.stderr
@@ -1,7 +1,7 @@
  
 tcfail068.hs:45: A type signature is more polymorphic than the inferred type
-		     Can't for-all the type variable(s) `ta16y'
-		     in the inferred type `ST ta16y (ta16r, IndTree ta16y ta16o)'
+		     Can't for-all the type variable(s) `ta17h'
+		     in the inferred type `ST ta17h (ta17a, IndTree ta17h ta177)'
     In a polymorphic function argument `(itrapstate' i k s)'
     In the first argument of `runST', namely `(itrapstate' i k s)'
     In an equation for function `itrapstate':
@@ -26,8 +26,8 @@ tcfail068.hs:45: A type signature is more polymorphic than the inferred type
 					   >>= (\ (s, arr) -> itrapstate' i (k + 1) s))'
  
 tcfail068.hs:32: A type signature is more polymorphic than the inferred type
-		     Can't for-all the type variable(s) `ta19A'
-		     in the inferred type `ST ta19A (IndTree ta19A ta19x)'
+		     Can't for-all the type variable(s) `ta1aj'
+		     in the inferred type `ST ta1aj (IndTree ta1aj ta1ag)'
     In a polymorphic function argument `(itrap' i k)'
     In the first argument of `runST', namely `(itrap' i k)'
     In an equation for function `itrap':
@@ -49,8 +49,8 @@ tcfail068.hs:32: A type signature is more polymorphic than the inferred type
 				((itrapsnd i k) >> (itrap' i (k + 1)))'
  
 tcfail068.hs:21: A type signature is more polymorphic than the inferred type
-		     Can't for-all the type variable(s) `ta1bT'
-		     in the inferred type `ST ta1bT (IndTree ta1bT ta1bE)'
+		     Can't for-all the type variable(s) `ta1cC'
+		     in the inferred type `ST ta1cC (IndTree ta1cC ta1cn)'
     In a polymorphic function argument `((readArray arr i)
 					 >>= (\ val -> (writeArray arr i (f val)) >> (return arr)))'
     In the first argument of `runST', namely
@@ -62,8 +62,8 @@ tcfail068.hs:21: A type signature is more polymorphic than the inferred type
 			>>= (\ val -> (writeArray arr i (f val)) >> (return arr)))'
  
 tcfail068.hs:14: A type signature is more polymorphic than the inferred type
-		     Can't for-all the type variable(s) `ta1cM'
-		     in the inferred type `ST ta1cM (IndTree ta1cM ta1cF)'
+		     Can't for-all the type variable(s) `ta1dv'
+		     in the inferred type `ST ta1dv (IndTree ta1dv ta1do)'
     In a polymorphic function argument `(newArray ((1, (1)), (n)) x)'
     In the first argument of `runST', namely
 	`(newArray ((1, (1)), (n)) x)'
diff --git a/ghc/tests/typecheck/should_fail/tcfail069.stderr b/ghc/tests/typecheck/should_fail/tcfail069.stderr
index 0a081e9a215c..db567536be8f 100644
--- a/ghc/tests/typecheck/should_fail/tcfail069.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail069.stderr
@@ -1,6 +1,6 @@
  
-tcfail069.hs:21: Couldn't match the type `(,) taAJ' against `[]'
-    Expected: `[taAN]'
+tcfail069.hs:21: Couldn't match the type `(,) taAi' against `[]'
+    Expected: `[taAm]'
     Inferred: `([Int], [Int])'
     In a "case" branch: `[]' -> `error "foo"'
     In the case expression `case (list1, (list2)) of [] -> error "foo"'
diff --git a/ghc/tests/typecheck/should_fail/tcfail070.stderr b/ghc/tests/typecheck/should_fail/tcfail070.stderr
index a332f23b0ef1..804bde15d311 100644
--- a/ghc/tests/typecheck/should_fail/tcfail070.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail070.stderr
@@ -1,6 +1,6 @@
  
-tcfail070.hs:13: Couldn't match the kind `*' against `* -> ka1998'
-    When unifying two kinds `*' and `* -> ka1998'
+tcfail070.hs:13: Couldn't match the kind `*' against `* -> ka1937'
+    When unifying two kinds `*' and `* -> ka1937'
     In the type declaration for `State'
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail071.stderr b/ghc/tests/typecheck/should_fail/tcfail071.stderr
index e36f4466a587..4bcb964c0e74 100644
--- a/ghc/tests/typecheck/should_fail/tcfail071.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail071.stderr
@@ -1,8 +1,8 @@
  
 tcfail071.hs:10: Couldn't match the signature/existential type variable
-		     `taEm' with the type `taEz -> taEw -> taEw'
-    Expected: `taEm'
-    Inferred: `taEz -> taEw -> taEw'
+		     `taDJ' with the type `taDW -> taDT -> taDT'
+    Expected: `taDJ'
+    Inferred: `taDW -> taDT -> taDT'
     In the first argument of `f', namely `c'
     In the first argument of `foldr', namely `(f c)'
     In a pattern binding: `p = foldr (f c) [] []'
diff --git a/ghc/tests/typecheck/should_fail/tcfail072.stderr b/ghc/tests/typecheck/should_fail/tcfail072.stderr
index 208259aeedd4..108ac3654f21 100644
--- a/ghc/tests/typecheck/should_fail/tcfail072.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail072.stderr
@@ -1,6 +1,6 @@
  
-tcfail072.hs:17: Ambiguous context `{Ord taEJ}'
-		     `Ord taEJ' arising from use of `g' at tcfail072.hs:23
+tcfail072.hs:17: Ambiguous context `{Ord taE6}'
+		     `Ord taE6' arising from use of `g' at tcfail072.hs:23
     When checking signature(s) for: `g'
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail073.stderr b/ghc/tests/typecheck/should_fail/tcfail073.stderr
index 01d7d68eb034..83ac0e662a81 100644
--- a/ghc/tests/typecheck/should_fail/tcfail073.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail073.stderr
@@ -8,9 +8,9 @@ tcfail073.hs:3: Duplicate or overlapping instance declarations
 tcfail073.hs:3: Duplicate or overlapping instance declarations
     for `Eq (a, b)' at tcfail073.hs:8 and <NoSrcLoc>
  
-tcfail073.hs:8: Context `{Eq taTH}'
+tcfail073.hs:8: Context `{Eq taT4}'
 		    required by inferred type, but missing on a type signature
-		    `Eq taTH' arising from use of `==' at tcfail073.hs:8
+		    `Eq taT4' arising from use of `==' at tcfail073.hs:8
     When checking methods of an instance declaration
 
 Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail076.stderr b/ghc/tests/typecheck/should_fail/tcfail076.stderr
index 641470a3bc21..81b086a4ac95 100644
--- a/ghc/tests/typecheck/should_fail/tcfail076.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail076.stderr
@@ -1,7 +1,7 @@
  
 tcfail076.hs:20: A type signature is more polymorphic than the inferred type
-		     Can't for-all the type variable(s) `taEJ'
-		     in the inferred type `(taEz -> aaEy taEJ) -> aaEy taEJ'
+		     Can't for-all the type variable(s) `taE6'
+		     in the inferred type `(taDW -> aaDV taE6) -> aaDV taE6'
     In a polymorphic function argument `(\ cont' -> cont a)'
     In the first argument of `KContT', namely `(\ cont' -> cont a)'
     In the first argument of `f', namely
-- 
GitLab