diff --git a/haddock-api/src/Haddock/Interface/AttachInstances.hs b/haddock-api/src/Haddock/Interface/AttachInstances.hs
index 6ef0ed19f9030241b4d42265cdd30309229f9dbe..d5b80888314b2d10e01edcd0ddf730f5a80bd543 100644
--- a/haddock-api/src/Haddock/Interface/AttachInstances.hs
+++ b/haddock-api/src/Haddock/Interface/AttachInstances.hs
@@ -179,19 +179,28 @@ findFixity iface ifaceMap instIfaceMap = \name ->
 -- Collecting and sorting instances
 --------------------------------------------------------------------------------
 
+-- | Stable name for stable comparisons. GHC's `Name` uses unstable
+-- ordering based on their `Unique`'s.
+newtype SName = SName Name
+
+instance Eq SName where
+  SName n1 == SName n2 = n1 `stableNameCmp` n2 == EQ
+
+instance Ord SName where
+  SName n1 `compare` SName n2 = n1 `stableNameCmp` n2
 
 -- | Simplified type for sorting types, ignoring qualification (not visible
 -- in Haddock output) and unifying special tycons with normal ones.
 -- For the benefit of the user (looks nice and predictable) and the
 -- tests (which prefer output to be deterministic).
-data SimpleType = SimpleType Name [SimpleType]
+data SimpleType = SimpleType SName [SimpleType]
                 | SimpleTyLit TyLit
                   deriving (Eq,Ord)
 
 
-instHead :: ([TyVar], [PredType], Class, [Type]) -> ([Int], Name, [SimpleType])
+instHead :: ([TyVar], [PredType], Class, [Type]) -> ([Int], SName, [SimpleType])
 instHead (_, _, cls, args)
-  = (map argCount args, className cls, map simplify args)
+  = (map argCount args, SName (className cls), map simplify args)
 
 argCount :: Type -> Int
 argCount (AppTy t _)     = argCount t + 1
@@ -202,12 +211,12 @@ argCount (CastTy t _)    = argCount t
 argCount _ = 0
 
 simplify :: Type -> SimpleType
-simplify (FunTy _ _ t1 t2)  = SimpleType funTyConName [simplify t1, simplify t2]
+simplify (FunTy _ _ t1 t2)  = SimpleType (SName funTyConName) [simplify t1, simplify t2]
 simplify (ForAllTy _ t) = simplify t
 simplify (AppTy t1 t2) = SimpleType s (ts ++ maybeToList (simplify_maybe t2))
   where (SimpleType s ts) = simplify t1
-simplify (TyVarTy v) = SimpleType (tyVarName v) []
-simplify (TyConApp tc ts) = SimpleType (tyConName tc)
+simplify (TyVarTy v) = SimpleType (SName (tyVarName v)) []
+simplify (TyConApp tc ts) = SimpleType (SName (tyConName tc))
                                        (mapMaybe simplify_maybe ts)
 simplify (LitTy l) = SimpleTyLit l
 simplify (CastTy ty _) = simplify ty
@@ -218,9 +227,9 @@ simplify_maybe (CoercionTy {}) = Nothing
 simplify_maybe ty              = Just (simplify ty)
 
 -- Used for sorting
-instFam :: FamInst -> ([Int], Name, [SimpleType], Int, SimpleType)
+instFam :: FamInst -> ([Int], SName, [SimpleType], Int, SimpleType)
 instFam FamInst { fi_fam = n, fi_tys = ts, fi_rhs = t }
-  = (map argCount ts, n, map simplify ts, argCount t, simplify t)
+  = (map argCount ts, SName n, map simplify ts, argCount t, simplify t)
 
 
 --------------------------------------------------------------------------------
diff --git a/html-test/ref/Bug1004.html b/html-test/ref/Bug1004.html
index b4ce3c88e502b009757d3a47234cf84919fead6c..cd959f7f789bed08e52792622991590d7cfcfc5a 100644
--- a/html-test/ref/Bug1004.html
+++ b/html-test/ref/Bug1004.html
@@ -182,135 +182,7 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monad:2"
-		      ></span
-		      > (<a href="#" title="Control.Monad"
-		      >Monad</a
-		      > f, <a href="#" title="Control.Monad"
-		      >Monad</a
-		      > g) =&gt; <a href="#" title="Control.Monad"
-		      >Monad</a
-		      > (<a href="#" title="Bug1004"
-		      >Product</a
-		      > f g)</span
-		    ></td
-		  ><td class="doc"
-		  ><p
-		    ><em
-		      >Since: base-4.9.0.0</em
-		      ></p
-		    ></td
-		  ></tr
-		><tr
-		><td colspan="2"
-		  ><details id="i:id:Product:Monad:2"
-		    ><summary class="hide-when-js-enabled"
-		      >Instance details</summary
-		      ><p
-		      >Defined in <a href="#"
-			>Data.Functor.Product</a
-			></p
-		      > <div class="subs methods"
-		      ><p class="caption"
-			>Methods</p
-			><p class="src"
-			><a href="#"
-			  >(&gt;&gt;=)</a
-			  > :: <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a -&gt; (a -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g b) -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g b <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >(&gt;&gt;)</a
-			  > :: <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g b -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g b <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >return</a
-			  > :: a -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			></div
-		      ></details
-		    ></td
-		  ></tr
-		><tr
-		><td class="src clearfix"
-		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Functor:3"
-		      ></span
-		      > (<a href="#" title="Data.Functor"
-		      >Functor</a
-		      > f, <a href="#" title="Data.Functor"
-		      >Functor</a
-		      > g) =&gt; <a href="#" title="Data.Functor"
-		      >Functor</a
-		      > (<a href="#" title="Bug1004"
-		      >Product</a
-		      > f g)</span
-		    ></td
-		  ><td class="doc"
-		  ><p
-		    ><em
-		      >Since: base-4.9.0.0</em
-		      ></p
-		    ></td
-		  ></tr
-		><tr
-		><td colspan="2"
-		  ><details id="i:id:Product:Functor:3"
-		    ><summary class="hide-when-js-enabled"
-		      >Instance details</summary
-		      ><p
-		      >Defined in <a href="#"
-			>Data.Functor.Product</a
-			></p
-		      > <div class="subs methods"
-		      ><p class="caption"
-			>Methods</p
-			><p class="src"
-			><a href="#"
-			  >fmap</a
-			  > :: (a -&gt; b) -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g b <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >(&lt;$)</a
-			  > :: a -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g b -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			></div
-		      ></details
-		    ></td
-		  ></tr
-		><tr
-		><td class="src clearfix"
-		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadFix:4"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadFix:2"
 		      ></span
 		      > (<a href="#" title="Control.Monad.Fix"
 		      >MonadFix</a
@@ -331,7 +203,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:MonadFix:4"
+		  ><details id="i:id:Product:MonadFix:2"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -358,14 +230,14 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Applicative:5"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadZip:3"
 		      ></span
-		      > (<a href="#" title="Control.Applicative"
-		      >Applicative</a
-		      > f, <a href="#" title="Control.Applicative"
-		      >Applicative</a
-		      > g) =&gt; <a href="#" title="Control.Applicative"
-		      >Applicative</a
+		      > (<a href="#" title="Control.Monad.Zip"
+		      >MonadZip</a
+		      > f, <a href="#" title="Control.Monad.Zip"
+		      >MonadZip</a
+		      > g) =&gt; <a href="#" title="Control.Monad.Zip"
+		      >MonadZip</a
 		      > (<a href="#" title="Bug1004"
 		      >Product</a
 		      > f g)</span
@@ -379,7 +251,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:Applicative:5"
+		  ><details id="i:id:Product:MonadZip:3"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -391,58 +263,38 @@
 			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >pure</a
-			  > :: a -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >(&lt;*&gt;)</a
+			  >mzip</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g (a -&gt; b) -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g b <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >liftA2</a
-			  > :: (a -&gt; b -&gt; c) -&gt; <a href="#" title="Bug1004"
-			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g b -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g c <a href="#" class="selflink"
+			  > f g (a, b) <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >(*&gt;)</a
-			  > :: <a href="#" title="Bug1004"
+			  >mzipWith</a
+			  > :: (a -&gt; b -&gt; c) -&gt; <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g b -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g b <a href="#" class="selflink"
+			  > f g c <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >(&lt;*)</a
+			  >munzip</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a -&gt; <a href="#" title="Bug1004"
+			  > f g (a, b) -&gt; (<a href="#" title="Bug1004"
 			  >Product</a
-			  > f g b -&gt; <a href="#" title="Bug1004"
+			  > f g a, <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a <a href="#" class="selflink"
+			  > f g b) <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			></div
@@ -452,7 +304,7 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Foldable:6"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Foldable:4"
 		      ></span
 		      > (<a href="#" title="Data.Foldable"
 		      >Foldable</a
@@ -473,7 +325,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:Foldable:6"
+		  ><details id="i:id:Product:Foldable:4"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -648,14 +500,14 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Traversable:7"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Eq1:5"
 		      ></span
-		      > (<a href="#" title="Data.Traversable"
-		      >Traversable</a
-		      > f, <a href="#" title="Data.Traversable"
-		      >Traversable</a
-		      > g) =&gt; <a href="#" title="Data.Traversable"
-		      >Traversable</a
+		      > (<a href="#" title="Data.Functor.Classes"
+		      >Eq1</a
+		      > f, <a href="#" title="Data.Functor.Classes"
+		      >Eq1</a
+		      > g) =&gt; <a href="#" title="Data.Functor.Classes"
+		      >Eq1</a
 		      > (<a href="#" title="Bug1004"
 		      >Product</a
 		      > f g)</span
@@ -669,7 +521,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:Traversable:7"
+		  ><details id="i:id:Product:Eq1:5"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -681,50 +533,16 @@
 			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >traverse</a
-			  > :: <a href="#" title="Control.Applicative"
-			  >Applicative</a
-			  > f0 =&gt; (a -&gt; f0 b) -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a -&gt; f0 (<a href="#" title="Bug1004"
-			  >Product</a
-			  > f g b) <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >sequenceA</a
-			  > :: <a href="#" title="Control.Applicative"
-			  >Applicative</a
-			  > f0 =&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g (f0 a) -&gt; f0 (<a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a) <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >mapM</a
-			  > :: <a href="#" title="Control.Monad"
-			  >Monad</a
-			  > m =&gt; (a -&gt; m b) -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a -&gt; m (<a href="#" title="Bug1004"
-			  >Product</a
-			  > f g b) <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >sequence</a
-			  > :: <a href="#" title="Control.Monad"
-			  >Monad</a
-			  > m =&gt; <a href="#" title="Bug1004"
+			  >liftEq</a
+			  > :: (a -&gt; b -&gt; <a href="#" title="Data.Bool"
+			  >Bool</a
+			  >) -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g (m a) -&gt; m (<a href="#" title="Bug1004"
+			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a) <a href="#" class="selflink"
+			  > f g b -&gt; <a href="#" title="Data.Bool"
+			  >Bool</a
+			  > <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			></div
@@ -734,14 +552,14 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Show1:8"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Ord1:6"
 		      ></span
 		      > (<a href="#" title="Data.Functor.Classes"
-		      >Show1</a
+		      >Ord1</a
 		      > f, <a href="#" title="Data.Functor.Classes"
-		      >Show1</a
+		      >Ord1</a
 		      > g) =&gt; <a href="#" title="Data.Functor.Classes"
-		      >Show1</a
+		      >Ord1</a
 		      > (<a href="#" title="Bug1004"
 		      >Product</a
 		      > f g)</span
@@ -755,7 +573,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:Show1:8"
+		  ><details id="i:id:Product:Ord1:6"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -767,35 +585,15 @@
 			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >liftShowsPrec</a
-			  > :: (<a href="#" title="Data.Int"
-			  >Int</a
-			  > -&gt; a -&gt; <a href="#" title="Text.Show"
-			  >ShowS</a
-			  >) -&gt; ([a] -&gt; <a href="#" title="Text.Show"
-			  >ShowS</a
-			  >) -&gt; <a href="#" title="Data.Int"
-			  >Int</a
-			  > -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a -&gt; <a href="#" title="Text.Show"
-			  >ShowS</a
-			  > <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >liftShowList</a
-			  > :: (<a href="#" title="Data.Int"
-			  >Int</a
-			  > -&gt; a -&gt; <a href="#" title="Text.Show"
-			  >ShowS</a
-			  >) -&gt; ([a] -&gt; <a href="#" title="Text.Show"
-			  >ShowS</a
-			  >) -&gt; [<a href="#" title="Bug1004"
+			  >liftCompare</a
+			  > :: (a -&gt; b -&gt; <a href="#" title="Data.Ord"
+			  >Ordering</a
+			  >) -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a] -&gt; <a href="#" title="Text.Show"
-			  >ShowS</a
+			  > f g a -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g b -&gt; <a href="#" title="Data.Ord"
+			  >Ordering</a
 			  > <a href="#" class="selflink"
 			  >#</a
 			  ></p
@@ -806,7 +604,7 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Read1:9"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Read1:7"
 		      ></span
 		      > (<a href="#" title="Data.Functor.Classes"
 		      >Read1</a
@@ -827,7 +625,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:Read1:9"
+		  ><details id="i:id:Product:Read1:7"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -906,14 +704,14 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Ord1:10"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Show1:8"
 		      ></span
 		      > (<a href="#" title="Data.Functor.Classes"
-		      >Ord1</a
+		      >Show1</a
 		      > f, <a href="#" title="Data.Functor.Classes"
-		      >Ord1</a
+		      >Show1</a
 		      > g) =&gt; <a href="#" title="Data.Functor.Classes"
-		      >Ord1</a
+		      >Show1</a
 		      > (<a href="#" title="Bug1004"
 		      >Product</a
 		      > f g)</span
@@ -927,7 +725,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:Ord1:10"
+		  ><details id="i:id:Product:Show1:8"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -939,67 +737,35 @@
 			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >liftCompare</a
-			  > :: (a -&gt; b -&gt; <a href="#" title="Data.Ord"
-			  >Ordering</a
-			  >) -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a -&gt; <a href="#" title="Bug1004"
+			  >liftShowsPrec</a
+			  > :: (<a href="#" title="Data.Int"
+			  >Int</a
+			  > -&gt; a -&gt; <a href="#" title="Text.Show"
+			  >ShowS</a
+			  >) -&gt; ([a] -&gt; <a href="#" title="Text.Show"
+			  >ShowS</a
+			  >) -&gt; <a href="#" title="Data.Int"
+			  >Int</a
+			  > -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g b -&gt; <a href="#" title="Data.Ord"
-			  >Ordering</a
+			  > f g a -&gt; <a href="#" title="Text.Show"
+			  >ShowS</a
 			  > <a href="#" class="selflink"
 			  >#</a
 			  ></p
-			></div
-		      ></details
-		    ></td
-		  ></tr
-		><tr
-		><td class="src clearfix"
-		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Eq1:11"
-		      ></span
-		      > (<a href="#" title="Data.Functor.Classes"
-		      >Eq1</a
-		      > f, <a href="#" title="Data.Functor.Classes"
-		      >Eq1</a
-		      > g) =&gt; <a href="#" title="Data.Functor.Classes"
-		      >Eq1</a
-		      > (<a href="#" title="Bug1004"
-		      >Product</a
-		      > f g)</span
-		    ></td
-		  ><td class="doc"
-		  ><p
-		    ><em
-		      >Since: base-4.9.0.0</em
-		      ></p
-		    ></td
-		  ></tr
-		><tr
-		><td colspan="2"
-		  ><details id="i:id:Product:Eq1:11"
-		    ><summary class="hide-when-js-enabled"
-		      >Instance details</summary
-		      ><p
-		      >Defined in <a href="#"
-			>Data.Functor.Product</a
-			></p
-		      > <div class="subs methods"
-		      ><p class="caption"
-			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >liftEq</a
-			  > :: (a -&gt; b -&gt; <a href="#" title="Data.Bool"
-			  >Bool</a
-			  >) -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a -&gt; <a href="#" title="Bug1004"
+			  >liftShowList</a
+			  > :: (<a href="#" title="Data.Int"
+			  >Int</a
+			  > -&gt; a -&gt; <a href="#" title="Text.Show"
+			  >ShowS</a
+			  >) -&gt; ([a] -&gt; <a href="#" title="Text.Show"
+			  >ShowS</a
+			  >) -&gt; [<a href="#" title="Bug1004"
 			  >Product</a
-			  > f g b -&gt; <a href="#" title="Data.Bool"
-			  >Bool</a
+			  > f g a] -&gt; <a href="#" title="Text.Show"
+			  >ShowS</a
 			  > <a href="#" class="selflink"
 			  >#</a
 			  ></p
@@ -1010,14 +776,14 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadZip:12"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Traversable:9"
 		      ></span
-		      > (<a href="#" title="Control.Monad.Zip"
-		      >MonadZip</a
-		      > f, <a href="#" title="Control.Monad.Zip"
-		      >MonadZip</a
-		      > g) =&gt; <a href="#" title="Control.Monad.Zip"
-		      >MonadZip</a
+		      > (<a href="#" title="Data.Traversable"
+		      >Traversable</a
+		      > f, <a href="#" title="Data.Traversable"
+		      >Traversable</a
+		      > g) =&gt; <a href="#" title="Data.Traversable"
+		      >Traversable</a
 		      > (<a href="#" title="Bug1004"
 		      >Product</a
 		      > f g)</span
@@ -1031,7 +797,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:MonadZip:12"
+		  ><details id="i:id:Product:Traversable:9"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -1043,40 +809,52 @@
 			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >mzip</a
-			  > :: <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a -&gt; <a href="#" title="Bug1004"
+			  >traverse</a
+			  > :: <a href="#" title="Control.Applicative"
+			  >Applicative</a
+			  > f0 =&gt; (a -&gt; f0 b) -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g b -&gt; <a href="#" title="Bug1004"
+			  > f g a -&gt; f0 (<a href="#" title="Bug1004"
 			  >Product</a
-			  > f g (a, b) <a href="#" class="selflink"
+			  > f g b) <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >mzipWith</a
-			  > :: (a -&gt; b -&gt; c) -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a -&gt; <a href="#" title="Bug1004"
+			  >sequenceA</a
+			  > :: <a href="#" title="Control.Applicative"
+			  >Applicative</a
+			  > f0 =&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g b -&gt; <a href="#" title="Bug1004"
+			  > f g (f0 a) -&gt; f0 (<a href="#" title="Bug1004"
 			  >Product</a
-			  > f g c <a href="#" class="selflink"
+			  > f g a) <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >munzip</a
-			  > :: <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g (a, b) -&gt; (<a href="#" title="Bug1004"
+			  >mapM</a
+			  > :: <a href="#" title="Control.Monad"
+			  >Monad</a
+			  > m =&gt; (a -&gt; m b) -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a, <a href="#" title="Bug1004"
+			  > f g a -&gt; m (<a href="#" title="Bug1004"
 			  >Product</a
 			  > f g b) <a href="#" class="selflink"
 			  >#</a
 			  ></p
+			><p class="src"
+			><a href="#"
+			  >sequence</a
+			  > :: <a href="#" title="Control.Monad"
+			  >Monad</a
+			  > m =&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g (m a) -&gt; m (<a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a) <a href="#" class="selflink"
+			  >#</a
+			  ></p
 			></div
 		      ></details
 		    ></td
@@ -1084,14 +862,14 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadPlus:13"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Alternative:10"
 		      ></span
-		      > (<a href="#" title="Control.Monad"
-		      >MonadPlus</a
-		      > f, <a href="#" title="Control.Monad"
-		      >MonadPlus</a
-		      > g) =&gt; <a href="#" title="Control.Monad"
-		      >MonadPlus</a
+		      > (<a href="#" title="Control.Applicative"
+		      >Alternative</a
+		      > f, <a href="#" title="Control.Applicative"
+		      >Alternative</a
+		      > g) =&gt; <a href="#" title="Control.Applicative"
+		      >Alternative</a
 		      > (<a href="#" title="Bug1004"
 		      >Product</a
 		      > f g)</span
@@ -1105,7 +883,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:MonadPlus:13"
+		  ><details id="i:id:Product:Alternative:10"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -1117,7 +895,7 @@
 			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >mzero</a
+			  >empty</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a <a href="#" class="selflink"
@@ -1125,7 +903,7 @@
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >mplus</a
+			  >(&lt;|&gt;)</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
@@ -1135,6 +913,26 @@
 			  > f g a <a href="#" class="selflink"
 			  >#</a
 			  ></p
+			><p class="src"
+			><a href="#"
+			  >some</a
+			  > :: <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g [a] <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			><p class="src"
+			><a href="#"
+			  >many</a
+			  > :: <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g [a] <a href="#" class="selflink"
+			  >#</a
+			  ></p
 			></div
 		      ></details
 		    ></td
@@ -1142,14 +940,14 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Alternative:14"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Applicative:11"
 		      ></span
 		      > (<a href="#" title="Control.Applicative"
-		      >Alternative</a
+		      >Applicative</a
 		      > f, <a href="#" title="Control.Applicative"
-		      >Alternative</a
+		      >Applicative</a
 		      > g) =&gt; <a href="#" title="Control.Applicative"
-		      >Alternative</a
+		      >Applicative</a
 		      > (<a href="#" title="Bug1004"
 		      >Product</a
 		      > f g)</span
@@ -1163,7 +961,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:Alternative:14"
+		  ><details id="i:id:Product:Applicative:11"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -1175,42 +973,58 @@
 			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >empty</a
-			  > :: <a href="#" title="Bug1004"
+			  >pure</a
+			  > :: a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >(&lt;|&gt;)</a
+			  >(&lt;*&gt;)</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
+			  > f g (a -&gt; b) -&gt; <a href="#" title="Bug1004"
+			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
+			  > f g b <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			><p class="src"
+			><a href="#"
+			  >liftA2</a
+			  > :: (a -&gt; b -&gt; c) -&gt; <a href="#" title="Bug1004"
+			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a <a href="#" class="selflink"
+			  > f g b -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g c <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >some</a
+			  >(*&gt;)</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g [a] <a href="#" class="selflink"
+			  > f g b -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g b <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >many</a
+			  >(&lt;*)</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g [a] <a href="#" class="selflink"
+			  > f g b -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			></div
@@ -1220,19 +1034,17 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Eq:15"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Functor:12"
 		      ></span
-		      > (<a href="#" title="Data.Functor.Classes"
-		      >Eq1</a
-		      > f, <a href="#" title="Data.Functor.Classes"
-		      >Eq1</a
-		      > g, <a href="#" title="Data.Eq"
-		      >Eq</a
-		      > a) =&gt; <a href="#" title="Data.Eq"
-		      >Eq</a
+		      > (<a href="#" title="Data.Functor"
+		      >Functor</a
+		      > f, <a href="#" title="Data.Functor"
+		      >Functor</a
+		      > g) =&gt; <a href="#" title="Data.Functor"
+		      >Functor</a
 		      > (<a href="#" title="Bug1004"
 		      >Product</a
-		      > f g a)</span
+		      > f g)</span
 		    ></td
 		  ><td class="doc"
 		  ><p
@@ -1243,7 +1055,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:Eq:15"
+		  ><details id="i:id:Product:Functor:12"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -1255,26 +1067,150 @@
 			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >(==)</a
-			  > :: <a href="#" title="Bug1004"
+			  >fmap</a
+			  > :: (a -&gt; b) -&gt; <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a -&gt; <a href="#" title="Data.Bool"
-			  >Bool</a
-			  > <a href="#" class="selflink"
+			  > f g b <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >(/=)</a
+			  >(&lt;$)</a
+			  > :: a -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g b -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			></div
+		      ></details
+		    ></td
+		  ></tr
+		><tr
+		><td class="src clearfix"
+		  ><span class="inst-left"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monad:13"
+		      ></span
+		      > (<a href="#" title="Control.Monad"
+		      >Monad</a
+		      > f, <a href="#" title="Control.Monad"
+		      >Monad</a
+		      > g) =&gt; <a href="#" title="Control.Monad"
+		      >Monad</a
+		      > (<a href="#" title="Bug1004"
+		      >Product</a
+		      > f g)</span
+		    ></td
+		  ><td class="doc"
+		  ><p
+		    ><em
+		      >Since: base-4.9.0.0</em
+		      ></p
+		    ></td
+		  ></tr
+		><tr
+		><td colspan="2"
+		  ><details id="i:id:Product:Monad:13"
+		    ><summary class="hide-when-js-enabled"
+		      >Instance details</summary
+		      ><p
+		      >Defined in <a href="#"
+			>Data.Functor.Product</a
+			></p
+		      > <div class="subs methods"
+		      ><p class="caption"
+			>Methods</p
+			><p class="src"
+			><a href="#"
+			  >(&gt;&gt;=)</a
+			  > :: <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a -&gt; (a -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g b) -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g b <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			><p class="src"
+			><a href="#"
+			  >(&gt;&gt;)</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a -&gt; <a href="#" title="Data.Bool"
-			  >Bool</a
-			  > <a href="#" class="selflink"
+			  > f g b -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g b <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			><p class="src"
+			><a href="#"
+			  >return</a
+			  > :: a -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			></div
+		      ></details
+		    ></td
+		  ></tr
+		><tr
+		><td class="src clearfix"
+		  ><span class="inst-left"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadPlus:14"
+		      ></span
+		      > (<a href="#" title="Control.Monad"
+		      >MonadPlus</a
+		      > f, <a href="#" title="Control.Monad"
+		      >MonadPlus</a
+		      > g) =&gt; <a href="#" title="Control.Monad"
+		      >MonadPlus</a
+		      > (<a href="#" title="Bug1004"
+		      >Product</a
+		      > f g)</span
+		    ></td
+		  ><td class="doc"
+		  ><p
+		    ><em
+		      >Since: base-4.9.0.0</em
+		      ></p
+		    ></td
+		  ></tr
+		><tr
+		><td colspan="2"
+		  ><details id="i:id:Product:MonadPlus:14"
+		    ><summary class="hide-when-js-enabled"
+		      >Instance details</summary
+		      ><p
+		      >Defined in <a href="#"
+			>Data.Functor.Product</a
+			></p
+		      > <div class="subs methods"
+		      ><p class="caption"
+			>Methods</p
+			><p class="src"
+			><a href="#"
+			  >mzero</a
+			  > :: <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			><p class="src"
+			><a href="#"
+			  >mplus</a
+			  > :: <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			></div
@@ -1284,7 +1220,7 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Data:16"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Data:15"
 		      ></span
 		      > (<a href="#" title="Data.Typeable"
 		      >Typeable</a
@@ -1313,7 +1249,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:Data:16"
+		  ><details id="i:id:Product:Data:15"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -1530,16 +1466,14 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Ord:17"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monoid:16"
 		      ></span
-		      > (<a href="#" title="Data.Functor.Classes"
-		      >Ord1</a
-		      > f, <a href="#" title="Data.Functor.Classes"
-		      >Ord1</a
-		      > g, <a href="#" title="Data.Ord"
-		      >Ord</a
-		      > a) =&gt; <a href="#" title="Data.Ord"
-		      >Ord</a
+		      > (<a href="#" title="Data.Monoid"
+		      >Monoid</a
+		      > (f a), <a href="#" title="Data.Monoid"
+		      >Monoid</a
+		      > (g a)) =&gt; <a href="#" title="Data.Monoid"
+		      >Monoid</a
 		      > (<a href="#" title="Bug1004"
 		      >Product</a
 		      > f g a)</span
@@ -1547,13 +1481,13 @@
 		  ><td class="doc"
 		  ><p
 		    ><em
-		      >Since: base-4.9.0.0</em
+		      >Since: base-4.16.0.0</em
 		      ></p
 		    ></td
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:Ord:17"
+		  ><details id="i:id:Product:Monoid:16"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -1565,84 +1499,176 @@
 			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >compare</a
+			  >mempty</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a -&gt; <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a -&gt; <a href="#" title="Data.Ord"
-			  >Ordering</a
-			  > <a href="#" class="selflink"
+			  > f g a <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >(&lt;)</a
+			  >mappend</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a -&gt; <a href="#" title="Data.Bool"
-			  >Bool</a
-			  > <a href="#" class="selflink"
+			  > f g a -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >(&lt;=)</a
-			  > :: <a href="#" title="Bug1004"
+			  >mconcat</a
+			  > :: [<a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a -&gt; <a href="#" title="Bug1004"
+			  > f g a] -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a -&gt; <a href="#" title="Data.Bool"
-			  >Bool</a
-			  > <a href="#" class="selflink"
+			  > f g a <a href="#" class="selflink"
 			  >#</a
 			  ></p
+			></div
+		      ></details
+		    ></td
+		  ></tr
+		><tr
+		><td class="src clearfix"
+		  ><span class="inst-left"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Semigroup:17"
+		      ></span
+		      > (<a href="#" title="Prelude"
+		      >Semigroup</a
+		      > (f a), <a href="#" title="Prelude"
+		      >Semigroup</a
+		      > (g a)) =&gt; <a href="#" title="Prelude"
+		      >Semigroup</a
+		      > (<a href="#" title="Bug1004"
+		      >Product</a
+		      > f g a)</span
+		    ></td
+		  ><td class="doc"
+		  ><p
+		    ><em
+		      >Since: base-4.16.0.0</em
+		      ></p
+		    ></td
+		  ></tr
+		><tr
+		><td colspan="2"
+		  ><details id="i:id:Product:Semigroup:17"
+		    ><summary class="hide-when-js-enabled"
+		      >Instance details</summary
+		      ><p
+		      >Defined in <a href="#"
+			>Data.Functor.Product</a
+			></p
+		      > <div class="subs methods"
+		      ><p class="caption"
+			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >(&gt;)</a
+			  >(&lt;&gt;)</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a -&gt; <a href="#" title="Data.Bool"
-			  >Bool</a
-			  > <a href="#" class="selflink"
+			  > f g a -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >(&gt;=)</a
-			  > :: <a href="#" title="Bug1004"
+			  >sconcat</a
+			  > :: <a href="#" title="Data.List.NonEmpty"
+			  >NonEmpty</a
+			  > (<a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a -&gt; <a href="#" title="Bug1004"
+			  > f g a) -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a -&gt; <a href="#" title="Data.Bool"
-			  >Bool</a
-			  > <a href="#" class="selflink"
+			  > f g a <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >max</a
-			  > :: <a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a -&gt; <a href="#" title="Bug1004"
+			  >stimes</a
+			  > :: <a href="#" title="Prelude"
+			  >Integral</a
+			  > b =&gt; b -&gt; <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a <a href="#" class="selflink"
 			  >#</a
 			  ></p
+			></div
+		      ></details
+		    ></td
+		  ></tr
+		><tr
+		><td class="src clearfix"
+		  ><span class="inst-left"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Generic:18"
+		      ></span
+		      > <a href="#" title="GHC.Generics"
+		      >Generic</a
+		      > (<a href="#" title="Bug1004"
+		      >Product</a
+		      > f g a)</span
+		    ></td
+		  ><td class="doc empty"
+		  >&nbsp;</td
+		  ></tr
+		><tr
+		><td colspan="2"
+		  ><details id="i:id:Product:Generic:18"
+		    ><summary class="hide-when-js-enabled"
+		      >Instance details</summary
+		      ><p
+		      >Defined in <a href="#"
+			>Data.Functor.Product</a
+			></p
+		      > <div class="subs associated-types"
+		      ><p class="caption"
+			>Associated Types</p
+			><p class="src"
+			><span class="keyword"
+			  >type</span
+			  > <a href="#" title="GHC.Generics"
+			  >Rep</a
+			  > (<a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a) :: <a href="#" title="Data.Kind"
+			  >Type</a
+			  > -&gt; <a href="#" title="Data.Kind"
+			  >Type</a
+			  > <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			></div
+		      > <div class="subs methods"
+		      ><p class="caption"
+			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >min</a
+			  >from</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a -&gt; <a href="#" title="Bug1004"
+			  > f g a -&gt; <a href="#" title="GHC.Generics"
+			  >Rep</a
+			  > (<a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a -&gt; <a href="#" title="Bug1004"
+			  > f g a) x <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			><p class="src"
+			><a href="#"
+			  >to</a
+			  > :: <a href="#" title="GHC.Generics"
+			  >Rep</a
+			  > (<a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a) x -&gt; <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a <a href="#" class="selflink"
 			  >#</a
@@ -1654,7 +1680,7 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Read:18"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Read:19"
 		      ></span
 		      > (<a href="#" title="Data.Functor.Classes"
 		      >Read1</a
@@ -1677,7 +1703,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:Read:18"
+		  ><details id="i:id:Product:Read:19"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -1736,7 +1762,7 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Show:19"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Show:20"
 		      ></span
 		      > (<a href="#" title="Data.Functor.Classes"
 		      >Show1</a
@@ -1759,7 +1785,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:Show:19"
+		  ><details id="i:id:Product:Show:20"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -1808,69 +1834,61 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Generic:20"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Eq:21"
 		      ></span
-		      > <a href="#" title="GHC.Generics"
-		      >Generic</a
+		      > (<a href="#" title="Data.Functor.Classes"
+		      >Eq1</a
+		      > f, <a href="#" title="Data.Functor.Classes"
+		      >Eq1</a
+		      > g, <a href="#" title="Data.Eq"
+		      >Eq</a
+		      > a) =&gt; <a href="#" title="Data.Eq"
+		      >Eq</a
 		      > (<a href="#" title="Bug1004"
 		      >Product</a
 		      > f g a)</span
 		    ></td
-		  ><td class="doc empty"
-		  >&nbsp;</td
+		  ><td class="doc"
+		  ><p
+		    ><em
+		      >Since: base-4.9.0.0</em
+		      ></p
+		    ></td
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:Generic:20"
+		  ><details id="i:id:Product:Eq:21"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
 		      >Defined in <a href="#"
 			>Data.Functor.Product</a
 			></p
-		      > <div class="subs associated-types"
-		      ><p class="caption"
-			>Associated Types</p
-			><p class="src"
-			><span class="keyword"
-			  >type</span
-			  > <a href="#" title="GHC.Generics"
-			  >Rep</a
-			  > (<a href="#" title="Bug1004"
-			  >Product</a
-			  > f g a) :: <a href="#" title="Data.Kind"
-			  >Type</a
-			  > -&gt; <a href="#" title="Data.Kind"
-			  >Type</a
-			  > <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			></div
 		      > <div class="subs methods"
 		      ><p class="caption"
 			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >from</a
+			  >(==)</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a -&gt; <a href="#" title="GHC.Generics"
-			  >Rep</a
-			  > (<a href="#" title="Bug1004"
+			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a) x <a href="#" class="selflink"
+			  > f g a -&gt; <a href="#" title="Data.Bool"
+			  >Bool</a
+			  > <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >to</a
-			  > :: <a href="#" title="GHC.Generics"
-			  >Rep</a
-			  > (<a href="#" title="Bug1004"
+			  >(/=)</a
+			  > :: <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a) x -&gt; <a href="#" title="Bug1004"
+			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a <a href="#" class="selflink"
+			  > f g a -&gt; <a href="#" title="Data.Bool"
+			  >Bool</a
+			  > <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			></div
@@ -1880,14 +1898,16 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Semigroup:21"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Ord:22"
 		      ></span
-		      > (<a href="#" title="Prelude"
-		      >Semigroup</a
-		      > (f a), <a href="#" title="Prelude"
-		      >Semigroup</a
-		      > (g a)) =&gt; <a href="#" title="Prelude"
-		      >Semigroup</a
+		      > (<a href="#" title="Data.Functor.Classes"
+		      >Ord1</a
+		      > f, <a href="#" title="Data.Functor.Classes"
+		      >Ord1</a
+		      > g, <a href="#" title="Data.Ord"
+		      >Ord</a
+		      > a) =&gt; <a href="#" title="Data.Ord"
+		      >Ord</a
 		      > (<a href="#" title="Bug1004"
 		      >Product</a
 		      > f g a)</span
@@ -1895,13 +1915,13 @@
 		  ><td class="doc"
 		  ><p
 		    ><em
-		      >Since: base-4.16.0.0</em
+		      >Since: base-4.9.0.0</em
 		      ></p
 		    ></td
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:Product:Semigroup:21"
+		  ><details id="i:id:Product:Ord:22"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -1913,89 +1933,67 @@
 			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >(&lt;&gt;)</a
+			  >compare</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
+			  > f g a -&gt; <a href="#" title="Data.Ord"
+			  >Ordering</a
+			  > <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			><p class="src"
+			><a href="#"
+			  >(&lt;)</a
+			  > :: <a href="#" title="Bug1004"
+			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a <a href="#" class="selflink"
+			  > f g a -&gt; <a href="#" title="Data.Bool"
+			  >Bool</a
+			  > <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >sconcat</a
-			  > :: <a href="#" title="Data.List.NonEmpty"
-			  >NonEmpty</a
-			  > (<a href="#" title="Bug1004"
+			  >(&lt;=)</a
+			  > :: <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a) -&gt; <a href="#" title="Bug1004"
+			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a <a href="#" class="selflink"
+			  > f g a -&gt; <a href="#" title="Data.Bool"
+			  >Bool</a
+			  > <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >stimes</a
-			  > :: <a href="#" title="Prelude"
-			  >Integral</a
-			  > b =&gt; b -&gt; <a href="#" title="Bug1004"
+			  >(&gt;)</a
+			  > :: <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a <a href="#" class="selflink"
+			  > f g a -&gt; <a href="#" title="Data.Bool"
+			  >Bool</a
+			  > <a href="#" class="selflink"
 			  >#</a
 			  ></p
-			></div
-		      ></details
-		    ></td
-		  ></tr
-		><tr
-		><td class="src clearfix"
-		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monoid:22"
-		      ></span
-		      > (<a href="#" title="Data.Monoid"
-		      >Monoid</a
-		      > (f a), <a href="#" title="Data.Monoid"
-		      >Monoid</a
-		      > (g a)) =&gt; <a href="#" title="Data.Monoid"
-		      >Monoid</a
-		      > (<a href="#" title="Bug1004"
-		      >Product</a
-		      > f g a)</span
-		    ></td
-		  ><td class="doc"
-		  ><p
-		    ><em
-		      >Since: base-4.16.0.0</em
-		      ></p
-		    ></td
-		  ></tr
-		><tr
-		><td colspan="2"
-		  ><details id="i:id:Product:Monoid:22"
-		    ><summary class="hide-when-js-enabled"
-		      >Instance details</summary
-		      ><p
-		      >Defined in <a href="#"
-			>Data.Functor.Product</a
-			></p
-		      > <div class="subs methods"
-		      ><p class="caption"
-			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >mempty</a
+			  >(&gt;=)</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a <a href="#" class="selflink"
+			  > f g a -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a -&gt; <a href="#" title="Data.Bool"
+			  >Bool</a
+			  > <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >mappend</a
+			  >max</a
 			  > :: <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a -&gt; <a href="#" title="Bug1004"
@@ -2007,10 +2005,12 @@
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >mconcat</a
-			  > :: [<a href="#" title="Bug1004"
+			  >min</a
+			  > :: <a href="#" title="Bug1004"
 			  >Product</a
-			  > f g a] -&gt; <a href="#" title="Bug1004"
+			  > f g a -&gt; <a href="#" title="Bug1004"
+			  >Product</a
+			  > f g a -&gt; <a href="#" title="Bug1004"
 			  >Product</a
 			  > f g a <a href="#" class="selflink"
 			  >#</a
diff --git a/html-test/ref/Bug1103.html b/html-test/ref/Bug1103.html
index 4d3772d14870a6f4698b1829c82a13e483a79a19..c17eb7b83cb29ae22cd6611206d5712fdd4cca44 100644
--- a/html-test/ref/Bug1103.html
+++ b/html-test/ref/Bug1103.html
@@ -392,6 +392,8 @@
 		      >Foo3</a
 		      > (a :: <a href="#" title="Data.Char"
 		      >Char</a
+		      > -&gt; <a href="#" title="Data.Char"
+		      >Char</a
 		      >)</span
 		    > <a href="#" class="selflink"
 		    >#</a
@@ -415,6 +417,8 @@
 			>Foo3</a
 			> (a :: <a href="#" title="Data.Char"
 			>Char</a
+			> -&gt; <a href="#" title="Data.Char"
+			>Char</a
 			>)</div
 		      ></details
 		    ></td
@@ -430,8 +434,6 @@
 		      >Foo3</a
 		      > (a :: <a href="#" title="Data.Char"
 		      >Char</a
-		      > -&gt; <a href="#" title="Data.Char"
-		      >Char</a
 		      >)</span
 		    > <a href="#" class="selflink"
 		    >#</a
@@ -455,8 +457,6 @@
 			>Foo3</a
 			> (a :: <a href="#" title="Data.Char"
 			>Char</a
-			> -&gt; <a href="#" title="Data.Char"
-			>Char</a
 			>)</div
 		      ></details
 		    ></td
diff --git a/html-test/ref/Bug548.html b/html-test/ref/Bug548.html
index 1ac40ae4dbdcebe13f6f47d27c5971f63b2fee1c..0946c21bd6d0d68c7f68b020c86915acb080d554 100644
--- a/html-test/ref/Bug548.html
+++ b/html-test/ref/Bug548.html
@@ -180,12 +180,14 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:WrappedArrow:Functor:2"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:WrappedArrow:Alternative:2"
 		      ></span
-		      > <a href="#" title="Control.Arrow"
-		      >Arrow</a
-		      > a =&gt; <a href="#" title="Data.Functor"
-		      >Functor</a
+		      > (<a href="#" title="Control.Arrow"
+		      >ArrowZero</a
+		      > a, <a href="#" title="Control.Arrow"
+		      >ArrowPlus</a
+		      > a) =&gt; <a href="#" title="Control.Applicative"
+		      >Alternative</a
 		      > (<a href="#" title="Bug548"
 		      >WrappedArrow</a
 		      > a b)</span
@@ -199,7 +201,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:WrappedArrow:Functor:2"
+		  ><details id="i:id:WrappedArrow:Alternative:2"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -211,22 +213,42 @@
 			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >fmap</a
-			  > :: (a0 -&gt; b0) -&gt; <a href="#" title="Bug548"
+			  >empty</a
+			  > :: <a href="#" title="Bug548"
+			  >WrappedArrow</a
+			  > a b a0 <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			><p class="src"
+			><a href="#"
+			  >(&lt;|&gt;)</a
+			  > :: <a href="#" title="Bug548"
 			  >WrappedArrow</a
 			  > a b a0 -&gt; <a href="#" title="Bug548"
 			  >WrappedArrow</a
-			  > a b b0 <a href="#" class="selflink"
+			  > a b a0 -&gt; <a href="#" title="Bug548"
+			  >WrappedArrow</a
+			  > a b a0 <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >(&lt;$)</a
-			  > :: a0 -&gt; <a href="#" title="Bug548"
+			  >some</a
+			  > :: <a href="#" title="Bug548"
 			  >WrappedArrow</a
-			  > a b b0 -&gt; <a href="#" title="Bug548"
+			  > a b a0 -&gt; <a href="#" title="Bug548"
 			  >WrappedArrow</a
-			  > a b a0 <a href="#" class="selflink"
+			  > a b [a0] <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			><p class="src"
+			><a href="#"
+			  >many</a
+			  > :: <a href="#" title="Bug548"
+			  >WrappedArrow</a
+			  > a b a0 -&gt; <a href="#" title="Bug548"
+			  >WrappedArrow</a
+			  > a b [a0] <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			></div
@@ -328,14 +350,12 @@
 		><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:WrappedArrow:Alternative:4"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:WrappedArrow:Functor:4"
 		      ></span
-		      > (<a href="#" title="Control.Arrow"
-		      >ArrowZero</a
-		      > a, <a href="#" title="Control.Arrow"
-		      >ArrowPlus</a
-		      > a) =&gt; <a href="#" title="Control.Applicative"
-		      >Alternative</a
+		      > <a href="#" title="Control.Arrow"
+		      >Arrow</a
+		      > a =&gt; <a href="#" title="Data.Functor"
+		      >Functor</a
 		      > (<a href="#" title="Bug548"
 		      >WrappedArrow</a
 		      > a b)</span
@@ -349,7 +369,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:WrappedArrow:Alternative:4"
+		  ><details id="i:id:WrappedArrow:Functor:4"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -361,42 +381,22 @@
 			>Methods</p
 			><p class="src"
 			><a href="#"
-			  >empty</a
-			  > :: <a href="#" title="Bug548"
-			  >WrappedArrow</a
-			  > a b a0 <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >(&lt;|&gt;)</a
-			  > :: <a href="#" title="Bug548"
-			  >WrappedArrow</a
-			  > a b a0 -&gt; <a href="#" title="Bug548"
-			  >WrappedArrow</a
-			  > a b a0 -&gt; <a href="#" title="Bug548"
-			  >WrappedArrow</a
-			  > a b a0 <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >some</a
-			  > :: <a href="#" title="Bug548"
+			  >fmap</a
+			  > :: (a0 -&gt; b0) -&gt; <a href="#" title="Bug548"
 			  >WrappedArrow</a
 			  > a b a0 -&gt; <a href="#" title="Bug548"
 			  >WrappedArrow</a
-			  > a b [a0] <a href="#" class="selflink"
+			  > a b b0 <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
-			  >many</a
-			  > :: <a href="#" title="Bug548"
+			  >(&lt;$)</a
+			  > :: a0 -&gt; <a href="#" title="Bug548"
 			  >WrappedArrow</a
-			  > a b a0 -&gt; <a href="#" title="Bug548"
+			  > a b b0 -&gt; <a href="#" title="Bug548"
 			  >WrappedArrow</a
-			  > a b [a0] <a href="#" class="selflink"
+			  > a b a0 <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			></div
diff --git a/html-test/ref/HiddenInstances.html b/html-test/ref/HiddenInstances.html
index 181b47f80613c19ff9cc2162ef884a4486bb2bad..1964f4f8afcfda26f7fb74a9a57a0db9b96ebbb6 100644
--- a/html-test/ref/HiddenInstances.html
+++ b/html-test/ref/HiddenInstances.html
@@ -92,8 +92,8 @@
 		      ></span
 		      > <a href="#" title="HiddenInstances"
 		      >VisibleClass</a
-		      > <a href="#" title="Data.Int"
-		      >Int</a
+		      > <a href="#" title="HiddenInstances"
+		      >VisibleData</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
@@ -122,8 +122,8 @@
 		      ></span
 		      > <a href="#" title="HiddenInstances"
 		      >VisibleClass</a
-		      > <a href="#" title="HiddenInstances"
-		      >VisibleData</a
+		      > <a href="#" title="Data.Int"
+		      >Int</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
diff --git a/html-test/ref/Instances.html b/html-test/ref/Instances.html
index c6a6b5ca1afc2608bea71a57590f823eb06d6495..764f538de5f4065ddf8d29ebd953c210ae1bca70 100644
--- a/html-test/ref/Instances.html
+++ b/html-test/ref/Instances.html
@@ -194,7 +194,9 @@
 		      ></span
 		      > <a href="#" title="Instances"
 		      >Foo</a
-		      > []</span
+		      > <a href="#" title="Data.Maybe"
+		      >Maybe</a
+		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -216,19 +218,31 @@
 			><p class="src"
 			><a href="#"
 			  >foo</a
-			  > :: [<a href="#" title="Data.Int"
+			  > :: <a href="#" title="Data.Maybe"
+			  >Maybe</a
+			  > <a href="#" title="Data.Int"
 			  >Int</a
-			  >] -&gt; a -&gt; [a] <a href="#" class="selflink"
+			  > -&gt; a -&gt; <a href="#" title="Data.Maybe"
+			  >Maybe</a
+			  > a <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
 			  >foo'</a
-			  > :: [[a]] -&gt; <a href="#" title="Data.Int"
+			  > :: <a href="#" title="Data.Maybe"
+			  >Maybe</a
+			  > (<a href="#" title="Data.Maybe"
+			  >Maybe</a
+			  > a) -&gt; <a href="#" title="Data.Int"
 			  >Int</a
-			  > -&gt; [[<a href="#" title="Data.Int"
+			  > -&gt; <a href="#" title="Data.Maybe"
+			  >Maybe</a
+			  > (<a href="#" title="Data.Maybe"
+			  >Maybe</a
+			  > <a href="#" title="Data.Int"
 			  >Int</a
-			  >]] <a href="#" class="selflink"
+			  >) <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			></div
@@ -242,9 +256,7 @@
 		      ></span
 		      > <a href="#" title="Instances"
 		      >Foo</a
-		      > <a href="#" title="Data.Maybe"
-		      >Maybe</a
-		      ></span
+		      > []</span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -266,31 +278,19 @@
 			><p class="src"
 			><a href="#"
 			  >foo</a
-			  > :: <a href="#" title="Data.Maybe"
-			  >Maybe</a
-			  > <a href="#" title="Data.Int"
+			  > :: [<a href="#" title="Data.Int"
 			  >Int</a
-			  > -&gt; a -&gt; <a href="#" title="Data.Maybe"
-			  >Maybe</a
-			  > a <a href="#" class="selflink"
+			  >] -&gt; a -&gt; [a] <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
 			  >foo'</a
-			  > :: <a href="#" title="Data.Maybe"
-			  >Maybe</a
-			  > (<a href="#" title="Data.Maybe"
-			  >Maybe</a
-			  > a) -&gt; <a href="#" title="Data.Int"
+			  > :: [[a]] -&gt; <a href="#" title="Data.Int"
 			  >Int</a
-			  > -&gt; <a href="#" title="Data.Maybe"
-			  >Maybe</a
-			  > (<a href="#" title="Data.Maybe"
-			  >Maybe</a
-			  > <a href="#" title="Data.Int"
+			  > -&gt; [[<a href="#" title="Data.Int"
 			  >Int</a
-			  >) <a href="#" class="selflink"
+			  >]] <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			></div
@@ -364,15 +364,11 @@
 		  ><span class="inst-left"
 		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Foo:Foo:4"
 		      ></span
-		      > (<a href="#" title="Data.Eq"
-		      >Eq</a
-		      > a, <a href="#" title="Instances"
-		      >Foo</a
-		      > f) =&gt; <a href="#" title="Instances"
+		      > <a href="#" title="Instances"
 		      >Foo</a
-		      > (<a href="#" title="GHC.Tuple"
-		      >(,)</a
-		      > (f a))</span
+		      > (<a href="#" title="Instances"
+		      >(&lt;~~)</a
+		      > a)</span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -394,19 +390,31 @@
 			><p class="src"
 			><a href="#"
 			  >foo</a
-			  > :: (f a, <a href="#" title="Data.Int"
+			  > :: (a <a href="#" title="Instances"
+			  >&lt;~~</a
+			  > <a href="#" title="Data.Int"
 			  >Int</a
-			  >) -&gt; a0 -&gt; (f a, a0) <a href="#" class="selflink"
+			  >) -&gt; a0 -&gt; a <a href="#" title="Instances"
+			  >&lt;~~</a
+			  > a0 <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
 			  >foo'</a
-			  > :: (f a, (f a, a0)) -&gt; <a href="#" title="Data.Int"
+			  > :: (a <a href="#" title="Instances"
+			  >&lt;~~</a
+			  > (a <a href="#" title="Instances"
+			  >&lt;~~</a
+			  > a0)) -&gt; <a href="#" title="Data.Int"
 			  >Int</a
-			  > -&gt; (f a, (f a, <a href="#" title="Data.Int"
+			  > -&gt; a <a href="#" title="Instances"
+			  >&lt;~~</a
+			  > (a <a href="#" title="Instances"
+			  >&lt;~~</a
+			  > <a href="#" title="Data.Int"
 			  >Int</a
-			  >)) <a href="#" class="selflink"
+			  >) <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			></div
@@ -418,11 +426,15 @@
 		  ><span class="inst-left"
 		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Foo:Foo:5"
 		      ></span
-		      > <a href="#" title="Instances"
+		      > (<a href="#" title="Data.Eq"
+		      >Eq</a
+		      > a, <a href="#" title="Instances"
 		      >Foo</a
-		      > (<a href="#" title="Instances"
-		      >(&lt;~~)</a
-		      > a)</span
+		      > f) =&gt; <a href="#" title="Instances"
+		      >Foo</a
+		      > (<a href="#" title="GHC.Tuple"
+		      >(,)</a
+		      > (f a))</span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -444,31 +456,19 @@
 			><p class="src"
 			><a href="#"
 			  >foo</a
-			  > :: (a <a href="#" title="Instances"
-			  >&lt;~~</a
-			  > <a href="#" title="Data.Int"
+			  > :: (f a, <a href="#" title="Data.Int"
 			  >Int</a
-			  >) -&gt; a0 -&gt; a <a href="#" title="Instances"
-			  >&lt;~~</a
-			  > a0 <a href="#" class="selflink"
+			  >) -&gt; a0 -&gt; (f a, a0) <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
 			  >foo'</a
-			  > :: (a <a href="#" title="Instances"
-			  >&lt;~~</a
-			  > (a <a href="#" title="Instances"
-			  >&lt;~~</a
-			  > a0)) -&gt; <a href="#" title="Data.Int"
+			  > :: (f a, (f a, a0)) -&gt; <a href="#" title="Data.Int"
 			  >Int</a
-			  > -&gt; a <a href="#" title="Instances"
-			  >&lt;~~</a
-			  > (a <a href="#" title="Instances"
-			  >&lt;~~</a
-			  > <a href="#" title="Data.Int"
+			  > -&gt; (f a, (f a, <a href="#" title="Data.Int"
 			  >Int</a
-			  >) <a href="#" class="selflink"
+			  >)) <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			></div
@@ -482,9 +482,9 @@
 		      ></span
 		      > <a href="#" title="Instances"
 		      >Foo</a
-		      > (<a href="#" title="GHC.Tuple"
-		      >(,,)</a
-		      > a a)</span
+		      > (<a href="#" title="Instances"
+		      >Quux</a
+		      > a b)</span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -506,19 +506,31 @@
 			><p class="src"
 			><a href="#"
 			  >foo</a
-			  > :: (a, a, <a href="#" title="Data.Int"
+			  > :: <a href="#" title="Instances"
+			  >Quux</a
+			  > a b <a href="#" title="Data.Int"
 			  >Int</a
-			  >) -&gt; a0 -&gt; (a, a, a0) <a href="#" class="selflink"
+			  > -&gt; a0 -&gt; <a href="#" title="Instances"
+			  >Quux</a
+			  > a b a0 <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
 			  >foo'</a
-			  > :: (a, a, (a, a, a0)) -&gt; <a href="#" title="Data.Int"
+			  > :: <a href="#" title="Instances"
+			  >Quux</a
+			  > a b (<a href="#" title="Instances"
+			  >Quux</a
+			  > a b a0) -&gt; <a href="#" title="Data.Int"
 			  >Int</a
-			  > -&gt; (a, a, (a, a, <a href="#" title="Data.Int"
+			  > -&gt; <a href="#" title="Instances"
+			  >Quux</a
+			  > a b (<a href="#" title="Instances"
+			  >Quux</a
+			  > a b <a href="#" title="Data.Int"
 			  >Int</a
-			  >)) <a href="#" class="selflink"
+			  >) <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			></div
@@ -532,9 +544,9 @@
 		      ></span
 		      > <a href="#" title="Instances"
 		      >Foo</a
-		      > (<a href="#" title="Instances"
-		      >Quux</a
-		      > a b)</span
+		      > (<a href="#" title="GHC.Tuple"
+		      >(,,)</a
+		      > a a)</span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -556,31 +568,19 @@
 			><p class="src"
 			><a href="#"
 			  >foo</a
-			  > :: <a href="#" title="Instances"
-			  >Quux</a
-			  > a b <a href="#" title="Data.Int"
+			  > :: (a, a, <a href="#" title="Data.Int"
 			  >Int</a
-			  > -&gt; a0 -&gt; <a href="#" title="Instances"
-			  >Quux</a
-			  > a b a0 <a href="#" class="selflink"
+			  >) -&gt; a0 -&gt; (a, a, a0) <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
 			><a href="#"
 			  >foo'</a
-			  > :: <a href="#" title="Instances"
-			  >Quux</a
-			  > a b (<a href="#" title="Instances"
-			  >Quux</a
-			  > a b a0) -&gt; <a href="#" title="Data.Int"
+			  > :: (a, a, (a, a, a0)) -&gt; <a href="#" title="Data.Int"
 			  >Int</a
-			  > -&gt; <a href="#" title="Instances"
-			  >Quux</a
-			  > a b (<a href="#" title="Instances"
-			  >Quux</a
-			  > a b <a href="#" title="Data.Int"
+			  > -&gt; (a, a, (a, a, <a href="#" title="Data.Int"
 			  >Int</a
-			  >) <a href="#" class="selflink"
+			  >)) <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			></div
@@ -1037,68 +1037,6 @@
 		><td class="src clearfix"
 		  ><span class="inst-left"
 		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Bar:Bar:5"
-		      ></span
-		      > <a href="#" title="Instances"
-		      >Foo</a
-		      > (<a href="#" title="GHC.Tuple"
-		      >(,,)</a
-		      > a b) =&gt; <a href="#" title="Instances"
-		      >Bar</a
-		      > (<a href="#" title="GHC.Tuple"
-		      >(,,)</a
-		      > a b) (a, b, a)</span
-		    > <a href="#" class="selflink"
-		    >#</a
-		    ></td
-		  ><td class="doc empty"
-		  >&nbsp;</td
-		  ></tr
-		><tr
-		><td colspan="2"
-		  ><details id="i:ic:Bar:Bar:5"
-		    ><summary class="hide-when-js-enabled"
-		      >Instance details</summary
-		      ><p
-		      >Defined in <a href="#"
-			>Instances</a
-			></p
-		      > <div class="subs methods"
-		      ><p class="caption"
-			>Methods</p
-			><p class="src"
-			><a href="#"
-			  >bar</a
-			  > :: (a, b, (a, b, a)) -&gt; (a, b, <a href="#" title="Data.Bool"
-			  >Bool</a
-			  >) -&gt; (a, b, a) <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >bar'</a
-			  > :: (a, b, (a, b, (a, b, a))) -&gt; (a, b, (a, b, (a, b, b0))) <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >bar0</a
-			  > :: ((a, b, (a, b, a)), (a, b, (a, b, a))) -&gt; ((a, b, b0), (a, b, c)) <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >bar1</a
-			  > :: ((a, b, (a, b, a)), (a, b, (a, b, a))) -&gt; ((a, b, b0), (a, b, c)) <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			></div
-		      ></details
-		    ></td
-		  ></tr
-		><tr
-		><td class="src clearfix"
-		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Bar:Bar:6"
 		      ></span
 		      > <a href="#" title="Instances"
 		      >Bar</a
@@ -1115,7 +1053,7 @@
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:ic:Bar:Bar:6"
+		  ><details id="i:ic:Bar:Bar:5"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -1199,6 +1137,68 @@
 		      ></details
 		    ></td
 		  ></tr
+		><tr
+		><td class="src clearfix"
+		  ><span class="inst-left"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Bar:Bar:6"
+		      ></span
+		      > <a href="#" title="Instances"
+		      >Foo</a
+		      > (<a href="#" title="GHC.Tuple"
+		      >(,,)</a
+		      > a b) =&gt; <a href="#" title="Instances"
+		      >Bar</a
+		      > (<a href="#" title="GHC.Tuple"
+		      >(,,)</a
+		      > a b) (a, b, a)</span
+		    > <a href="#" class="selflink"
+		    >#</a
+		    ></td
+		  ><td class="doc empty"
+		  >&nbsp;</td
+		  ></tr
+		><tr
+		><td colspan="2"
+		  ><details id="i:ic:Bar:Bar:6"
+		    ><summary class="hide-when-js-enabled"
+		      >Instance details</summary
+		      ><p
+		      >Defined in <a href="#"
+			>Instances</a
+			></p
+		      > <div class="subs methods"
+		      ><p class="caption"
+			>Methods</p
+			><p class="src"
+			><a href="#"
+			  >bar</a
+			  > :: (a, b, (a, b, a)) -&gt; (a, b, <a href="#" title="Data.Bool"
+			  >Bool</a
+			  >) -&gt; (a, b, a) <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			><p class="src"
+			><a href="#"
+			  >bar'</a
+			  > :: (a, b, (a, b, (a, b, a))) -&gt; (a, b, (a, b, (a, b, b0))) <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			><p class="src"
+			><a href="#"
+			  >bar0</a
+			  > :: ((a, b, (a, b, a)), (a, b, (a, b, a))) -&gt; ((a, b, b0), (a, b, c)) <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			><p class="src"
+			><a href="#"
+			  >bar1</a
+			  > :: ((a, b, (a, b, a)), (a, b, (a, b, a))) -&gt; ((a, b, b0), (a, b, c)) <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			></div
+		      ></details
+		    ></td
+		  ></tr
 		></table
 	      ></details
 	    ></div
@@ -1394,7 +1394,9 @@
 		      ></span
 		      > <a href="#" title="Instances"
 		      >Baz</a
-		      > (a, b, c)</span
+		      > (<a href="#" title="Instances"
+		      >Quux</a
+		      > a b c)</span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -1416,11 +1418,15 @@
 			><p class="src"
 			><a href="#"
 			  >baz</a
-			  > :: (a, b, c) -&gt; (<span class="keyword"
+			  > :: <a href="#" title="Instances"
+			  >Quux</a
+			  > a b c -&gt; (<span class="keyword"
 			  >forall</span
 			  > a0. a0 -&gt; a0) -&gt; (b0, <span class="keyword"
 			  >forall</span
-			  > c0. c0 -&gt; (a, b, c)) -&gt; (b0, c1) <a href="#" class="selflink"
+			  > c0. c0 -&gt; <a href="#" title="Instances"
+			  >Quux</a
+			  > a b c) -&gt; (b0, c1) <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
@@ -1428,9 +1434,15 @@
 			  >baz'</a
 			  > :: b0 -&gt; (<span class="keyword"
 			  >forall</span
-			  > b1. b1 -&gt; (a, b, c)) -&gt; (<span class="keyword"
+			  > b1. b1 -&gt; <a href="#" title="Instances"
+			  >Quux</a
+			  > a b c) -&gt; (<span class="keyword"
 			  >forall</span
-			  > b2. b2 -&gt; (a, b, c)) -&gt; [(b0, (a, b, c))] <a href="#" class="selflink"
+			  > b2. b2 -&gt; <a href="#" title="Instances"
+			  >Quux</a
+			  > a b c) -&gt; [(b0, <a href="#" title="Instances"
+			  >Quux</a
+			  > a b c)] <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
@@ -1440,7 +1452,9 @@
 			  >forall</span
 			  > b1. (<span class="keyword"
 			  >forall</span
-			  > b2. b2 -&gt; (a, b, c)) -&gt; c0) -&gt; <span class="keyword"
+			  > b2. b2 -&gt; <a href="#" title="Instances"
+			  >Quux</a
+			  > a b c) -&gt; c0) -&gt; <span class="keyword"
 			  >forall</span
 			  > c1. c1 -&gt; b0 <a href="#" class="selflink"
 			  >#</a
@@ -1456,9 +1470,7 @@
 		      ></span
 		      > <a href="#" title="Instances"
 		      >Baz</a
-		      > (<a href="#" title="Instances"
-		      >Quux</a
-		      > a b c)</span
+		      > (a, b, c)</span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -1480,15 +1492,11 @@
 			><p class="src"
 			><a href="#"
 			  >baz</a
-			  > :: <a href="#" title="Instances"
-			  >Quux</a
-			  > a b c -&gt; (<span class="keyword"
+			  > :: (a, b, c) -&gt; (<span class="keyword"
 			  >forall</span
 			  > a0. a0 -&gt; a0) -&gt; (b0, <span class="keyword"
 			  >forall</span
-			  > c0. c0 -&gt; <a href="#" title="Instances"
-			  >Quux</a
-			  > a b c) -&gt; (b0, c1) <a href="#" class="selflink"
+			  > c0. c0 -&gt; (a, b, c)) -&gt; (b0, c1) <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
@@ -1496,15 +1504,9 @@
 			  >baz'</a
 			  > :: b0 -&gt; (<span class="keyword"
 			  >forall</span
-			  > b1. b1 -&gt; <a href="#" title="Instances"
-			  >Quux</a
-			  > a b c) -&gt; (<span class="keyword"
+			  > b1. b1 -&gt; (a, b, c)) -&gt; (<span class="keyword"
 			  >forall</span
-			  > b2. b2 -&gt; <a href="#" title="Instances"
-			  >Quux</a
-			  > a b c) -&gt; [(b0, <a href="#" title="Instances"
-			  >Quux</a
-			  > a b c)] <a href="#" class="selflink"
+			  > b2. b2 -&gt; (a, b, c)) -&gt; [(b0, (a, b, c))] <a href="#" class="selflink"
 			  >#</a
 			  ></p
 			><p class="src"
@@ -1514,9 +1516,7 @@
 			  >forall</span
 			  > b1. (<span class="keyword"
 			  >forall</span
-			  > b2. b2 -&gt; <a href="#" title="Instances"
-			  >Quux</a
-			  > a b c) -&gt; c0) -&gt; <span class="keyword"
+			  > b2. b2 -&gt; (a, b, c)) -&gt; c0) -&gt; <span class="keyword"
 			  >forall</span
 			  > c1. c1 -&gt; b0 <a href="#" class="selflink"
 			  >#</a
diff --git a/html-test/ref/SpuriousSuperclassConstraints.html b/html-test/ref/SpuriousSuperclassConstraints.html
index 7293a149ed203c552424d9edecdb952d90cb3885..b5cf64c793025dc222db1d59ec4f35cdc7c1a848 100644
--- a/html-test/ref/SpuriousSuperclassConstraints.html
+++ b/html-test/ref/SpuriousSuperclassConstraints.html
@@ -90,59 +90,7 @@ Fix spurious superclass constraints bug.</pre
 	      ><tr
 		><td class="src clearfix"
 		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:SomeType:Functor:1"
-		      ></span
-		      > <a href="#" title="Data.Functor"
-		      >Functor</a
-		      > (<a href="#" title="SpuriousSuperclassConstraints"
-		      >SomeType</a
-		      > f)</span
-		    > <a href="#" class="selflink"
-		    >#</a
-		    ></td
-		  ><td class="doc empty"
-		  >&nbsp;</td
-		  ></tr
-		><tr
-		><td colspan="2"
-		  ><details id="i:id:SomeType:Functor:1"
-		    ><summary class="hide-when-js-enabled"
-		      >Instance details</summary
-		      ><p
-		      >Defined in <a href="#"
-			>SpuriousSuperclassConstraints</a
-			></p
-		      > <div class="subs methods"
-		      ><p class="caption"
-			>Methods</p
-			><p class="src"
-			><a href="#"
-			  >fmap</a
-			  > :: (a -&gt; b) -&gt; <a href="#" title="SpuriousSuperclassConstraints"
-			  >SomeType</a
-			  > f a -&gt; <a href="#" title="SpuriousSuperclassConstraints"
-			  >SomeType</a
-			  > f b <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			><p class="src"
-			><a href="#"
-			  >(&lt;$)</a
-			  > :: a -&gt; <a href="#" title="SpuriousSuperclassConstraints"
-			  >SomeType</a
-			  > f b -&gt; <a href="#" title="SpuriousSuperclassConstraints"
-			  >SomeType</a
-			  > f a <a href="#" class="selflink"
-			  >#</a
-			  ></p
-			></div
-		      ></details
-		    ></td
-		  ></tr
-		><tr
-		><td class="src clearfix"
-		  ><span class="inst-left"
-		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:SomeType:Applicative:2"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:SomeType:Applicative:1"
 		      ></span
 		      > <a href="#" title="Control.Applicative"
 		      >Applicative</a
@@ -159,7 +107,7 @@ Fix spurious superclass constraints bug.</pre
 		  ></tr
 		><tr
 		><td colspan="2"
-		  ><details id="i:id:SomeType:Applicative:2"
+		  ><details id="i:id:SomeType:Applicative:1"
 		    ><summary class="hide-when-js-enabled"
 		      >Instance details</summary
 		      ><p
@@ -229,6 +177,58 @@ Fix spurious superclass constraints bug.</pre
 		      ></details
 		    ></td
 		  ></tr
+		><tr
+		><td class="src clearfix"
+		  ><span class="inst-left"
+		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:SomeType:Functor:2"
+		      ></span
+		      > <a href="#" title="Data.Functor"
+		      >Functor</a
+		      > (<a href="#" title="SpuriousSuperclassConstraints"
+		      >SomeType</a
+		      > f)</span
+		    > <a href="#" class="selflink"
+		    >#</a
+		    ></td
+		  ><td class="doc empty"
+		  >&nbsp;</td
+		  ></tr
+		><tr
+		><td colspan="2"
+		  ><details id="i:id:SomeType:Functor:2"
+		    ><summary class="hide-when-js-enabled"
+		      >Instance details</summary
+		      ><p
+		      >Defined in <a href="#"
+			>SpuriousSuperclassConstraints</a
+			></p
+		      > <div class="subs methods"
+		      ><p class="caption"
+			>Methods</p
+			><p class="src"
+			><a href="#"
+			  >fmap</a
+			  > :: (a -&gt; b) -&gt; <a href="#" title="SpuriousSuperclassConstraints"
+			  >SomeType</a
+			  > f a -&gt; <a href="#" title="SpuriousSuperclassConstraints"
+			  >SomeType</a
+			  > f b <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			><p class="src"
+			><a href="#"
+			  >(&lt;$)</a
+			  > :: a -&gt; <a href="#" title="SpuriousSuperclassConstraints"
+			  >SomeType</a
+			  > f b -&gt; <a href="#" title="SpuriousSuperclassConstraints"
+			  >SomeType</a
+			  > f a <a href="#" class="selflink"
+			  >#</a
+			  ></p
+			></div
+		      ></details
+		    ></td
+		  ></tr
 		></table
 	      ></details
 	    ></div
diff --git a/html-test/ref/TypeFamilies.html b/html-test/ref/TypeFamilies.html
index 7ca50972827decf014c910b5fe805d3e526b2d2a..29f67137107cf5360d8326cc5e06677fd7c8c3c9 100644
--- a/html-test/ref/TypeFamilies.html
+++ b/html-test/ref/TypeFamilies.html
@@ -574,13 +574,13 @@
 		      ></span
 		      > <span class="keyword"
 		      >type</span
-		      > <a href="#" title="TypeFamilies"
-		      >X</a
+		      > '<a href="#" title="TypeFamilies"
+		      >XXX</a
 		      > <a href="#" title="TypeFamilies"
 		      >&lt;&gt;</a
-		      > (a :: <a href="#" title="Data.Kind"
-		      >Type</a
-		      >)</span
+		      > '<a href="#" title="TypeFamilies"
+		      >XX</a
+		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -599,13 +599,13 @@
 		      > <div class="src"
 		      ><span class="keyword"
 			>type</span
-			> <a href="#" title="TypeFamilies"
-			>X</a
+			> '<a href="#" title="TypeFamilies"
+			>XXX</a
 			> <a href="#" title="TypeFamilies"
 			>&lt;&gt;</a
-			> (a :: <a href="#" title="Data.Kind"
-			>Type</a
-			>) = <a href="#" title="TypeFamilies"
+			> '<a href="#" title="TypeFamilies"
+			>XX</a
+			> = '<a href="#" title="TypeFamilies"
 			>X</a
 			></div
 		      ></details
@@ -618,13 +618,13 @@
 		      ></span
 		      > <span class="keyword"
 		      >type</span
-		      > '<a href="#" title="TypeFamilies"
-		      >XXX</a
+		      > <a href="#" title="TypeFamilies"
+		      >X</a
 		      > <a href="#" title="TypeFamilies"
 		      >&lt;&gt;</a
-		      > '<a href="#" title="TypeFamilies"
-		      >XX</a
-		      ></span
+		      > (a :: <a href="#" title="Data.Kind"
+		      >Type</a
+		      >)</span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -643,13 +643,13 @@
 		      > <div class="src"
 		      ><span class="keyword"
 			>type</span
-			> '<a href="#" title="TypeFamilies"
-			>XXX</a
+			> <a href="#" title="TypeFamilies"
+			>X</a
 			> <a href="#" title="TypeFamilies"
 			>&lt;&gt;</a
-			> '<a href="#" title="TypeFamilies"
-			>XX</a
-			> = '<a href="#" title="TypeFamilies"
+			> (a :: <a href="#" title="Data.Kind"
+			>Type</a
+			>) = <a href="#" title="TypeFamilies"
 			>X</a
 			></div
 		      ></details
@@ -1151,14 +1151,14 @@
 		      > <a href="#" title="TypeFamilies"
 		      >Test</a
 		      > <a href="#" title="TypeFamilies"
-		      >Y</a
+		      >X</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
 		  ><td class="doc"
 		  ><p
-		    >Doc for: instance Test Y</p
+		    >Doc for: instance Test X</p
 		    ></td
 		  ></tr
 		><tr
@@ -1181,14 +1181,14 @@
 		      > <a href="#" title="TypeFamilies"
 		      >Test</a
 		      > <a href="#" title="TypeFamilies"
-		      >X</a
+		      >Y</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
 		  ><td class="doc"
 		  ><p
-		    >Doc for: instance Test X</p
+		    >Doc for: instance Test Y</p
 		    ></td
 		  ></tr
 		><tr
@@ -1237,14 +1237,14 @@
 		      > <a href="#" title="TypeFamilies"
 		      >Foo</a
 		      > <a href="#" title="TypeFamilies"
-		      >Y</a
+		      >X</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
 		  ><td class="doc"
 		  ><p
-		    >Doc for: type instance Foo Y = X</p
+		    >Doc for: type instance Foo X = Y</p
 		    ></td
 		  ></tr
 		><tr
@@ -1262,9 +1262,9 @@
 			> <a href="#" title="TypeFamilies"
 			>Foo</a
 			> <a href="#" title="TypeFamilies"
-			>Y</a
-			> = <a href="#" title="TypeFamilies"
 			>X</a
+			> = <a href="#" title="TypeFamilies"
+			>Y</a
 			></div
 		      ></details
 		    ></td
@@ -1279,14 +1279,14 @@
 		      > <a href="#" title="TypeFamilies"
 		      >Foo</a
 		      > <a href="#" title="TypeFamilies"
-		      >X</a
+		      >Y</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
 		  ><td class="doc"
 		  ><p
-		    >Doc for: type instance Foo X = Y</p
+		    >Doc for: type instance Foo Y = X</p
 		    ></td
 		  ></tr
 		><tr
@@ -1304,9 +1304,9 @@
 			> <a href="#" title="TypeFamilies"
 			>Foo</a
 			> <a href="#" title="TypeFamilies"
-			>X</a
-			> = <a href="#" title="TypeFamilies"
 			>Y</a
+			> = <a href="#" title="TypeFamilies"
+			>X</a
 			></div
 		      ></details
 		    ></td
@@ -1407,14 +1407,14 @@
 		      > <a href="#" title="TypeFamilies"
 		      >Bat</a
 		      > <a href="#" title="TypeFamilies"
-		      >Y</a
+		      >X</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
 		  ><td class="doc"
 		  ><p
-		    >Doc for: data instance Bat Y</p
+		    >Doc for: data instance Bat X</p
 		    ></td
 		  ></tr
 		><tr
@@ -1432,11 +1432,33 @@
 			> <a href="#" title="TypeFamilies"
 			>Bat</a
 			> <a href="#" title="TypeFamilies"
-			>Y</a
-			> = <a id="v:BatY" class="def"
-			>BatY</a
-			> <a href="#" title="TypeFamilies"
-			>Y</a
+			>X</a
+			> <ul class="inst"
+			><li class="inst"
+			  >= <a id="v:BatX" class="def"
+			    >BatX</a
+			    > <a href="#" title="TypeFamilies"
+			    >X</a
+			    ></li
+			  ><li class="inst"
+			  >| <a id="v:BatXX" class="def"
+			    >BatXX</a
+			    > { <ul class="subs"
+			    ><li
+			      ><a id="v:aaa" class="def"
+				>aaa</a
+				> :: <a href="#" title="TypeFamilies"
+				>X</a
+				></li
+			      ><li
+			      ><a id="v:bbb" class="def"
+				>bbb</a
+				> :: <a href="#" title="TypeFamilies"
+				>Y</a
+				></li
+			      ></ul
+			    > }</li
+			  ></ul
 			></div
 		      ></details
 		    ></td
@@ -1451,14 +1473,14 @@
 		      > <a href="#" title="TypeFamilies"
 		      >Bat</a
 		      > <a href="#" title="TypeFamilies"
-		      >X</a
+		      >Y</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
 		  ><td class="doc"
 		  ><p
-		    >Doc for: data instance Bat X</p
+		    >Doc for: data instance Bat Y</p
 		    ></td
 		  ></tr
 		><tr
@@ -1476,33 +1498,11 @@
 			> <a href="#" title="TypeFamilies"
 			>Bat</a
 			> <a href="#" title="TypeFamilies"
-			>X</a
-			> <ul class="inst"
-			><li class="inst"
-			  >= <a id="v:BatX" class="def"
-			    >BatX</a
-			    > <a href="#" title="TypeFamilies"
-			    >X</a
-			    ></li
-			  ><li class="inst"
-			  >| <a id="v:BatXX" class="def"
-			    >BatXX</a
-			    > { <ul class="subs"
-			    ><li
-			      ><a id="v:aaa" class="def"
-				>aaa</a
-				> :: <a href="#" title="TypeFamilies"
-				>X</a
-				></li
-			      ><li
-			      ><a id="v:bbb" class="def"
-				>bbb</a
-				> :: <a href="#" title="TypeFamilies"
-				>Y</a
-				></li
-			      ></ul
-			    > }</li
-			  ></ul
+			>Y</a
+			> = <a id="v:BatY" class="def"
+			>BatY</a
+			> <a href="#" title="TypeFamilies"
+			>Y</a
 			></div
 		      ></details
 		    ></td
@@ -1567,14 +1567,14 @@
 		      > <a href="#" title="TypeFamilies"
 		      >Assoc</a
 		      > <a href="#" title="TypeFamilies"
-		      >Y</a
+		      >X</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
 		  ><td class="doc"
 		  ><p
-		    >Doc for: instance Assoc Y</p
+		    >Doc for: instance Assoc X</p
 		    ></td
 		  ></tr
 		><tr
@@ -1595,7 +1595,7 @@
 			  > <a href="#" title="TypeFamilies"
 			  >AssocD</a
 			  > <a href="#" title="TypeFamilies"
-			  >Y</a
+			  >X</a
 			  > <a href="#" class="selflink"
 			  >#</a
 			  ></p
@@ -1605,7 +1605,7 @@
 			  > <a href="#" title="TypeFamilies"
 			  >AssocT</a
 			  > <a href="#" title="TypeFamilies"
-			  >Y</a
+			  >X</a
 			  > <a href="#" class="selflink"
 			  >#</a
 			  ></p
@@ -1621,14 +1621,14 @@
 		      > <a href="#" title="TypeFamilies"
 		      >Assoc</a
 		      > <a href="#" title="TypeFamilies"
-		      >X</a
+		      >Y</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
 		  ><td class="doc"
 		  ><p
-		    >Doc for: instance Assoc X</p
+		    >Doc for: instance Assoc Y</p
 		    ></td
 		  ></tr
 		><tr
@@ -1649,7 +1649,7 @@
 			  > <a href="#" title="TypeFamilies"
 			  >AssocD</a
 			  > <a href="#" title="TypeFamilies"
-			  >X</a
+			  >Y</a
 			  > <a href="#" class="selflink"
 			  >#</a
 			  ></p
@@ -1659,7 +1659,7 @@
 			  > <a href="#" title="TypeFamilies"
 			  >AssocT</a
 			  > <a href="#" title="TypeFamilies"
-			  >X</a
+			  >Y</a
 			  > <a href="#" class="selflink"
 			  >#</a
 			  ></p
@@ -1738,13 +1738,13 @@
 		      ></span
 		      > <span class="keyword"
 		      >type</span
-		      > <a href="#" title="TypeFamilies"
-		      >Y</a
+		      > '<a href="#" title="TypeFamilies"
+		      >XXX</a
 		      > <a href="#" title="TypeFamilies"
 		      >&lt;&gt;</a
-		      > (a :: <a href="#" title="Data.Kind"
-		      >Type</a
-		      >)</span
+		      > '<a href="#" title="TypeFamilies"
+		      >XX</a
+		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -1763,13 +1763,15 @@
 		      > <div class="src"
 		      ><span class="keyword"
 			>type</span
-			> <a href="#" title="TypeFamilies"
-			>Y</a
+			> '<a href="#" title="TypeFamilies"
+			>XXX</a
 			> <a href="#" title="TypeFamilies"
 			>&lt;&gt;</a
-			> (a :: <a href="#" title="Data.Kind"
-			>Type</a
-			>) = a</div
+			> '<a href="#" title="TypeFamilies"
+			>XX</a
+			> = '<a href="#" title="TypeFamilies"
+			>X</a
+			></div
 		      ></details
 		    ></td
 		  ></tr
@@ -1824,13 +1826,13 @@
 		      ></span
 		      > <span class="keyword"
 		      >type</span
-		      > '<a href="#" title="TypeFamilies"
-		      >XXX</a
+		      > <a href="#" title="TypeFamilies"
+		      >Y</a
 		      > <a href="#" title="TypeFamilies"
 		      >&lt;&gt;</a
-		      > '<a href="#" title="TypeFamilies"
-		      >XX</a
-		      ></span
+		      > (a :: <a href="#" title="Data.Kind"
+		      >Type</a
+		      >)</span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -1849,15 +1851,13 @@
 		      > <div class="src"
 		      ><span class="keyword"
 			>type</span
-			> '<a href="#" title="TypeFamilies"
-			>XXX</a
+			> <a href="#" title="TypeFamilies"
+			>Y</a
 			> <a href="#" title="TypeFamilies"
 			>&lt;&gt;</a
-			> '<a href="#" title="TypeFamilies"
-			>XX</a
-			> = '<a href="#" title="TypeFamilies"
-			>X</a
-			></div
+			> (a :: <a href="#" title="Data.Kind"
+			>Type</a
+			>) = a</div
 		      ></details
 		    ></td
 		  ></tr
diff --git a/html-test/ref/TypeFamilies2.html b/html-test/ref/TypeFamilies2.html
index 8425a1d472b3928a8fd8f02201b61becc9e96f18..68c272318f5ef51d5b1a51a983812d4df4fce1dd 100644
--- a/html-test/ref/TypeFamilies2.html
+++ b/html-test/ref/TypeFamilies2.html
@@ -206,15 +206,15 @@
 		      >type</span
 		      > <a href="#" title="TypeFamilies2"
 		      >Foo</a
-		      > <a href="#" title="TypeFamilies2"
-		      >W</a
+		      > <a href="#" title="TypeFamilies"
+		      >X</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
 		  ><td class="doc"
 		  ><p
-		    >Should be visible, but with a hidden right hand side</p
+		    >External instance</p
 		    ></td
 		  ></tr
 		><tr
@@ -224,15 +224,17 @@
 		      >Instance details</summary
 		      ><p
 		      >Defined in <a href="#"
-			>TypeFamilies2</a
+			>TypeFamilies</a
 			></p
 		      > <div class="src"
 		      ><span class="keyword"
 			>type</span
 			> <a href="#" title="TypeFamilies2"
 			>Foo</a
-			> <a href="#" title="TypeFamilies2"
-			>W</a
+			> <a href="#" title="TypeFamilies"
+			>X</a
+			> = <a href="#" title="TypeFamilies"
+			>Y</a
 			></div
 		      ></details
 		    ></td
@@ -246,15 +248,15 @@
 		      >type</span
 		      > <a href="#" title="TypeFamilies2"
 		      >Foo</a
-		      > <a href="#" title="TypeFamilies"
-		      >X</a
+		      > <a href="#" title="TypeFamilies2"
+		      >W</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
 		  ><td class="doc"
 		  ><p
-		    >External instance</p
+		    >Should be visible, but with a hidden right hand side</p
 		    ></td
 		  ></tr
 		><tr
@@ -264,17 +266,15 @@
 		      >Instance details</summary
 		      ><p
 		      >Defined in <a href="#"
-			>TypeFamilies</a
+			>TypeFamilies2</a
 			></p
 		      > <div class="src"
 		      ><span class="keyword"
 			>type</span
 			> <a href="#" title="TypeFamilies2"
 			>Foo</a
-			> <a href="#" title="TypeFamilies"
-			>X</a
-			> = <a href="#" title="TypeFamilies"
-			>Y</a
+			> <a href="#" title="TypeFamilies2"
+			>W</a
 			></div
 		      ></details
 		    ></td
@@ -312,16 +312,14 @@
 		      >data</span
 		      > <a href="#" title="TypeFamilies2"
 		      >Bar</a
-		      > <a href="#" title="TypeFamilies2"
-		      >W</a
+		      > <a href="#" title="TypeFamilies"
+		      >Y</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
-		  ><td class="doc"
-		  ><p
-		    >Shown because BarX is still exported despite Z being hidden</p
-		    ></td
+		  ><td class="doc empty"
+		  >&nbsp;</td
 		  ></tr
 		><tr
 		><td colspan="2"
@@ -330,18 +328,16 @@
 		      >Instance details</summary
 		      ><p
 		      >Defined in <a href="#"
-			>TypeFamilies2</a
+			>TypeFamilies</a
 			></p
 		      > <div class="src"
 		      ><span class="keyword"
 			>data</span
 			> <a href="#" title="TypeFamilies2"
 			>Bar</a
-			> <a href="#" title="TypeFamilies2"
-			>W</a
-			> = <a id="v:BarX" class="def"
-			>BarX</a
-			> Z</div
+			> <a href="#" title="TypeFamilies"
+			>Y</a
+			></div
 		      ></details
 		    ></td
 		  ></tr
@@ -354,14 +350,16 @@
 		      >data</span
 		      > <a href="#" title="TypeFamilies2"
 		      >Bar</a
-		      > <a href="#" title="TypeFamilies"
-		      >Y</a
+		      > <a href="#" title="TypeFamilies2"
+		      >W</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
-		  ><td class="doc empty"
-		  >&nbsp;</td
+		  ><td class="doc"
+		  ><p
+		    >Shown because BarX is still exported despite Z being hidden</p
+		    ></td
 		  ></tr
 		><tr
 		><td colspan="2"
@@ -370,16 +368,18 @@
 		      >Instance details</summary
 		      ><p
 		      >Defined in <a href="#"
-			>TypeFamilies</a
+			>TypeFamilies2</a
 			></p
 		      > <div class="src"
 		      ><span class="keyword"
 			>data</span
 			> <a href="#" title="TypeFamilies2"
 			>Bar</a
-			> <a href="#" title="TypeFamilies"
-			>Y</a
-			></div
+			> <a href="#" title="TypeFamilies2"
+			>W</a
+			> = <a id="v:BarX" class="def"
+			>BarX</a
+			> Z</div
 		      ></details
 		    ></td
 		  ></tr
diff --git a/html-test/ref/TypeFamilies3.html b/html-test/ref/TypeFamilies3.html
index 88e74dd94d2f9bb119935806c52cd2bd2b49273e..c1573f88117a2055df6019158b7e6b359257d32c 100644
--- a/html-test/ref/TypeFamilies3.html
+++ b/html-test/ref/TypeFamilies3.html
@@ -142,9 +142,7 @@
 		      >type</span
 		      > <a href="#" title="TypeFamilies3"
 		      >Bar</a
-		      > <a href="#" title="Data.Int"
-		      >Int</a
-		      ></span
+		      > ()</span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -165,9 +163,9 @@
 			>type</span
 			> <a href="#" title="TypeFamilies3"
 			>Bar</a
-			> <a href="#" title="Data.Int"
+			> () = <a href="#" title="Data.Int"
 			>Int</a
-			> = ()</div
+			></div
 		      ></details
 		    ></td
 		  ></tr
@@ -180,7 +178,9 @@
 		      >type</span
 		      > <a href="#" title="TypeFamilies3"
 		      >Bar</a
-		      > ()</span
+		      > <a href="#" title="Data.Int"
+		      >Int</a
+		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -201,9 +201,9 @@
 			>type</span
 			> <a href="#" title="TypeFamilies3"
 			>Bar</a
-			> () = <a href="#" title="Data.Int"
+			> <a href="#" title="Data.Int"
 			>Int</a
-			></div
+			> = ()</div
 		      ></details
 		    ></td
 		  ></tr
@@ -237,12 +237,10 @@
 		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:if:Baz:Baz:1"
 		      ></span
 		      > <span class="keyword"
-		      >newtype</span
+		      >data</span
 		      > <a href="#" title="TypeFamilies3"
 		      >Baz</a
-		      > <a href="#" title="Prelude"
-		      >Double</a
-		      ></span
+		      > ()</span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -260,15 +258,11 @@
 			></p
 		      > <div class="src"
 		      ><span class="keyword"
-			>newtype</span
+			>data</span
 			> <a href="#" title="TypeFamilies3"
 			>Baz</a
-			> <a href="#" title="Prelude"
-			>Double</a
-			> = <a id="v:Baz3" class="def"
-			>Baz3</a
-			> <a href="#" title="Prelude"
-			>Float</a
+			> () = <a id="v:Baz1" class="def"
+			>Baz1</a
 			></div
 		      ></details
 		    ></td
@@ -279,11 +273,11 @@
 		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:if:Baz:Baz:2"
 		      ></span
 		      > <span class="keyword"
-		      >data</span
+		      >newtype</span
 		      > <a href="#" title="TypeFamilies3"
 		      >Baz</a
-		      > <a href="#" title="Data.Int"
-		      >Int</a
+		      > <a href="#" title="Prelude"
+		      >Double</a
 		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
@@ -302,15 +296,15 @@
 			></p
 		      > <div class="src"
 		      ><span class="keyword"
-			>data</span
+			>newtype</span
 			> <a href="#" title="TypeFamilies3"
 			>Baz</a
-			> <a href="#" title="Data.Int"
-			>Int</a
-			> = <a id="v:Baz2" class="def"
-			>Baz2</a
-			> <a href="#" title="Data.Bool"
-			>Bool</a
+			> <a href="#" title="Prelude"
+			>Double</a
+			> = <a id="v:Baz3" class="def"
+			>Baz3</a
+			> <a href="#" title="Prelude"
+			>Float</a
 			></div
 		      ></details
 		    ></td
@@ -324,7 +318,9 @@
 		      >data</span
 		      > <a href="#" title="TypeFamilies3"
 		      >Baz</a
-		      > ()</span
+		      > <a href="#" title="Data.Int"
+		      >Int</a
+		      ></span
 		    > <a href="#" class="selflink"
 		    >#</a
 		    ></td
@@ -345,8 +341,12 @@
 			>data</span
 			> <a href="#" title="TypeFamilies3"
 			>Baz</a
-			> () = <a id="v:Baz1" class="def"
-			>Baz1</a
+			> <a href="#" title="Data.Int"
+			>Int</a
+			> = <a id="v:Baz2" class="def"
+			>Baz2</a
+			> <a href="#" title="Data.Bool"
+			>Bool</a
 			></div
 		      ></details
 		    ></td
diff --git a/hypsrc-test/ref/src/Classes.html b/hypsrc-test/ref/src/Classes.html
index 2a44be997e979425135f5f54dab04ac802309103..0827458a0670dc67b1fbc4d571e15db8dd15ff78 100644
--- a/hypsrc-test/ref/src/Classes.html
+++ b/hypsrc-test/ref/src/Classes.html
@@ -187,7 +187,7 @@
 	><span class="annottext"
 	  >bar :: Int -&gt; Int
 </span
-	  ><a href="#"
+	  ><a href="Classes.html#bar"
 	  ><span class="hs-identifier hs-var hs-var hs-var hs-var"
 	    >bar</span
 	    ></a
@@ -219,7 +219,7 @@ forall a. a -&gt; a
 	><span class="annottext"
 	  >baz :: Int -&gt; (Int, Int)
 </span
-	  ><a href="#"
+	  ><a href="Classes.html#baz"
 	  ><span class="hs-identifier hs-var hs-var hs-var hs-var"
 	    >baz</span
 	    ></a
@@ -320,7 +320,7 @@ forall a. a -&gt; a
 	><span class="annottext"
 	  >bar :: [a] -&gt; Int
 </span
-	  ><a href="#"
+	  ><a href="Classes.html#bar"
 	  ><span class="hs-identifier hs-var hs-var hs-var hs-var"
 	    >bar</span
 	    ></a
@@ -352,7 +352,7 @@ forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Int
 	><span class="annottext"
 	  >baz :: Int -&gt; ([a], [a])
 </span
-	  ><a href="#"
+	  ><a href="Classes.html#baz"
 	  ><span class="hs-identifier hs-var hs-var hs-var hs-var"
 	    >baz</span
 	    ></a
@@ -791,7 +791,7 @@ forall a. Foo a =&gt; a -&gt; Int
 	><span class="annottext"
 	  >norf :: [Int] -&gt; Int
 </span
-	  ><a href="#"
+	  ><a href="Classes.html#norf"
 	  ><span class="hs-identifier hs-var hs-var hs-var hs-var"
 	    >norf</span
 	    ></a
@@ -863,7 +863,7 @@ forall (t :: * -&gt; *) a. (Foldable t, Num a) =&gt; t a -&gt; a
 	><span class="annottext"
 	  >quux :: ([a], [a]) -&gt; [a]
 </span
-	  ><a href="#"
+	  ><a href="Classes.html#quux"
 	  ><span class="hs-identifier hs-var hs-var hs-var hs-var"
 	    >quux</span
 	    ></a
@@ -1111,7 +1111,7 @@ forall a. [a] -&gt; [a] -&gt; [a]
 	><span class="annottext"
 	  >plugh :: forall a b. Either a a -&gt; Either b b -&gt; Either (a -&gt; b) (b -&gt; a)
 </span
-	  ><a href="#"
+	  ><a href="Classes.html#plugh"
 	  ><span class="hs-identifier hs-var hs-var hs-var hs-var"
 	    >plugh</span
 	    ></a
diff --git a/hypsrc-test/ref/src/Records.html b/hypsrc-test/ref/src/Records.html
index 7c5b2ff75f764ea4fa9bf2dd0b44584660fabc3d..859d1e703581dd1e9982b8832abfe6665f453194 100644
--- a/hypsrc-test/ref/src/Records.html
+++ b/hypsrc-test/ref/src/Records.html
@@ -616,10 +616,10 @@ forall a. Num a =&gt; a -&gt; a -&gt; a
       ><span class="annot"
 	><span class="annottext"
 	  >Int
-x :: Int
 x :: Point -&gt; Int
+x :: Int
 </span
-	  ><a href="#"
+	  ><a href="Records.html#x"
 	  ><span class="hs-identifier hs-var hs-var"
 	    >x</span
 	    ></a
@@ -633,10 +633,10 @@ x :: Point -&gt; Int
       ><span class="annot"
 	><span class="annottext"
 	  >Int
-y :: Int
 y :: Point -&gt; Int
+y :: Int
 </span
-	  ><a href="#"
+	  ><a href="Records.html#y"
 	  ><span class="hs-identifier hs-var hs-var"
 	    >y</span
 	    ></a
@@ -1294,12 +1294,12 @@ forall a. Num a =&gt; a -&gt; a -&gt; a
 	><span class="annot"
 	  ><span class="annottext"
 	    >Int
-y :: Int
-x :: Int
-y :: Point -&gt; Int
 x :: Point -&gt; Int
+y :: Point -&gt; Int
+x :: Int
+y :: Int
 </span
-	    ><a href="#"
+	    ><a href="Records.html#x"
 	    ><span class="hs-glyph hs-var hs-var hs-var hs-var"
 	      >..</span
 	      ></a
diff --git a/latex-test/ref/TypeFamilies3/TypeFamilies3.tex b/latex-test/ref/TypeFamilies3/TypeFamilies3.tex
index d87877040f330a0bdc334af30374475099b84175..38c143b0e299967ffcc929c4f117aaf338d84e05 100644
--- a/latex-test/ref/TypeFamilies3/TypeFamilies3.tex
+++ b/latex-test/ref/TypeFamilies3/TypeFamilies3.tex
@@ -27,7 +27,7 @@ An open family\par}
 \end{haddockdesc}
 \begin{haddockdesc}
 \item[\begin{tabular}{@{}l}
-type instance Bar Int = ()\\type instance Bar () = Int
+type instance Bar () = Int\\type instance Bar Int = ()
 \end{tabular}]
 \end{haddockdesc}
 \begin{haddockdesc}
@@ -39,6 +39,6 @@ A data family\par}
 \end{haddockdesc}
 \begin{haddockdesc}
 \item[\begin{tabular}{@{}l}
-newtype instance Baz Double\\data instance Baz Int\\data instance Baz ()
+data instance Baz ()\\newtype instance Baz Double\\data instance Baz Int
 \end{tabular}]
 \end{haddockdesc}
\ No newline at end of file