diff --git a/testsuite/tests/generics/GenDerivOutput.stderr b/testsuite/tests/generics/GenDerivOutput.stderr
index b47b3f3e42990c2d550e7105e738937d8203a322..337118b63f98481050755d0970866e5362bbf479 100644
--- a/testsuite/tests/generics/GenDerivOutput.stderr
+++ b/testsuite/tests/generics/GenDerivOutput.stderr
@@ -92,10 +92,12 @@ Derived instances:
     GHC.Generics.datatypeName _ = "List"
     GHC.Generics.moduleName _ = "GenDerivOutput"
   
-  instance GHC.Generics.Constructor GenDerivOutput.C1_0List where
+  instance GHC.Generics.Constructor
+             (GenDerivOutput.C1_0List GenDerivOutput.D1List) where
     GHC.Generics.conName _ = "Nil"
   
-  instance GHC.Generics.Constructor GenDerivOutput.C1_1List where
+  instance GHC.Generics.Constructor
+             (GenDerivOutput.C1_1List GenDerivOutput.D1List) where
     GHC.Generics.conName _ = "Cons"
     GHC.Generics.conIsRecord _ = GHC.Types.True
   
@@ -109,10 +111,12 @@ Derived instances:
     GHC.Generics.datatypeName _ = "Rose"
     GHC.Generics.moduleName _ = "GenDerivOutput"
   
-  instance GHC.Generics.Constructor GenDerivOutput.C1_0Rose where
+  instance GHC.Generics.Constructor
+             (GenDerivOutput.C1_0Rose GenDerivOutput.D1Rose) where
     GHC.Generics.conName _ = "Empty"
   
-  instance GHC.Generics.Constructor GenDerivOutput.C1_1Rose where
+  instance GHC.Generics.Constructor
+             (GenDerivOutput.C1_1Rose GenDerivOutput.D1Rose) where
     GHC.Generics.conName _ = "Rose"
   
 
@@ -134,9 +138,12 @@ Generic representation:
     type GHC.Generics.Rep (GenDerivOutput.List a) = GHC.Generics.D1
                                                       GenDerivOutput.D1List
                                                       (GHC.Generics.C1
-                                                         GenDerivOutput.C1_0List GHC.Generics.U1
+                                                         (GenDerivOutput.C1_0List
+                                                            GenDerivOutput.D1List)
+                                                         GHC.Generics.U1
                                                        GHC.Generics.:+: GHC.Generics.C1
-                                                                          GenDerivOutput.C1_1List
+                                                                          (GenDerivOutput.C1_1List
+                                                                             GenDerivOutput.D1List)
                                                                           (GHC.Generics.S1
                                                                              GenDerivOutput.S1_1_0List
                                                                              (GHC.Generics.Rec0 a)
@@ -148,9 +155,12 @@ Generic representation:
     type GHC.Generics.Rep1 GenDerivOutput.List = GHC.Generics.D1
                                                    GenDerivOutput.D1List
                                                    (GHC.Generics.C1
-                                                      GenDerivOutput.C1_0List GHC.Generics.U1
+                                                      (GenDerivOutput.C1_0List
+                                                         GenDerivOutput.D1List)
+                                                      GHC.Generics.U1
                                                     GHC.Generics.:+: GHC.Generics.C1
-                                                                       GenDerivOutput.C1_1List
+                                                                       (GenDerivOutput.C1_1List
+                                                                          GenDerivOutput.D1List)
                                                                        (GHC.Generics.S1
                                                                           GenDerivOutput.S1_1_0List
                                                                           GHC.Generics.Par1
@@ -161,9 +171,12 @@ Generic representation:
     type GHC.Generics.Rep (GenDerivOutput.Rose a) = GHC.Generics.D1
                                                       GenDerivOutput.D1Rose
                                                       (GHC.Generics.C1
-                                                         GenDerivOutput.C1_0Rose GHC.Generics.U1
+                                                         (GenDerivOutput.C1_0Rose
+                                                            GenDerivOutput.D1Rose)
+                                                         GHC.Generics.U1
                                                        GHC.Generics.:+: GHC.Generics.C1
-                                                                          GenDerivOutput.C1_1Rose
+                                                                          (GenDerivOutput.C1_1Rose
+                                                                             GenDerivOutput.D1Rose)
                                                                           (GHC.Generics.S1
                                                                              GHC.Generics.NoSelector
                                                                              (GHC.Generics.Rec0 a)
@@ -176,9 +189,12 @@ Generic representation:
     type GHC.Generics.Rep1 GenDerivOutput.Rose = GHC.Generics.D1
                                                    GenDerivOutput.D1Rose
                                                    (GHC.Generics.C1
-                                                      GenDerivOutput.C1_0Rose GHC.Generics.U1
+                                                      (GenDerivOutput.C1_0Rose
+                                                         GenDerivOutput.D1Rose)
+                                                      GHC.Generics.U1
                                                     GHC.Generics.:+: GHC.Generics.C1
-                                                                       GenDerivOutput.C1_1Rose
+                                                                       (GenDerivOutput.C1_1Rose
+                                                                          GenDerivOutput.D1Rose)
                                                                        (GHC.Generics.S1
                                                                           GHC.Generics.NoSelector
                                                                           GHC.Generics.Par1
diff --git a/testsuite/tests/generics/GenDerivOutput1_0.stderr b/testsuite/tests/generics/GenDerivOutput1_0.stderr
index 222d2d3165cb136415f43a96af49b162b0e54640..3455e4da4a50e68735eef0ac744148b7e5fa1f41 100644
--- a/testsuite/tests/generics/GenDerivOutput1_0.stderr
+++ b/testsuite/tests/generics/GenDerivOutput1_0.stderr
@@ -25,10 +25,12 @@ Derived instances:
     GHC.Generics.datatypeName _ = "List"
     GHC.Generics.moduleName _ = "GenDerivOutput1_0"
   
-  instance GHC.Generics.Constructor GenDerivOutput1_0.C1_0List where
+  instance GHC.Generics.Constructor
+             (GenDerivOutput1_0.C1_0List GenDerivOutput1_0.D1List) where
     GHC.Generics.conName _ = "Nil"
   
-  instance GHC.Generics.Constructor GenDerivOutput1_0.C1_1List where
+  instance GHC.Generics.Constructor
+             (GenDerivOutput1_0.C1_1List GenDerivOutput1_0.D1List) where
     GHC.Generics.conName _ = "Cons"
     GHC.Generics.conIsRecord _ = GHC.Types.True
   
@@ -52,9 +54,12 @@ Generic representation:
     type GHC.Generics.Rep1 GenDerivOutput1_0.List = GHC.Generics.D1
                                                       GenDerivOutput1_0.D1List
                                                       (GHC.Generics.C1
-                                                         GenDerivOutput1_0.C1_0List GHC.Generics.U1
+                                                         (GenDerivOutput1_0.C1_0List
+                                                            GenDerivOutput1_0.D1List)
+                                                         GHC.Generics.U1
                                                        GHC.Generics.:+: GHC.Generics.C1
-                                                                          GenDerivOutput1_0.C1_1List
+                                                                          (GenDerivOutput1_0.C1_1List
+                                                                             GenDerivOutput1_0.D1List)
                                                                           (GHC.Generics.S1
                                                                              GenDerivOutput1_0.S1_1_0List
                                                                              GHC.Generics.Par1
diff --git a/testsuite/tests/generics/GenDerivOutput1_1.stderr b/testsuite/tests/generics/GenDerivOutput1_1.stderr
index 6b9f5469908ffa0f25db09b30e558f948017af5b..0747bd771623f5a2bc866d4e7ead9c512f38da84 100644
--- a/testsuite/tests/generics/GenDerivOutput1_1.stderr
+++ b/testsuite/tests/generics/GenDerivOutput1_1.stderr
@@ -157,10 +157,12 @@ Derived instances:
     GHC.Generics.datatypeName _ = "Da"
     GHC.Generics.moduleName _ = "CanDoRep1_1"
   
-  instance GHC.Generics.Constructor CanDoRep1_1.C1_0Da where
+  instance GHC.Generics.Constructor
+             (CanDoRep1_1.C1_0Da CanDoRep1_1.D1Da) where
     GHC.Generics.conName _ = "D0"
   
-  instance GHC.Generics.Constructor CanDoRep1_1.C1_1Da where
+  instance GHC.Generics.Constructor
+             (CanDoRep1_1.C1_1Da CanDoRep1_1.D1Da) where
     GHC.Generics.conName _ = "D1"
     GHC.Generics.conIsRecord _ = GHC.Types.True
   
@@ -174,10 +176,12 @@ Derived instances:
     GHC.Generics.datatypeName _ = "Db"
     GHC.Generics.moduleName _ = "CanDoRep1_1"
   
-  instance GHC.Generics.Constructor CanDoRep1_1.C1_0Db where
+  instance GHC.Generics.Constructor
+             (CanDoRep1_1.C1_0Db CanDoRep1_1.D1Db) where
     GHC.Generics.conName _ = "D0b"
   
-  instance GHC.Generics.Constructor CanDoRep1_1.C1_1Db where
+  instance GHC.Generics.Constructor
+             (CanDoRep1_1.C1_1Db CanDoRep1_1.D1Db) where
     GHC.Generics.conName _ = "D1b"
     GHC.Generics.conIsRecord _ = GHC.Types.True
   
@@ -191,10 +195,12 @@ Derived instances:
     GHC.Generics.datatypeName _ = "Dc"
     GHC.Generics.moduleName _ = "CanDoRep1_1"
   
-  instance GHC.Generics.Constructor CanDoRep1_1.C1_0Dc where
+  instance GHC.Generics.Constructor
+             (CanDoRep1_1.C1_0Dc CanDoRep1_1.D1Dc) where
     GHC.Generics.conName _ = "D0c"
   
-  instance GHC.Generics.Constructor CanDoRep1_1.C1_1Dc where
+  instance GHC.Generics.Constructor
+             (CanDoRep1_1.C1_1Dc CanDoRep1_1.D1Dc) where
     GHC.Generics.conName _ = "D1c"
     GHC.Generics.conIsRecord _ = GHC.Types.True
   
@@ -208,10 +214,12 @@ Derived instances:
     GHC.Generics.datatypeName _ = "Dd"
     GHC.Generics.moduleName _ = "CanDoRep1_1"
   
-  instance GHC.Generics.Constructor CanDoRep1_1.C1_0Dd where
+  instance GHC.Generics.Constructor
+             (CanDoRep1_1.C1_0Dd CanDoRep1_1.D1Dd) where
     GHC.Generics.conName _ = "D0d"
   
-  instance GHC.Generics.Constructor CanDoRep1_1.C1_1Dd where
+  instance GHC.Generics.Constructor
+             (CanDoRep1_1.C1_1Dd CanDoRep1_1.D1Dd) where
     GHC.Generics.conName _ = "D1d"
     GHC.Generics.conIsRecord _ = GHC.Types.True
   
@@ -249,9 +257,12 @@ Generic representation:
   Representation types:
     type GHC.Generics.Rep1 CanDoRep1_1.Dd = GHC.Generics.D1
                                               CanDoRep1_1.D1Dd
-                                              (GHC.Generics.C1 CanDoRep1_1.C1_0Dd GHC.Generics.U1
+                                              (GHC.Generics.C1
+                                                 (CanDoRep1_1.C1_0Dd CanDoRep1_1.D1Dd)
+                                                 GHC.Generics.U1
                                                GHC.Generics.:+: GHC.Generics.C1
-                                                                  CanDoRep1_1.C1_1Dd
+                                                                  (CanDoRep1_1.C1_1Dd
+                                                                     CanDoRep1_1.D1Dd)
                                                                   (GHC.Generics.S1
                                                                      CanDoRep1_1.S1_1_0Dd
                                                                      GHC.Generics.Par1
@@ -261,9 +272,12 @@ Generic representation:
                                                                                          CanDoRep1_1.Dd)))
     type GHC.Generics.Rep (CanDoRep1_1.Dd a) = GHC.Generics.D1
                                                  CanDoRep1_1.D1Dd
-                                                 (GHC.Generics.C1 CanDoRep1_1.C1_0Dd GHC.Generics.U1
+                                                 (GHC.Generics.C1
+                                                    (CanDoRep1_1.C1_0Dd CanDoRep1_1.D1Dd)
+                                                    GHC.Generics.U1
                                                   GHC.Generics.:+: GHC.Generics.C1
-                                                                     CanDoRep1_1.C1_1Dd
+                                                                     (CanDoRep1_1.C1_1Dd
+                                                                        CanDoRep1_1.D1Dd)
                                                                      (GHC.Generics.S1
                                                                         CanDoRep1_1.S1_1_0Dd
                                                                         (GHC.Generics.Rec0 a)
@@ -274,9 +288,12 @@ Generic representation:
                                                                                                a))))
     type GHC.Generics.Rep (CanDoRep1_1.Dc a) = GHC.Generics.D1
                                                  CanDoRep1_1.D1Dc
-                                                 (GHC.Generics.C1 CanDoRep1_1.C1_0Dc GHC.Generics.U1
+                                                 (GHC.Generics.C1
+                                                    (CanDoRep1_1.C1_0Dc CanDoRep1_1.D1Dc)
+                                                    GHC.Generics.U1
                                                   GHC.Generics.:+: GHC.Generics.C1
-                                                                     CanDoRep1_1.C1_1Dc
+                                                                     (CanDoRep1_1.C1_1Dc
+                                                                        CanDoRep1_1.D1Dc)
                                                                      (GHC.Generics.S1
                                                                         CanDoRep1_1.S1_1_0Dc
                                                                         (GHC.Generics.Rec0 a)
@@ -287,9 +304,12 @@ Generic representation:
                                                                                                a))))
     type GHC.Generics.Rep1 CanDoRep1_1.Db = GHC.Generics.D1
                                               CanDoRep1_1.D1Db
-                                              (GHC.Generics.C1 CanDoRep1_1.C1_0Db GHC.Generics.U1
+                                              (GHC.Generics.C1
+                                                 (CanDoRep1_1.C1_0Db CanDoRep1_1.D1Db)
+                                                 GHC.Generics.U1
                                                GHC.Generics.:+: GHC.Generics.C1
-                                                                  CanDoRep1_1.C1_1Db
+                                                                  (CanDoRep1_1.C1_1Db
+                                                                     CanDoRep1_1.D1Db)
                                                                   (GHC.Generics.S1
                                                                      CanDoRep1_1.S1_1_0Db
                                                                      GHC.Generics.Par1
@@ -299,9 +319,12 @@ Generic representation:
                                                                                          CanDoRep1_1.Db)))
     type GHC.Generics.Rep (CanDoRep1_1.Da a) = GHC.Generics.D1
                                                  CanDoRep1_1.D1Da
-                                                 (GHC.Generics.C1 CanDoRep1_1.C1_0Da GHC.Generics.U1
+                                                 (GHC.Generics.C1
+                                                    (CanDoRep1_1.C1_0Da CanDoRep1_1.D1Da)
+                                                    GHC.Generics.U1
                                                   GHC.Generics.:+: GHC.Generics.C1
-                                                                     CanDoRep1_1.C1_1Da
+                                                                     (CanDoRep1_1.C1_1Da
+                                                                        CanDoRep1_1.D1Da)
                                                                      (GHC.Generics.S1
                                                                         CanDoRep1_1.S1_1_0Da
                                                                         (GHC.Generics.Rec0 a)
@@ -312,9 +335,12 @@ Generic representation:
                                                                                                a))))
     type GHC.Generics.Rep1 CanDoRep1_1.Da = GHC.Generics.D1
                                               CanDoRep1_1.D1Da
-                                              (GHC.Generics.C1 CanDoRep1_1.C1_0Da GHC.Generics.U1
+                                              (GHC.Generics.C1
+                                                 (CanDoRep1_1.C1_0Da CanDoRep1_1.D1Da)
+                                                 GHC.Generics.U1
                                                GHC.Generics.:+: GHC.Generics.C1
-                                                                  CanDoRep1_1.C1_1Da
+                                                                  (CanDoRep1_1.C1_1Da
+                                                                     CanDoRep1_1.D1Da)
                                                                   (GHC.Generics.S1
                                                                      CanDoRep1_1.S1_1_0Da
                                                                      GHC.Generics.Par1
@@ -324,9 +350,12 @@ Generic representation:
                                                                                          CanDoRep1_1.Da)))
     type GHC.Generics.Rep (CanDoRep1_1.Db a) = GHC.Generics.D1
                                                  CanDoRep1_1.D1Db
-                                                 (GHC.Generics.C1 CanDoRep1_1.C1_0Db GHC.Generics.U1
+                                                 (GHC.Generics.C1
+                                                    (CanDoRep1_1.C1_0Db CanDoRep1_1.D1Db)
+                                                    GHC.Generics.U1
                                                   GHC.Generics.:+: GHC.Generics.C1
-                                                                     CanDoRep1_1.C1_1Db
+                                                                     (CanDoRep1_1.C1_1Db
+                                                                        CanDoRep1_1.D1Db)
                                                                      (GHC.Generics.S1
                                                                         CanDoRep1_1.S1_1_0Db
                                                                         (GHC.Generics.Rec0 a)
@@ -337,9 +366,12 @@ Generic representation:
                                                                                                a))))
     type GHC.Generics.Rep1 CanDoRep1_1.Dc = GHC.Generics.D1
                                               CanDoRep1_1.D1Dc
-                                              (GHC.Generics.C1 CanDoRep1_1.C1_0Dc GHC.Generics.U1
+                                              (GHC.Generics.C1
+                                                 (CanDoRep1_1.C1_0Dc CanDoRep1_1.D1Dc)
+                                                 GHC.Generics.U1
                                                GHC.Generics.:+: GHC.Generics.C1
-                                                                  CanDoRep1_1.C1_1Dc
+                                                                  (CanDoRep1_1.C1_1Dc
+                                                                     CanDoRep1_1.D1Dc)
                                                                   (GHC.Generics.S1
                                                                      CanDoRep1_1.S1_1_0Dc
                                                                      GHC.Generics.Par1