aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/golden-tests/tests/A.html.ref123
-rw-r--r--tests/golden-tests/tests/B.html.ref88
-rw-r--r--tests/golden-tests/tests/Bug1.html.ref156
-rw-r--r--tests/golden-tests/tests/Bug2.html.ref94
-rw-r--r--tests/golden-tests/tests/Bug3.html.ref120
-rw-r--r--tests/golden-tests/tests/Bug4.html.ref120
-rw-r--r--tests/golden-tests/tests/Bug6.html.ref490
-rw-r--r--tests/golden-tests/tests/Bug7.html.ref252
-rw-r--r--tests/golden-tests/tests/Bug8.html.ref139
-rw-r--r--tests/golden-tests/tests/Bugs.html.ref124
-rw-r--r--tests/golden-tests/tests/CrossPackageDocs.html.ref548
-rw-r--r--tests/golden-tests/tests/Examples.html.ref230
-rw-r--r--tests/golden-tests/tests/FunArgs.html.ref203
-rw-r--r--tests/golden-tests/tests/GADTRecords.html.ref295
-rw-r--r--tests/golden-tests/tests/Hash.html.ref494
-rw-r--r--tests/golden-tests/tests/NamedDoc.html.ref103
-rw-r--r--tests/golden-tests/tests/NoLayout.hs2
-rw-r--r--tests/golden-tests/tests/NoLayout.html.ref122
-rw-r--r--tests/golden-tests/tests/NonGreedy.html.ref120
-rw-r--r--tests/golden-tests/tests/QuasiExpr.html.ref350
-rw-r--r--tests/golden-tests/tests/QuasiQuote.html.ref94
-rw-r--r--tests/golden-tests/tests/TH.html.ref93
-rw-r--r--tests/golden-tests/tests/TH2.html.ref75
-rw-r--r--tests/golden-tests/tests/Test.html.ref3206
-rw-r--r--tests/golden-tests/tests/Ticket112.html.ref121
-rw-r--r--tests/golden-tests/tests/Ticket61.html.ref133
-rw-r--r--tests/golden-tests/tests/Ticket75.html.ref179
-rw-r--r--tests/golden-tests/tests/TypeFamilies.html.ref325
-rw-r--r--tests/golden-tests/tests/TypeOperators.html.ref394
-rw-r--r--tests/golden-tests/tests/Visible.html.ref95
30 files changed, 337 insertions, 8551 deletions
diff --git a/tests/golden-tests/tests/A.html.ref b/tests/golden-tests/tests/A.html.ref
index 69567351..a2685a1e 100644
--- a/tests/golden-tests/tests/A.html.ref
+++ b/tests/golden-tests/tests/A.html.ref
@@ -1,119 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->A</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_A.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->A</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:A"
-><A NAME="t%3AA"
-></A
-></A
-><B
->A</B
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:A"
-><A NAME="v%3AA"
-></A
-></A
-><B
->A</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>A</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_A.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">A</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:A" class="def">A</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:A" class="def">A</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/B.html.ref b/tests/golden-tests/tests/B.html.ref
index 007d084b..0a971c13 100644
--- a/tests/golden-tests/tests/B.html.ref
+++ b/tests/golden-tests/tests/B.html.ref
@@ -1,84 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->B</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_B.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->B</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="">A</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>B</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_B.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">B</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src">module <A HREF="">A</a></p></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Bug1.html.ref b/tests/golden-tests/tests/Bug1.html.ref
index 861b7ee7..8e6a97f2 100644
--- a/tests/golden-tests/tests/Bug1.html.ref
+++ b/tests/golden-tests/tests/Bug1.html.ref
@@ -1,150 +1,6 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Bug1</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Bug1.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Bug1</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">T</A
-> = <A HREF="">T</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:T"
-><A NAME="t%3AT"
-></A
-></A
-><B
->T</B
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->We should have different anchors for constructors and types/classes. This
- hyperlink should point to the type constructor by default: <TT
-><A HREF="">T</A
-></TT
->.
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:T"
-><A NAME="v%3AT"
-></A
-></A
-><B
->T</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Bug1</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Bug1.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Bug1</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <A HREF="">T</a> = <A HREF="">T</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:T" class="def">T</a> </p><div class="doc"><p>We should have different anchors for constructors and types/classes. This
+ hyperlink should point to the type constructor by default: <code><A HREF="">T</a></code>.
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:T" class="def">T</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Bug2.html.ref b/tests/golden-tests/tests/Bug2.html.ref
index e344bd69..d887178e 100644
--- a/tests/golden-tests/tests/Bug2.html.ref
+++ b/tests/golden-tests/tests/Bug2.html.ref
@@ -1,90 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Bug2</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Bug2.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Bug2</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:x"
-><A NAME="v%3Ax"
-></A
-></A
-><B
->x</B
-> :: <A HREF="">A</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Bug2</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Bug2.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Bug2</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:x" class="def">x</a> :: <A HREF="">A</a></p></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Bug3.html.ref b/tests/golden-tests/tests/Bug3.html.ref
index dc24ddd0..eec36ae3 100644
--- a/tests/golden-tests/tests/Bug3.html.ref
+++ b/tests/golden-tests/tests/Bug3.html.ref
@@ -1,116 +1,6 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Bug3</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Bug3.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Bug3</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="">foo</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:foo"
-><A NAME="v%3Afoo"
-></A
-></A
-><B
->foo</B
-> :: <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->/multi-line
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Bug3</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Bug3.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Bug3</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><A HREF="">foo</a> :: <A HREF="">Int</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:foo" class="def">foo</a> :: <A HREF="">Int</a></p><div class="doc"><p>/multi-line
emphasis/
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+</p></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Bug4.html.ref b/tests/golden-tests/tests/Bug4.html.ref
index 1a09fff3..58d36734 100644
--- a/tests/golden-tests/tests/Bug4.html.ref
+++ b/tests/golden-tests/tests/Bug4.html.ref
@@ -1,115 +1,5 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Bug4</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Bug4.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Bug4</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="">foo</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:foo"
-><A NAME="v%3Afoo"
-></A
-></A
-><B
->foo</B
-> :: <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->don't use apostrophe's in the wrong place's
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Bug4</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Bug4.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Bug4</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><A HREF="">foo</a> :: <A HREF="">Int</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:foo" class="def">foo</a> :: <A HREF="">Int</a></p><div class="doc"><p>don't use apostrophe's in the wrong place's
+</p></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Bug6.html.ref b/tests/golden-tests/tests/Bug6.html.ref
index 3686fd6d..1d37b9b1 100644
--- a/tests/golden-tests/tests/Bug6.html.ref
+++ b/tests/golden-tests/tests/Bug6.html.ref
@@ -1,482 +1,12 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Bug6</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Bug6.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Bug6</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->Exporting records.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">A</A
-> = <A HREF="">A</A
-> <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">B</A
-> = <A HREF="">B</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="">b</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">C</A
-> = <A HREF="">C</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="">c1</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="">c2</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">D</A
-> = <A HREF="">D</A
-> <A HREF="">Int</A
-> <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A HREF="">E</A
-> = <A HREF="">E</A
-> <A HREF="">Int</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:A"
-><A NAME="t%3AA"
-></A
-></A
-><B
->A</B
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->This record is exported without its field
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:A"
-><A NAME="v%3AA"
-></A
-></A
-><B
->A</B
-> <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:B"
-><A NAME="t%3AB"
-></A
-></A
-><B
->B</B
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->.. with its field, but the field is named separately in the export list
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Bug6</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Bug6.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Bug6</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Exporting records.
+</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <A HREF="">A</a> = <A HREF="">A</a> <A HREF="">Int</a></li><li class="src short"><span class="keyword">data</span> <A HREF="">B</a> = <A HREF="">B</a> {<ul class="subs"><li><A HREF="">b</a> :: <A HREF="">Int</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <A HREF="">C</a> = <A HREF="">C</a> {<ul class="subs"><li><A HREF="">c1</a> :: <A HREF="">Int</a></li><li><A HREF="">c2</a> :: <A HREF="">Int</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <A HREF="">D</a> = <A HREF="">D</a> <A HREF="">Int</a> <A HREF="">Int</a></li><li class="src short"><span class="keyword">newtype</span> <A HREF="">E</a> = <A HREF="">E</a> <A HREF="">Int</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:A" class="def">A</a> </p><div class="doc"><p>This record is exported without its field
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:A" class="def">A</a> <A HREF="">Int</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:B" class="def">B</a> </p><div class="doc"><p>.. with its field, but the field is named separately in the export list
(the field isn't documented separately since it is already documented here)
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:B"
-><A NAME="v%3AB"
-></A
-></A
-><B
->B</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:b"
-><A NAME="v%3Ab"
-></A
-></A
-><B
->b</B
-> :: <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:C"
-><A NAME="t%3AC"
-></A
-></A
-><B
->C</B
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->.. with fields names as subordinate names in the export
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:C"
-><A NAME="v%3AC"
-></A
-></A
-><B
->C</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:c1"
-><A NAME="v%3Ac1"
-></A
-></A
-><B
->c1</B
-> :: <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:c2"
-><A NAME="v%3Ac2"
-></A
-></A
-><B
->c2</B
-> :: <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:D"
-><A NAME="t%3AD"
-></A
-></A
-><B
->D</B
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->.. with only some of the fields exported (we can't handle this one -
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:B" class="def">B</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:b" class="def">b</a> :: <A HREF="">Int</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:C" class="def">C</a> </p><div class="doc"><p>.. with fields names as subordinate names in the export
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:C" class="def">C</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:c1" class="def">c1</a> :: <A HREF="">Int</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:c2" class="def">c2</a> :: <A HREF="">Int</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:D" class="def">D</a> </p><div class="doc"><p>.. with only some of the fields exported (we can't handle this one -
how do we render the declaration?)
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:D"
-><A NAME="v%3AD"
-></A
-></A
-><B
->D</B
-> <A HREF="">Int</A
-> <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A NAME="t:E"
-><A NAME="t%3AE"
-></A
-></A
-><B
->E</B
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->a newtype with a field
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:E"
-><A NAME="v%3AE"
-></A
-></A
-><B
->E</B
-> <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:D" class="def">D</a> <A HREF="">Int</a> <A HREF="">Int</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:E" class="def">E</a> </p><div class="doc"><p>a newtype with a field
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:E" class="def">E</a> <A HREF="">Int</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Bug7.html.ref b/tests/golden-tests/tests/Bug7.html.ref
index 83ce5323..1601266b 100644
--- a/tests/golden-tests/tests/Bug7.html.ref
+++ b/tests/golden-tests/tests/Bug7.html.ref
@@ -1,244 +1,10 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Bug7</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Bug7.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Bug7</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->This module caused a duplicate instance in the documentation for the Foo
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Bug7</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Bug7.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Bug7</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module caused a duplicate instance in the documentation for the Foo
type.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">Foo</A
-> = <A HREF="">Foo</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A HREF="">Bar</A
-> x y </TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:Foo"
-><A NAME="t%3AFoo"
-></A
-></A
-><B
->Foo</B
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->The Foo datatype
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:Foo"
-><A NAME="v%3AFoo"
-></A
-></A
-><B
->Foo</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Foo')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:Foo" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A HREF="">Bar</A
-> <A HREF="">Foo</A
-> <A HREF="">Foo</A
-></TD
-><TD CLASS="rdoc"
->Just one instance
-</TD
-></TR
-></TABLE
-></DIV
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A NAME="t:Bar"
-><A NAME="t%3ABar"
-></A
-></A
-><B
->Bar</B
-> x y </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->The Bar class
-</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Bar')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:Bar" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A HREF="">Bar</A
-> <A HREF="">Foo</A
-> <A HREF="">Foo</A
-></TD
-><TD CLASS="rdoc"
->Just one instance
-</TD
-></TR
-></TABLE
-></DIV
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <A HREF="">Foo</a> = <A HREF="">Foo</a></li><li class="src short"><span class="keyword">class</span> <A HREF="">Bar</a> x y </li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Foo" class="def">Foo</a> </p><div class="doc"><p>The Foo datatype
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Foo" class="def">Foo</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Foo" class="caption collapser" onclick="toggleSection('i:Foo')">Instances</p><div id="section.i:Foo" class="show"><table><tr><td class="src"><A HREF="">Bar</a> <A HREF="">Foo</a> <A HREF="">Foo</a></td><td class="doc"><p>Just one instance
+</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:Bar" class="def">Bar</a> x y </p><div class="doc"><p>The Bar class
+</p></div><div class="subs instances"><p id="control.i:Bar" class="caption collapser" onclick="toggleSection('i:Bar')">Instances</p><div id="section.i:Bar" class="show"><table><tr><td class="src"><A HREF="">Bar</a> <A HREF="">Foo</a> <A HREF="">Foo</a></td><td class="doc"><p>Just one instance
+</p></td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Bug8.html.ref b/tests/golden-tests/tests/Bug8.html.ref
index 907602b7..198a2039 100644
--- a/tests/golden-tests/tests/Bug8.html.ref
+++ b/tests/golden-tests/tests/Bug8.html.ref
@@ -1,135 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Bug8</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Bug8.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Bug8</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:Typ"
-><A NAME="t%3ATyp"
-></A
-></A
-><B
->Typ</B
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:Type"
-><A NAME="v%3AType"
-></A
-></A
-><B
->Type</B
-> (<A HREF="">String</A
->, [<A HREF="">Typ</A
->])</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:TFree"
-><A NAME="v%3ATFree"
-></A
-></A
-><B
->TFree</B
-> (<A HREF="">String</A
->, [<A HREF="">String</A
->])</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Bug8</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Bug8.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Bug8</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Typ" class="def">Typ</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Type" class="def">Type</a> (<A HREF="">String</a>, [<A HREF="">Typ</a>])</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:TFree" class="def">TFree</a> (<A HREF="">String</a>, [<A HREF="">String</a>])</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Bugs.html.ref b/tests/golden-tests/tests/Bugs.html.ref
index 75666af0..6d4f20ed 100644
--- a/tests/golden-tests/tests/Bugs.html.ref
+++ b/tests/golden-tests/tests/Bugs.html.ref
@@ -1,120 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Bugs</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Bugs.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Bugs</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:A"
-><A NAME="t%3AA"
-></A
-></A
-><B
->A</B
-> a </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:A"
-><A NAME="v%3AA"
-></A
-></A
-><B
->A</B
-> a (a -&gt; <A HREF="">Int</A
->)</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Bugs</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Bugs.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Bugs</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:A" class="def">A</a> a </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:A" class="def">A</a> a (a -&gt; <A HREF="">Int</a>)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/CrossPackageDocs.html.ref b/tests/golden-tests/tests/CrossPackageDocs.html.ref
index 375984dc..d62b64e4 100644
--- a/tests/golden-tests/tests/CrossPackageDocs.html.ref
+++ b/tests/golden-tests/tests/CrossPackageDocs.html.ref
@@ -1,525 +1,43 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->CrossPackageDocs</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_CrossPackageDocs.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->CrossPackageDocs</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="">map</A
-> :: (a -&gt; b) -&gt; [a] -&gt; [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A HREF="">Monad</A
-> m <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="">(&gt;&gt;=)</A
-> :: m a -&gt; (a -&gt; m b) -&gt; m b</TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">(&gt;&gt;)</A
-> :: m a -&gt; m b -&gt; m b</TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">return</A
-> :: a -&gt; m a</TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">fail</A
-> :: <A HREF="">String</A
-> -&gt; m a</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">runInteractiveProcess</A
-> :: <A HREF="">FilePath</A
-> -&gt; [<A HREF="">String</A
->] -&gt; <A HREF="">Maybe</A
-> <A HREF="">FilePath</A
-> -&gt; <A HREF="">Maybe</A
-> [(<A HREF="">String</A
->, <A HREF="">String</A
->)] -&gt; <A HREF="">IO</A
-> (<A HREF="">Handle</A
->, <A HREF="">Handle</A
->, <A HREF="">Handle</A
->, <A HREF="">ProcessHandle</A
->)</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:map"
-><A NAME="v%3Amap"
-></A
-></A
-><B
->map</B
-> :: (a -&gt; b) -&gt; [a] -&gt; [b]</TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
-><TT
-><A HREF="">map</A
-></TT
-> <TT
->f xs</TT
-> is the list obtained by applying <TT
->f</TT
-> to each element
- of <TT
->xs</TT
->, i.e.,
-</P
-><TT
-> map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn]
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>CrossPackageDocs</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_CrossPackageDocs.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">CrossPackageDocs</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><A HREF="">map</a> :: (a -&gt; b) -&gt; [a] -&gt; [b]</li><li class="src short"><span class="keyword">class</span> <A HREF="">Monad</a> m <span class="keyword">where</span><ul class="subs"><li><A HREF="">(&gt;&gt;=)</a> :: m a -&gt; (a -&gt; m b) -&gt; m b</li><li><A HREF="">(&gt;&gt;)</a> :: m a -&gt; m b -&gt; m b</li><li><A HREF="">return</a> :: a -&gt; m a</li><li><A HREF="">fail</a> :: <A HREF="">String</a> -&gt; m a</li></ul></li><li class="src short"><A HREF="">runInteractiveProcess</a> :: <A HREF="">FilePath</a> -&gt; [<A HREF="">String</a>] -&gt; <A HREF="">Maybe</a> <A HREF="">FilePath</a> -&gt; <A HREF="">Maybe</a> [(<A HREF="">String</a>, <A HREF="">String</a>)] -&gt; <A HREF="">IO</a> (<A HREF="">Handle</a>, <A HREF="">Handle</a>, <A HREF="">Handle</a>, <A HREF="">ProcessHandle</a>)</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:map" class="def">map</a> :: (a -&gt; b) -&gt; [a] -&gt; [b]</p><div class="doc"><p><code><A HREF="">map</a></code> <code>f xs</code> is the list obtained by applying <code>f</code> to each element
+ of <code>xs</code>, i.e.,
+</p><code> map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn]
map f [x1, x2, ...] == [f x1, f x2, ...]
-</TT
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A NAME="t:Monad"
-><A NAME="t%3AMonad"
-></A
-></A
-><B
->Monad</B
-> m <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
-><P
->The <TT
-><A HREF="">Monad</A
-></TT
-> class defines the basic operations over a <EM
->monad</EM
->,
-a concept from a branch of mathematics known as <EM
->category theory</EM
->.
+</code></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:Monad" class="def">Monad</a> m <span class="keyword">where</span></p><div class="doc"><p>The <code><A HREF="">Monad</a></code> class defines the basic operations over a <em>monad</em>,
+a concept from a branch of mathematics known as <em>category theory</em>.
From the perspective of a Haskell programmer, however, it is best to
-think of a monad as an <EM
->abstract datatype</EM
-> of actions.
-Haskell's <TT
->do</TT
-> expressions provide a convenient syntax for writing
+think of a monad as an <em>abstract datatype</em> of actions.
+Haskell's <code>do</code> expressions provide a convenient syntax for writing
monadic expressions.
-</P
-><P
->Minimal complete definition: <TT
-><A HREF="">&gt;&gt;=</A
-></TT
-> and <TT
-><A HREF="">return</A
-></TT
->.
-</P
-><P
->Instances of <TT
-><A HREF="">Monad</A
-></TT
-> should satisfy the following laws:
-</P
-><TT
-> return a &gt;&gt;= k == k a
+</p><p>Minimal complete definition: <code><A HREF="">&gt;&gt;=</a></code> and <code><A HREF="">return</a></code>.
+</p><p>Instances of <code><A HREF="">Monad</a></code> should satisfy the following laws:
+</p><code> return a &gt;&gt;= k == k a
m &gt;&gt;= return == m
m &gt;&gt;= (\x -&gt; k x &gt;&gt;= h) == (m &gt;&gt;= k) &gt;&gt;= h
-</TT
-><P
->Instances of both <TT
-><A HREF="">Monad</A
-></TT
-> and <TT
-><A HREF="">Functor</A
-></TT
-> should additionally satisfy the law:
-</P
-><TT
-> fmap f xs == xs &gt;&gt;= return . f
-</TT
-><P
->The instances of <TT
-><A HREF="">Monad</A
-></TT
-> for lists, Data.Maybe.Maybe and System.IO.IO
-defined in the <A HREF="">Prelude</A
-> satisfy these laws.
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="section4"
->Methods</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A NAME="v:>>="
-><A NAME="v%3A%3E%3E%3D"
-></A
-></A
-><B
->(&gt;&gt;=)</B
-> :: m a -&gt; (a -&gt; m b) -&gt; m b</TD
-></TR
-><TR
-><TD CLASS="doc"
->Sequentially compose two actions, passing any value produced
+</code><p>Instances of both <code><A HREF="">Monad</a></code> and <code><A HREF="">Functor</a></code> should additionally satisfy the law:
+</p><code> fmap f xs == xs &gt;&gt;= return . f
+</code><p>The instances of <code><A HREF="">Monad</a></code> for lists, Data.Maybe.Maybe and System.IO.IO
+defined in the <A HREF="">Prelude</a> satisfy these laws.
+</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:-62--62--61-" class="def">(&gt;&gt;=)</a> :: m a -&gt; (a -&gt; m b) -&gt; m b</p><div class="doc"><p>Sequentially compose two actions, passing any value produced
by the first as an argument to the second.
-</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:>>"
-><A NAME="v%3A%3E%3E"
-></A
-></A
-><B
->(&gt;&gt;)</B
-> :: m a -&gt; m b -&gt; m b</TD
-></TR
-><TR
-><TD CLASS="doc"
->Sequentially compose two actions, discarding any value produced
+</p></div><p class="src"><a name="v:-62--62-" class="def">(&gt;&gt;)</a> :: m a -&gt; m b -&gt; m b</p><div class="doc"><p>Sequentially compose two actions, discarding any value produced
by the first, like sequencing operators (such as the semicolon)
in imperative languages.
-</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:return"
-><A NAME="v%3Areturn"
-></A
-></A
-><B
->return</B
-> :: a -&gt; m a</TD
-></TR
-><TR
-><TD CLASS="doc"
->Inject a value into the monadic type.
-</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:fail"
-><A NAME="v%3Afail"
-></A
-></A
-><B
->fail</B
-> :: <A HREF="">String</A
-> -&gt; m a</TD
-></TR
-><TR
-><TD CLASS="doc"
->Fail with a message. This operation is not part of the
+</p></div><p class="src"><a name="v:return" class="def">return</a> :: a -&gt; m a</p><div class="doc"><p>Inject a value into the monadic type.
+</p></div><p class="src"><a name="v:fail" class="def">fail</a> :: <A HREF="">String</a> -&gt; m a</p><div class="doc"><p>Fail with a message. This operation is not part of the
mathematical definition of a monad, but is invoked on pattern-match
- failure in a <TT
->do</TT
-> expression.
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Monad')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:Monad" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A HREF="">Monad</A
-> []</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A HREF="">Monad</A
-> <A HREF="">IO</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A HREF="">Monad</A
-> Q</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A HREF="">Monad</A
-> <A HREF="">Maybe</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A HREF="">Monad</A
-> ((-&gt;) r)</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></DIV
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:runInteractiveProcess"
-><A NAME="v%3ArunInteractiveProcess"
-></A
-></A
-><B
->runInteractiveProcess</B
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
->:: <A HREF="">FilePath</A
-></TD
-><TD CLASS="rdoc"
->Filename of the executable
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; [<A HREF="">String</A
->]</TD
-><TD CLASS="rdoc"
->Arguments to pass to the executable
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="">Maybe</A
-> <A HREF="">FilePath</A
-></TD
-><TD CLASS="rdoc"
->Optional path to the working directory
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="">Maybe</A
-> [(<A HREF="">String</A
->, <A HREF="">String</A
->)]</TD
-><TD CLASS="rdoc"
->Optional environment (otherwise inherit)
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="">IO</A
-> (<A HREF="">Handle</A
->, <A HREF="">Handle</A
->, <A HREF="">Handle</A
->, <A HREF="">ProcessHandle</A
->)</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="ndoc" COLSPAN="2"
-><P
->Runs a raw command, and returns <TT
-><A HREF="">Handle</A
-></TT
->s that may be used to communicate
- with the process via its <TT
->stdin</TT
->, <TT
->stdout</TT
-> and <TT
->stderr</TT
-> respectively.
-</P
-><P
->For example, to start a process and feed a string to its stdin:
-</P
-><TT
-> (inp,out,err,pid) &lt;- runInteractiveProcess &quot;...&quot;
+ failure in a <code>do</code> expression.
+</p></div></div><div class="subs instances"><p id="control.i:Monad" class="caption collapser" onclick="toggleSection('i:Monad')">Instances</p><div id="section.i:Monad" class="show"><table><tr><td class="src"><A HREF="">Monad</a> []</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><A HREF="">Monad</a> <A HREF="">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><A HREF="">Monad</a> Q</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><A HREF="">Monad</a> <A HREF="">Maybe</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><A HREF="">Monad</a> ((-&gt;) r)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:runInteractiveProcess" class="def">runInteractiveProcess</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <A HREF="">FilePath</a></td><td class="doc"><p>Filename of the executable
+</p></td></tr><tr><td class="src">-&gt; [<A HREF="">String</a>]</td><td class="doc"><p>Arguments to pass to the executable
+</p></td></tr><tr><td class="src">-&gt; <A HREF="">Maybe</a> <A HREF="">FilePath</a></td><td class="doc"><p>Optional path to the working directory
+</p></td></tr><tr><td class="src">-&gt; <A HREF="">Maybe</a> [(<A HREF="">String</a>, <A HREF="">String</a>)]</td><td class="doc"><p>Optional environment (otherwise inherit)
+</p></td></tr><tr><td class="src">-&gt; <A HREF="">IO</a> (<A HREF="">Handle</a>, <A HREF="">Handle</a>, <A HREF="">Handle</a>, <A HREF="">ProcessHandle</a>)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Runs a raw command, and returns <code><A HREF="">Handle</a></code>s that may be used to communicate
+ with the process via its <code>stdin</code>, <code>stdout</code> and <code>stderr</code> respectively.
+</p><p>For example, to start a process and feed a string to its stdin:
+</p><code> (inp,out,err,pid) &lt;- runInteractiveProcess &quot;...&quot;
forkIO (hPutStr inp str)
-</TT
-><P
->The <TT
-><A HREF="">Handle</A
-></TT
->s are initially in binary mode; if you need them to be
- in text mode then use <TT
-><A HREF="">hSetBinaryMode</A
-></TT
->.
-</P
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+</code><p>The <code><A HREF="">Handle</a></code>s are initially in binary mode; if you need them to be
+ in text mode then use <code><A HREF="">hSetBinaryMode</a></code>.
+</p></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Examples.html.ref b/tests/golden-tests/tests/Examples.html.ref
index 64634d26..5dc3885a 100644
--- a/tests/golden-tests/tests/Examples.html.ref
+++ b/tests/golden-tests/tests/Examples.html.ref
@@ -1,208 +1,22 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Examples</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Examples.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="index.html"
->Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="doc-index.html"
->Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Examples</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Afib"
->fib</A
-> :: <A HREF=" /home/sol/.install/ghc/ghc-6.12.1/lib/ghc-6.12.1/../../share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AInteger"
->Integer</A
-> -&gt; <A HREF=" /home/sol/.install/ghc/ghc-6.12.1/lib/ghc-6.12.1/../../share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AInteger"
->Integer</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:fib"
-><A NAME="v%3Afib"
-></A
-></A
-><B
->fib</B
-> :: <A HREF=" /home/sol/.install/ghc/ghc-6.12.1/lib/ghc-6.12.1/../../share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AInteger"
->Integer</A
-> -&gt; <A HREF=" /home/sol/.install/ghc/ghc-6.12.1/lib/ghc-6.12.1/../../share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AInteger"
->Integer</A
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Fibonacci number of given <TT
-><A HREF=" /home/sol/.install/ghc/ghc-6.12.1/lib/ghc-6.12.1/../../share/doc/ghc/html/libraries/base-4.2.0.0/Prelude.html#t%3AInteger"
->Integer</A
-></TT
->.
-</P
-><P
->Examples:
-</P
-><PRE CLASS="screen"
-><CODE CLASS="prompt"
->ghci&gt; </CODE
-><STRONG CLASS="userinput"
-><CODE
->fib 5
-</CODE
-></STRONG
->5
-<CODE CLASS="prompt"
->ghci&gt; </CODE
-><STRONG CLASS="userinput"
-><CODE
->fib 10
-</CODE
-></STRONG
->55
-</PRE
-><PRE CLASS="screen"
-><CODE CLASS="prompt"
->ghci&gt; </CODE
-><STRONG CLASS="userinput"
-><CODE
->fib 10
-</CODE
-></STRONG
->55
-</PRE
-><P
->One more Example:
-</P
-><PRE CLASS="screen"
-><CODE CLASS="prompt"
->ghci&gt; </CODE
-><STRONG CLASS="userinput"
-><CODE
->fib 5
-</CODE
-></STRONG
->5
-</PRE
-><P
->One more Example:
-</P
-><PRE CLASS="screen"
-><CODE CLASS="prompt"
->ghci&gt; </CODE
-><STRONG CLASS="userinput"
-><CODE
->fib 5
-</CODE
-></STRONG
->5
-</PRE
-><P
->Example with an import:
-</P
-><PRE CLASS="screen"
-><CODE CLASS="prompt"
->ghci&gt; </CODE
-><STRONG CLASS="userinput"
-><CODE
->import Data.Char
-</CODE
-></STRONG
-><CODE CLASS="prompt"
->ghci&gt; </CODE
-><STRONG CLASS="userinput"
-><CODE
->isSpace 'a'
-</CODE
-></STRONG
->False
-</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Examples</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Examples.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Examples</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><A HREF="">fib</a> :: <A HREF="">Integer</a> -&gt; <A HREF="">Integer</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:fib" class="def">fib</a> :: <A HREF="">Integer</a> -&gt; <A HREF="">Integer</a></p><div class="doc"><p>Fibonacci number of given <code><A HREF="">Integer</a></code>.
+</p><p>Examples:
+</p><pre class="screen"><code class="prompt">ghci&gt; </code><strong class="userinput"><code>fib 5
+</code></strong>5
+<code class="prompt">ghci&gt; </code><strong class="userinput"><code>fib 10
+</code></strong>55
+</pre><pre class="screen"><code class="prompt">ghci&gt; </code><strong class="userinput"><code>fib 10
+</code></strong>55
+</pre><p>One more Example:
+</p><pre class="screen"><code class="prompt">ghci&gt; </code><strong class="userinput"><code>fib 5
+</code></strong>5
+</pre><p>One more Example:
+</p><pre class="screen"><code class="prompt">ghci&gt; </code><strong class="userinput"><code>fib 5
+</code></strong>5
+</pre><p>Example with an import:
+</p><pre class="screen"><code class="prompt">ghci&gt; </code><strong class="userinput"><code>import Data.Char
+</code></strong><code class="prompt">ghci&gt; </code><strong class="userinput"><code>isSpace 'a'
+</code></strong>False
+</pre></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/FunArgs.html.ref b/tests/golden-tests/tests/FunArgs.html.ref
index f6c34bd4..7ee8220d 100644
--- a/tests/golden-tests/tests/FunArgs.html.ref
+++ b/tests/golden-tests/tests/FunArgs.html.ref
@@ -1,190 +1,13 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->FunArgs</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_FunArgs.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->FunArgs</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:f"
-><A NAME="v%3Af"
-></A
-></A
-><B
->f</B
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
->:: <SPAN CLASS="keyword"
->forall</SPAN
-> a . <A HREF="">Ord</A
-> a</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
->=&gt; <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
->First argument
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; a</TD
-><TD CLASS="rdoc"
->Second argument
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="">Bool</A
-></TD
-><TD CLASS="rdoc"
->Third argument
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; (a -&gt; a)</TD
-><TD CLASS="rdoc"
->Fourth argument
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="">()</A
-></TD
-><TD CLASS="rdoc"
->Result
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:g"
-><A NAME="v%3Ag"
-></A
-></A
-><B
->g</B
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
->:: a</TD
-><TD CLASS="rdoc"
->First argument
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; b</TD
-><TD CLASS="rdoc"
->Second argument
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; c</TD
-><TD CLASS="rdoc"
->Third argument
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; d</TD
-><TD CLASS="rdoc"
->Result
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>FunArgs</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_FunArgs.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">FunArgs</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:f" class="def">f</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <span class="keyword">forall</span> a . <A HREF="">Ord</a> a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; <A HREF="">Int</a></td><td class="doc"><p>First argument
+</p></td></tr><tr><td class="src">-&gt; a</td><td class="doc"><p>Second argument
+</p></td></tr><tr><td class="src">-&gt; <A HREF="">Bool</a></td><td class="doc"><p>Third argument
+</p></td></tr><tr><td class="src">-&gt; (a -&gt; a)</td><td class="doc"><p>Fourth argument
+</p></td></tr><tr><td class="src">-&gt; <A HREF="">()</a></td><td class="doc"><p>Result
+</p></td></tr></table></div></div><div class="top"><p class="src"><a name="v:g" class="def">g</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: a</td><td class="doc"><p>First argument
+</p></td></tr><tr><td class="src">-&gt; b</td><td class="doc"><p>Second argument
+</p></td></tr><tr><td class="src">-&gt; c</td><td class="doc"><p>Third argument
+</p></td></tr><tr><td class="src">-&gt; d</td><td class="doc"><p>Result
+</p></td></tr></table></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/GADTRecords.html.ref b/tests/golden-tests/tests/GADTRecords.html.ref
index 3875b1c6..ae0f7f24 100644
--- a/tests/golden-tests/tests/GADTRecords.html.ref
+++ b/tests/golden-tests/tests/GADTRecords.html.ref
@@ -1,288 +1,7 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->GADTRecords</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_GADTRecords.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->GADTRecords</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">H1</A
-> a b <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="">C1</A
-> :: <A HREF="">H1</A
-> a b</TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">C2</A
-> :: <A HREF="">Ord</A
-> a =&gt; [a] -&gt; <A HREF="">H1</A
-> a a</TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">C3</A
-> :: {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="">field</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-></TABLE
->} -&gt; <A HREF="">H1</A
-> <A HREF="">Int</A
-> <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">C4</A
-> :: {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="">field2</A
-> :: a</TD
-></TR
-></TABLE
->} -&gt; <A HREF="">H1</A
-> <A HREF="">Int</A
-> a</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:H1"
-><A NAME="t%3AH1"
-></A
-></A
-><B
->H1</B
-> a b <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->h1
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:C1"
-><A NAME="v%3AC1"
-></A
-></A
-><B
->C1</B
-> :: <A HREF="">H1</A
-> a b</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:C2"
-><A NAME="v%3AC2"
-></A
-></A
-><B
->C2</B
-> :: <A HREF="">Ord</A
-> a =&gt; [a] -&gt; <A HREF="">H1</A
-> a a</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:C3"
-><A NAME="v%3AC3"
-></A
-></A
-><B
->C3</B
-> :: <A HREF="">Int</A
-> -&gt; <A HREF="">H1</A
-> <A HREF="">Int</A
-> <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:field"
-><A NAME="v%3Afield"
-></A
-></A
-><B
->field</B
-> :: <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
->hello docs
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:C4"
-><A NAME="v%3AC4"
-></A
-></A
-><B
->C4</B
-> :: a -&gt; <A HREF="">H1</A
-> <A HREF="">Int</A
-> a</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:field2"
-><A NAME="v%3Afield2"
-></A
-></A
-><B
->field2</B
-> :: a</TD
-><TD CLASS="rdoc"
->hello2 docs
-</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>GADTRecords</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_GADTRecords.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">GADTRecords</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <A HREF="">H1</a> a b <span class="keyword">where</span><ul class="subs"><li><A HREF="">C1</a> :: <A HREF="">H1</a> a b </li><li><A HREF="">C2</a> :: <A HREF="">Ord</a> a =&gt; [a] -&gt; <A HREF="">H1</a> a a </li><li><A HREF="">C3</a> :: { <ul class="subs"><li><A HREF="">field</a> :: <A HREF="">Int</a></li></ul> } -&gt; <A HREF="">H1</a> <A HREF="">Int</a> <A HREF="">Int</a></li><li><A HREF="">C4</a> :: { <ul class="subs"><li><A HREF="">field2</a> :: a</li></ul> } -&gt; <A HREF="">H1</a> <A HREF="">Int</a> a</li></ul></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:H1" class="def">H1</a> a b <span class="keyword">where</span></p><div class="doc"><p>h1
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:C1" class="def">C1</a> :: <A HREF="">H1</a> a b</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:C2" class="def">C2</a> :: <A HREF="">Ord</a> a =&gt; [a] -&gt; <A HREF="">H1</a> a a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:C3" class="def">C3</a> :: <A HREF="">Int</a> -&gt; <A HREF="">H1</a> <A HREF="">Int</a> <A HREF="">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:field" class="def">field</a> :: <A HREF="">Int</a></dt><dd class="doc"><p>hello docs
+</p></dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:C4" class="def">C4</a> :: a -&gt; <A HREF="">H1</a> <A HREF="">Int</a> a</td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:field2" class="def">field2</a> :: a</dt><dd class="doc"><p>hello2 docs
+</p></dd></dl><div class="clear"></div></div></td></tr></table></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Hash.html.ref b/tests/golden-tests/tests/Hash.html.ref
index 3362368a..1b9dd550 100644
--- a/tests/golden-tests/tests/Hash.html.ref
+++ b/tests/golden-tests/tests/Hash.html.ref
@@ -1,476 +1,20 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Hash</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Hash.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Hash</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
-><B
->Contents</B
-></TD
-></TR
-><TR
-><TD
-><DL
-><DT
-><A HREF="">The <TT
->HashTable</TT
-> type
-</A
-></DT
-><DD
-><DL
-><DT
-><A HREF="">Operations on <TT
->HashTable</TT
->s
-</A
-></DT
-></DL
-></DD
-><DT
-><A HREF="">The <TT
->Hash</TT
-> class
-</A
-></DT
-></DL
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->Implementation of fixed-size hash tables, with a type
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Hash</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Hash.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Hash</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><A HREF="">The <code>HashTable</code> type
+</a><ul><li><A HREF="">Operations on <code>HashTable</code>s
+</a></li></ul></li><li><A HREF="">The <code>Hash</code> class
+</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Implementation of fixed-size hash tables, with a type
class for constructing hash values for structured types.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">HashTable</A
-> key val</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">new</A
-> :: (<A HREF="">Eq</A
-> key, <A HREF="">Hash</A
-> key) =&gt; <A HREF="">Int</A
-> -&gt; <A HREF="">IO</A
-> (<A HREF="">HashTable</A
-> key val)</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">insert</A
-> :: (<A HREF="">Eq</A
-> key, <A HREF="">Hash</A
-> key) =&gt; key -&gt; val -&gt; <A HREF="">IO</A
-> <A HREF="">()</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">lookup</A
-> :: <A HREF="">Hash</A
-> key =&gt; key -&gt; <A HREF="">IO</A
-> (<A HREF="">Maybe</A
-> val)</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A HREF="">Hash</A
-> a <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="">hash</A
-> :: a -&gt; <A HREF="">Int</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
-><A NAME="1"
-><A NAME="1"
->The <TT
->HashTable</TT
-> type
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:HashTable"
-><A NAME="t%3AHashTable"
-></A
-></A
-><B
->HashTable</B
-> key val </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->A hash table with keys of type <TT
->key</TT
-> and values of type <TT
->val</TT
->.
- The type <TT
->key</TT
-> should be an instance of <TT
-><A HREF="">Eq</A
-></TT
->.
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section2"
-><A NAME="2"
-><A NAME="2"
->Operations on <TT
->HashTable</TT
->s
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:new"
-><A NAME="v%3Anew"
-></A
-></A
-><B
->new</B
-> :: (<A HREF="">Eq</A
-> key, <A HREF="">Hash</A
-> key) =&gt; <A HREF="">Int</A
-> -&gt; <A HREF="">IO</A
-> (<A HREF="">HashTable</A
-> key val)</TD
-></TR
-><TR
-><TD CLASS="doc"
->Builds a new hash table with a given size
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:insert"
-><A NAME="v%3Ainsert"
-></A
-></A
-><B
->insert</B
-> :: (<A HREF="">Eq</A
-> key, <A HREF="">Hash</A
-> key) =&gt; key -&gt; val -&gt; <A HREF="">IO</A
-> <A HREF="">()</A
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Inserts a new element into the hash table
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:lookup"
-><A NAME="v%3Alookup"
-></A
-></A
-><B
->lookup</B
-> :: <A HREF="">Hash</A
-> key =&gt; key -&gt; <A HREF="">IO</A
-> (<A HREF="">Maybe</A
-> val)</TD
-></TR
-><TR
-><TD CLASS="doc"
->Looks up a key in the hash table, returns <TT
-><TT
-><A HREF="">Just</A
-></TT
-> val</TT
-> if the key
- was found, or <TT
-><A HREF="">Nothing</A
-></TT
-> otherwise.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
-><A NAME="3"
-><A NAME="3"
->The <TT
->Hash</TT
-> class
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A NAME="t:Hash"
-><A NAME="t%3AHash"
-></A
-></A
-><B
->Hash</B
-> a <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->A class of types which can be hashed.
-</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="section4"
->Methods</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A NAME="v:hash"
-><A NAME="v%3Ahash"
-></A
-></A
-><B
->hash</B
-> :: a -&gt; <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->hashes the value of type <TT
->a</TT
-> into an <TT
-><A HREF="">Int</A
-></TT
->
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Hash')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:Hash" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A HREF="">Hash</A
-> <A HREF="">Float</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A HREF="">Hash</A
-> <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
->(<A HREF="">Hash</A
-> a, <A HREF="">Hash</A
-> b) =&gt; <A HREF="">Hash</A
-> (a, b)</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></DIV
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <A HREF="">HashTable</a> key val</li><li class="src short"><A HREF="">new</a> :: (<A HREF="">Eq</a> key, <A HREF="">Hash</a> key) =&gt; <A HREF="">Int</a> -&gt; <A HREF="">IO</a> (<A HREF="">HashTable</a> key val)</li><li class="src short"><A HREF="">insert</a> :: (<A HREF="">Eq</a> key, <A HREF="">Hash</a> key) =&gt; key -&gt; val -&gt; <A HREF="">IO</a> <A HREF="">()</a></li><li class="src short"><A HREF="">lookup</a> :: <A HREF="">Hash</a> key =&gt; key -&gt; <A HREF="">IO</a> (<A HREF="">Maybe</a> val)</li><li class="src short"><span class="keyword">class</span> <A HREF="">Hash</a> a <span class="keyword">where</span><ul class="subs"><li><A HREF="">hash</a> :: a -&gt; <A HREF="">Int</a></li></ul></li></ul></div><div id="interface"><h1 id="1">The <code>HashTable</code> type
+</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:HashTable" class="def">HashTable</a> key val </p><div class="doc"><p>A hash table with keys of type <code>key</code> and values of type <code>val</code>.
+ The type <code>key</code> should be an instance of <code><A HREF="">Eq</a></code>.
+</p></div></div><h2 id="2">Operations on <code>HashTable</code>s
+</h2><div class="top"><p class="src"><a name="v:new" class="def">new</a> :: (<A HREF="">Eq</a> key, <A HREF="">Hash</a> key) =&gt; <A HREF="">Int</a> -&gt; <A HREF="">IO</a> (<A HREF="">HashTable</a> key val)</p><div class="doc"><p>Builds a new hash table with a given size
+</p></div></div><div class="top"><p class="src"><a name="v:insert" class="def">insert</a> :: (<A HREF="">Eq</a> key, <A HREF="">Hash</a> key) =&gt; key -&gt; val -&gt; <A HREF="">IO</a> <A HREF="">()</a></p><div class="doc"><p>Inserts a new element into the hash table
+</p></div></div><div class="top"><p class="src"><a name="v:lookup" class="def">lookup</a> :: <A HREF="">Hash</a> key =&gt; key -&gt; <A HREF="">IO</a> (<A HREF="">Maybe</a> val)</p><div class="doc"><p>Looks up a key in the hash table, returns <code><code><A HREF="">Just</a></code> val</code> if the key
+ was found, or <code><A HREF="">Nothing</a></code> otherwise.
+</p></div></div><h1 id="3">The <code>Hash</code> class
+</h1><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:Hash" class="def">Hash</a> a <span class="keyword">where</span></p><div class="doc"><p>A class of types which can be hashed.
+</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:hash" class="def">hash</a> :: a -&gt; <A HREF="">Int</a></p><div class="doc"><p>hashes the value of type <code>a</code> into an <code><A HREF="">Int</a></code>
+</p></div></div><div class="subs instances"><p id="control.i:Hash" class="caption collapser" onclick="toggleSection('i:Hash')">Instances</p><div id="section.i:Hash" class="show"><table><tr><td class="src"><A HREF="">Hash</a> <A HREF="">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><A HREF="">Hash</a> <A HREF="">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<A HREF="">Hash</a> a, <A HREF="">Hash</a> b) =&gt; <A HREF="">Hash</a> (a, b)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/NamedDoc.html.ref b/tests/golden-tests/tests/NamedDoc.html.ref
index 3b1b7f1e..d649e67f 100644
--- a/tests/golden-tests/tests/NamedDoc.html.ref
+++ b/tests/golden-tests/tests/NamedDoc.html.ref
@@ -1,98 +1,5 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->NamedDoc</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_NamedDoc.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->NamedDoc</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->bar
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>NamedDoc</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_NamedDoc.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">NamedDoc</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"></ul></div><div id="interface"><h1>Documentation</h1><div class="doc"><p>bar
+</p></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/NoLayout.hs b/tests/golden-tests/tests/NoLayout.hs
index ac8e58bb..19b38b1d 100644
--- a/tests/golden-tests/tests/NoLayout.hs
+++ b/tests/golden-tests/tests/NoLayout.hs
@@ -4,7 +4,7 @@
-- This should probably be changed.
module NoLayout where {
- -- | the class 'C'
+ -- | the function 'g'
;
g :: Int;
g = undefined
diff --git a/tests/golden-tests/tests/NoLayout.html.ref b/tests/golden-tests/tests/NoLayout.html.ref
index 03128b86..e36b1c47 100644
--- a/tests/golden-tests/tests/NoLayout.html.ref
+++ b/tests/golden-tests/tests/NoLayout.html.ref
@@ -1,117 +1,5 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->NoLayout</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_NoLayout.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->NoLayout</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="">g</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:g"
-><A NAME="v%3Ag"
-></A
-></A
-><B
->g</B
-> :: <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->the class <TT
->C</TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>NoLayout</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_NoLayout.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">NoLayout</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><A HREF="">g</a> :: <A HREF="">Int</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:g" class="def">g</a> :: <A HREF="">Int</a></p><div class="doc"><p>the function <code><A HREF="">g</a></code>
+</p></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/NonGreedy.html.ref b/tests/golden-tests/tests/NonGreedy.html.ref
index 670fc34a..6910de26 100644
--- a/tests/golden-tests/tests/NonGreedy.html.ref
+++ b/tests/golden-tests/tests/NonGreedy.html.ref
@@ -1,115 +1,5 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->NonGreedy</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_NonGreedy.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->NonGreedy</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="">f</A
-> :: a</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:f"
-><A NAME="v%3Af"
-></A
-></A
-><B
->f</B
-> :: a</TD
-></TR
-><TR
-><TD CLASS="doc"
-><A HREF="">url1</A
-> <A HREF="">url2</A
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>NonGreedy</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_NonGreedy.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">NonGreedy</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><A HREF="">f</a> :: a</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:f" class="def">f</a> :: a</p><div class="doc"><p><A HREF="">url1</a> <A HREF="">url2</a>
+</p></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/QuasiExpr.html.ref b/tests/golden-tests/tests/QuasiExpr.html.ref
index 2cb316b1..a7faca6b 100644
--- a/tests/golden-tests/tests/QuasiExpr.html.ref
+++ b/tests/golden-tests/tests/QuasiExpr.html.ref
@@ -1,346 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->QuasiExpr</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_QuasiExpr.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->QuasiExpr</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:Expr"
-><A NAME="t%3AExpr"
-></A
-></A
-><B
->Expr</B
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:IntExpr"
-><A NAME="v%3AIntExpr"
-></A
-></A
-><B
->IntExpr</B
-> <A HREF="">Integer</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:AntiIntExpr"
-><A NAME="v%3AAntiIntExpr"
-></A
-></A
-><B
->AntiIntExpr</B
-> <A HREF="">String</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:BinopExpr"
-><A NAME="v%3ABinopExpr"
-></A
-></A
-><B
->BinopExpr</B
-> <A HREF="">BinOp</A
-> <A HREF="">Expr</A
-> <A HREF="">Expr</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:AntiExpr"
-><A NAME="v%3AAntiExpr"
-></A
-></A
-><B
->AntiExpr</B
-> <A HREF="">String</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Expr')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:Expr" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A HREF="">Data</A
-> <A HREF="">Expr</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A HREF="">Show</A
-> <A HREF="">Expr</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A HREF="">Typeable</A
-> <A HREF="">Expr</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></DIV
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:BinOp"
-><A NAME="t%3ABinOp"
-></A
-></A
-><B
->BinOp</B
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:AddOp"
-><A NAME="v%3AAddOp"
-></A
-></A
-><B
->AddOp</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:SubOp"
-><A NAME="v%3ASubOp"
-></A
-></A
-><B
->SubOp</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:MulOp"
-><A NAME="v%3AMulOp"
-></A
-></A
-><B
->MulOp</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:DivOp"
-><A NAME="v%3ADivOp"
-></A
-></A
-><B
->DivOp</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:BinOp')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:BinOp" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A HREF="">Data</A
-> <A HREF="">BinOp</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A HREF="">Show</A
-> <A HREF="">BinOp</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A HREF="">Typeable</A
-> <A HREF="">BinOp</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></DIV
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:eval"
-><A NAME="v%3Aeval"
-></A
-></A
-><B
->eval</B
-> :: <A HREF="">Expr</A
-> -&gt; <A HREF="">Integer</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:parseExprExp"
-><A NAME="v%3AparseExprExp"
-></A
-></A
-><B
->parseExprExp</B
-> :: <A HREF="">String</A
-> -&gt; Q Exp</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>QuasiExpr</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_QuasiExpr.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">QuasiExpr</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Expr" class="def">Expr</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:IntExpr" class="def">IntExpr</a> <A HREF="">Integer</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AntiIntExpr" class="def">AntiIntExpr</a> <A HREF="">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:BinopExpr" class="def">BinopExpr</a> <A HREF="">BinOp</a> <A HREF="">Expr</a> <A HREF="">Expr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AntiExpr" class="def">AntiExpr</a> <A HREF="">String</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Expr" class="caption collapser" onclick="toggleSection('i:Expr')">Instances</p><div id="section.i:Expr" class="show"><table><tr><td class="src"><A HREF="">Data</a> <A HREF="">Expr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><A HREF="">Show</a> <A HREF="">Expr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><A HREF="">Typeable</a> <A HREF="">Expr</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:BinOp" class="def">BinOp</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:AddOp" class="def">AddOp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:SubOp" class="def">SubOp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:MulOp" class="def">MulOp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DivOp" class="def">DivOp</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:BinOp" class="caption collapser" onclick="toggleSection('i:BinOp')">Instances</p><div id="section.i:BinOp" class="show"><table><tr><td class="src"><A HREF="">Data</a> <A HREF="">BinOp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><A HREF="">Show</a> <A HREF="">BinOp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><A HREF="">Typeable</a> <A HREF="">BinOp</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:eval" class="def">eval</a> :: <A HREF="">Expr</a> -&gt; <A HREF="">Integer</a></p></div><div class="top"><p class="src"><a name="v:parseExprExp" class="def">parseExprExp</a> :: <A HREF="">String</a> -&gt; Q Exp</p></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/QuasiQuote.html.ref b/tests/golden-tests/tests/QuasiQuote.html.ref
index 4de6086b..1747c539 100644
--- a/tests/golden-tests/tests/QuasiQuote.html.ref
+++ b/tests/golden-tests/tests/QuasiQuote.html.ref
@@ -1,90 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->QuasiQuote</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_QuasiQuote.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->QuasiQuote</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:val"
-><A NAME="v%3Aval"
-></A
-></A
-><B
->val</B
-> :: <A HREF="">Integer</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>QuasiQuote</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_QuasiQuote.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">QuasiQuote</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:val" class="def">val</a> :: <A HREF="">Integer</a></p></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/TH.html.ref b/tests/golden-tests/tests/TH.html.ref
index 4d2e0b09..3b636405 100644
--- a/tests/golden-tests/tests/TH.html.ref
+++ b/tests/golden-tests/tests/TH.html.ref
@@ -1,89 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->TH</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_TH.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->TH</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:decl"
-><A NAME="v%3Adecl"
-></A
-></A
-><B
->decl</B
-> :: Q [Dec]</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>TH</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_TH.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">TH</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:decl" class="def">decl</a> :: Q [Dec]</p></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/TH2.html.ref b/tests/golden-tests/tests/TH2.html.ref
index f7aaf18f..63b4a7ba 100644
--- a/tests/golden-tests/tests/TH2.html.ref
+++ b/tests/golden-tests/tests/TH2.html.ref
@@ -1,71 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->TH2</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_TH2.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->TH2</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>TH2</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_TH2.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">TH2</p></div><div id="interface"></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Test.html.ref b/tests/golden-tests/tests/Test.html.ref
index 3c839612..bbf501b8 100644
--- a/tests/golden-tests/tests/Test.html.ref
+++ b/tests/golden-tests/tests/Test.html.ref
@@ -1,3110 +1,148 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Test</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Test.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Test</FONT
-></TD
-><TD ALIGN="right"
-><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="infohead"
->Portability</TD
-><TD CLASS="infoval"
->portable</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Stability</TD
-><TD CLASS="infoval"
->provisional</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Maintainer</TD
-><TD CLASS="infoval"
->libraries@haskell.org</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
-><B
->Contents</B
-></TD
-></TR
-><TR
-><TD
-><DL
-><DT
-><A HREF="">Type declarations
-</A
-></DT
-><DD
-><DL
-><DT
-><A HREF="">Data types
-</A
-></DT
-><DT
-><A HREF="">Records
-</A
-></DT
-></DL
-></DD
-><DT
-><A HREF="">Class declarations
-</A
-></DT
-><DT
-><A HREF="">Function types
-</A
-></DT
-><DT
-><A HREF="">Auxiliary stuff
-</A
-></DT
-><DT
-><A HREF="">A hidden module
-</A
-></DT
-><DT
-><A HREF="">A visible module
-</A
-></DT
-><DT
-><A HREF="">Existential / Universal types
-</A
-></DT
-><DT
-><A HREF="">Type signatures with argument docs
-</A
-></DT
-><DT
-><A HREF="">A section
-</A
-></DT
-><DD
-><DL
-><DT
-><A HREF="">A subsection
-</A
-></DT
-></DL
-></DD
-></DL
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->This module illustrates &amp; tests most of the features of Haddock.
- Testing references from the description: <TT
-><A HREF="">T</A
-></TT
->, <TT
-><A HREF="">f</A
-></TT
->, <TT
-><A HREF="">g</A
-></TT
->, <TT
-><A HREF="">visible</A
-></TT
->.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">T</A
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->= <A HREF="">A</A
-> <A HREF="">Int</A
-> (<A HREF="">Maybe</A
-> <A HREF="">Float</A
->)</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="">B</A
-> (<A HREF="">T</A
-> a b, <A HREF="">T</A
-> <A HREF="">Int</A
-> <A HREF="">Float</A
->)</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">T2</A
-> a b</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">T3</A
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->= <A HREF="">A1</A
-> a</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="">B1</A
-> b</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">T4</A
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->= <A HREF="">A2</A
-> a</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="">B2</A
-> b</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">T5</A
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->= <A HREF="">A3</A
-> a</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="">B3</A
-> b</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">T6</A
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->= <A HREF="">A4</A
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="">B4</A
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="">C4</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A HREF="">N1</A
-> a = <A HREF="">N1</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A HREF="">N2</A
-> a b = <A HREF="">N2</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="">n</A
-> :: a b</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A HREF="">N3</A
-> a b = <A HREF="">N3</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="">n3</A
-> :: a b</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">N4</A
-> a b</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A HREF="">N5</A
-> a b = <A HREF="">N5</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="">n5</A
-> :: a b</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A HREF="">N6</A
-> a b = <A HREF="">N6</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="">n6</A
-> :: a b</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A HREF="">N7</A
-> a b = <A HREF="">N7</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="">n7</A
-> :: a b</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">R</A
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->= <A HREF="">C1</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="">p</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="">q</A
-> :: <SPAN CLASS="keyword"
->forall</SPAN
-> a. a -&gt; a</TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="">r</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="">s</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="">C2</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="">t</A
-> :: T1 -&gt; <A HREF="">T2</A
-> <A HREF="">Int</A
-> <A HREF="">Int</A
-> -&gt; <A HREF="">T3</A
-> <A HREF="">Bool</A
-> <A HREF="">Bool</A
-> -&gt; <A HREF="">T4</A
-> <A HREF="">Float</A
-> <A HREF="">Float</A
-> -&gt; <A HREF="">T5</A
-> <A HREF="">()</A
-> <A HREF="">()</A
-></TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="">u</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="">v</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-></TABLE
->}</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">R1</A
-> = <A HREF="">C3</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="">s1</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="">s2</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="">s3</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A HREF="">D</A
-> a =&gt; <A HREF="">C</A
-> a <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="">a</A
-> :: <A HREF="">IO</A
-> a</TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">b</A
-> :: [a]</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A HREF="">D</A
-> a <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="">d</A
-> :: <A HREF="">T</A
-> a b</TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">e</A
-> :: (a, a)</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A HREF="">E</A
-> a </TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A HREF="">F</A
-> a <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="">ff</A
-> :: a</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">f</A
-> :: <A HREF="">C</A
-> a =&gt; a -&gt; <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">g</A
-> :: <A HREF="">Int</A
-> -&gt; <A HREF="">IO</A
-> CInt</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">hidden</A
-> :: <A HREF="">Int</A
-> -&gt; <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="">Visible</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">Ex</A
-> a </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->= <SPAN CLASS="keyword"
->forall</SPAN
-> b . <A HREF="">C</A
-> b =&gt; <A HREF="">Ex1</A
-> b</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <SPAN CLASS="keyword"
->forall</SPAN
-> b . <A HREF="">Ex2</A
-> b</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <SPAN CLASS="keyword"
->forall</SPAN
-> b . <A HREF="">C</A
-> a =&gt; <A HREF="">Ex3</A
-> b</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="">Ex4</A
-> (<SPAN CLASS="keyword"
->forall</SPAN
-> a. a -&gt; a)</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">k</A
-> :: <A HREF="">T</A
-> <A HREF="">()</A
-> <A HREF="">()</A
-> -&gt; <A HREF="">T2</A
-> <A HREF="">Int</A
-> <A HREF="">Int</A
-> -&gt; (<A HREF="">T3</A
-> <A HREF="">Bool</A
-> <A HREF="">Bool</A
-> -&gt; <A HREF="">T4</A
-> <A HREF="">Float</A
-> <A HREF="">Float</A
->) -&gt; <A HREF="">T5</A
-> <A HREF="">()</A
-> <A HREF="">()</A
-> -&gt; <A HREF="">IO</A
-> <A HREF="">()</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">l</A
-> :: (<A HREF="">Int</A
->, <A HREF="">Int</A
->, <A HREF="">Float</A
->) -&gt; <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">m</A
-> :: <A HREF="">R</A
-> -&gt; <A HREF="">N1</A
-> <A HREF="">()</A
-> -&gt; <A HREF="">IO</A
-> <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">o</A
-> :: <A HREF="">Float</A
-> -&gt; <A HREF="">IO</A
-> <A HREF="">Float</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">f'</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
-><A NAME="1"
-><A NAME="1"
->Type declarations
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section2"
-><A NAME="2"
-><A NAME="2"
->Data types
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:T"
-><A NAME="t%3AT"
-></A
-></A
-><B
->T</B
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->This comment applies to the <EM
->following</EM
-> declaration
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Test</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Test.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><dl class="info"><dt>Portability</dt><dd>portable</dd><dt>Stability</dt><dd>provisional</dd><dt>Maintainer</dt><dd>libraries@haskell.org</dd></dl><p class="caption">Test</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><A HREF="">Type declarations
+</a><ul><li><A HREF="">Data types
+</a></li><li><A HREF="">Records
+</a></li></ul></li><li><A HREF="">Class declarations
+</a></li><li><A HREF="">Function types
+</a></li><li><A HREF="">Auxiliary stuff
+</a></li><li><A HREF="">A hidden module
+</a></li><li><A HREF="">A visible module
+</a></li><li><A HREF="">Existential / Universal types
+</a></li><li><A HREF="">Type signatures with argument docs
+</a></li><li><A HREF="">A section
+</a><ul><li><A HREF="">A subsection
+</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module illustrates &amp; tests most of the features of Haddock.
+ Testing references from the description: <code><A HREF="">T</a></code>, <code><A HREF="">f</a></code>, <code><A HREF="">g</a></code>, <code><A HREF="">visible</a></code>.
+</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <A HREF="">T</a> a b<ul class="subs"><li>= <A HREF="">A</a> <A HREF="">Int</a> (<A HREF="">Maybe</a> <A HREF="">Float</a>) </li><li>| <A HREF="">B</a> (<A HREF="">T</a> a b, <A HREF="">T</a> <A HREF="">Int</a> <A HREF="">Float</a>) </li></ul></li><li class="src short"><span class="keyword">data</span> <A HREF="">T2</a> a b</li><li class="src short"><span class="keyword">data</span> <A HREF="">T3</a> a b<ul class="subs"><li>= <A HREF="">A1</a> a </li><li>| <A HREF="">B1</a> b </li></ul></li><li class="src short"><span class="keyword">data</span> <A HREF="">T4</a> a b<ul class="subs"><li>= <A HREF="">A2</a> a </li><li>| <A HREF="">B2</a> b </li></ul></li><li class="src short"><span class="keyword">data</span> <A HREF="">T5</a> a b<ul class="subs"><li>= <A HREF="">A3</a> a </li><li>| <A HREF="">B3</a> b </li></ul></li><li class="src short"><span class="keyword">data</span> <A HREF="">T6</a> <ul class="subs"><li>= <A HREF="">A4</a> </li><li>| <A HREF="">B4</a> </li><li>| <A HREF="">C4</a> </li></ul></li><li class="src short"><span class="keyword">newtype</span> <A HREF="">N1</a> a = <A HREF="">N1</a> a</li><li class="src short"><span class="keyword">newtype</span> <A HREF="">N2</a> a b = <A HREF="">N2</a> {<ul class="subs"><li><A HREF="">n</a> :: a b</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <A HREF="">N3</a> a b = <A HREF="">N3</a> {<ul class="subs"><li><A HREF="">n3</a> :: a b</li></ul>}</li><li class="src short"><span class="keyword">data</span> <A HREF="">N4</a> a b</li><li class="src short"><span class="keyword">newtype</span> <A HREF="">N5</a> a b = <A HREF="">N5</a> {<ul class="subs"><li><A HREF="">n5</a> :: a b</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <A HREF="">N6</a> a b = <A HREF="">N6</a> {<ul class="subs"><li><A HREF="">n6</a> :: a b</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <A HREF="">N7</a> a b = <A HREF="">N7</a> {<ul class="subs"><li><A HREF="">n7</a> :: a b</li></ul>}</li><li class="src short"><span class="keyword">data</span> <A HREF="">R</a> <ul class="subs"><li>= <A HREF="">C1</a> { <ul class="subs"><li><A HREF="">p</a> :: <A HREF="">Int</a></li><li><A HREF="">q</a> :: <span class="keyword">forall</span> a. a -&gt; a</li><li><A HREF="">r</a> :: <A HREF="">Int</a></li><li><A HREF="">s</a> :: <A HREF="">Int</a></li></ul> }</li><li>| <A HREF="">C2</a> { <ul class="subs"><li><A HREF="">t</a> :: T1 -&gt; <A HREF="">T2</a> <A HREF="">Int</a> <A HREF="">Int</a> -&gt; <A HREF="">T3</a> <A HREF="">Bool</a> <A HREF="">Bool</a> -&gt; <A HREF="">T4</a> <A HREF="">Float</a> <A HREF="">Float</a> -&gt; <A HREF="">T5</a> <A HREF="">()</a> <A HREF="">()</a></li><li><A HREF="">u</a> :: <A HREF="">Int</a></li><li><A HREF="">v</a> :: <A HREF="">Int</a></li></ul> }</li></ul></li><li class="src short"><span class="keyword">data</span> <A HREF="">R1</a> = <A HREF="">C3</a> {<ul class="subs"><li><A HREF="">s1</a> :: <A HREF="">Int</a></li><li><A HREF="">s2</a> :: <A HREF="">Int</a></li><li><A HREF="">s3</a> :: <A HREF="">Int</a></li></ul>}</li><li class="src short"><span class="keyword">class</span> <A HREF="">D</a> a =&gt; <A HREF="">C</a> a <span class="keyword">where</span><ul class="subs"><li><A HREF="">a</a> :: <A HREF="">IO</a> a</li><li><A HREF="">b</a> :: [a]</li></ul></li><li class="src short"><span class="keyword">class</span> <A HREF="">D</a> a <span class="keyword">where</span><ul class="subs"><li><A HREF="">d</a> :: <A HREF="">T</a> a b</li><li><A HREF="">e</a> :: (a, a)</li></ul></li><li class="src short"><span class="keyword">class</span> <A HREF="">E</a> a </li><li class="src short"><span class="keyword">class</span> <A HREF="">F</a> a <span class="keyword">where</span><ul class="subs"><li><A HREF="">ff</a> :: a</li></ul></li><li class="src short"><A HREF="">f</a> :: <A HREF="">C</a> a =&gt; a -&gt; <A HREF="">Int</a></li><li class="src short"><A HREF="">g</a> :: <A HREF="">Int</a> -&gt; <A HREF="">IO</a> CInt</li><li class="src short"><A HREF="">hidden</a> :: <A HREF="">Int</a> -&gt; <A HREF="">Int</a></li><li class="src short">module <A HREF="">Visible</a></li><li class="src short"><span class="keyword">data</span> <A HREF="">Ex</a> a<ul class="subs"><li>= <span class="keyword">forall</span> b . <A HREF="">C</a> b =&gt; <A HREF="">Ex1</a> b </li><li>| <span class="keyword">forall</span> b . <A HREF="">Ex2</a> b </li><li>| <span class="keyword">forall</span> b . <A HREF="">C</a> a =&gt; <A HREF="">Ex3</a> b </li><li>| <A HREF="">Ex4</a> (<span class="keyword">forall</span> a. a -&gt; a) </li></ul></li><li class="src short"><A HREF="">k</a> :: <A HREF="">T</a> <A HREF="">()</a> <A HREF="">()</a> -&gt; <A HREF="">T2</a> <A HREF="">Int</a> <A HREF="">Int</a> -&gt; (<A HREF="">T3</a> <A HREF="">Bool</a> <A HREF="">Bool</a> -&gt; <A HREF="">T4</a> <A HREF="">Float</a> <A HREF="">Float</a>) -&gt; <A HREF="">T5</a> <A HREF="">()</a> <A HREF="">()</a> -&gt; <A HREF="">IO</a> <A HREF="">()</a></li><li class="src short"><A HREF="">l</a> :: (<A HREF="">Int</a>, <A HREF="">Int</a>, <A HREF="">Float</a>) -&gt; <A HREF="">Int</a></li><li class="src short"><A HREF="">m</a> :: <A HREF="">R</a> -&gt; <A HREF="">N1</a> <A HREF="">()</a> -&gt; <A HREF="">IO</a> <A HREF="">Int</a></li><li class="src short"><A HREF="">o</a> :: <A HREF="">Float</a> -&gt; <A HREF="">IO</a> <A HREF="">Float</a></li><li class="src short"><A HREF="">f'</a> :: <A HREF="">Int</a></li></ul></div><div id="interface"><h1 id="1">Type declarations
+</h1><h2 id="2">Data types
+</h2><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:T" class="def">T</a> a b </p><div class="doc"><p>This comment applies to the <em>following</em> declaration
and it continues until the next non-comment line
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:A"
-><A NAME="v%3AA"
-></A
-></A
-><B
->A</B
-> <A HREF="">Int</A
-> (<A HREF="">Maybe</A
-> <A HREF="">Float</A
->)</TD
-><TD CLASS="rdoc"
->This comment describes the <TT
-><A HREF="">A</A
-></TT
-> constructor
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:B"
-><A NAME="v%3AB"
-></A
-></A
-><B
->B</B
-> (<A HREF="">T</A
-> a b, <A HREF="">T</A
-> <A HREF="">Int</A
-> <A HREF="">Float</A
->)</TD
-><TD CLASS="rdoc"
->This comment describes the <TT
-><A HREF="">B</A
-></TT
-> constructor
-</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:T2"
-><A NAME="t%3AT2"
-></A
-></A
-><B
->T2</B
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->An abstract data declaration
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:T3"
-><A NAME="t%3AT3"
-></A
-></A
-><B
->T3</B
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->A data declaration with no documentation annotations on the constructors
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:A1"
-><A NAME="v%3AA1"
-></A
-></A
-><B
->A1</B
-> a</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:B1"
-><A NAME="v%3AB1"
-></A
-></A
-><B
->B1</B
-> b</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:T4"
-><A NAME="t%3AT4"
-></A
-></A
-><B
->T4</B
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:A2"
-><A NAME="v%3AA2"
-></A
-></A
-><B
->A2</B
-> a</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:B2"
-><A NAME="v%3AB2"
-></A
-></A
-><B
->B2</B
-> b</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:T5"
-><A NAME="t%3AT5"
-></A
-></A
-><B
->T5</B
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:A3"
-><A NAME="v%3AA3"
-></A
-></A
-><B
->A3</B
-> a</TD
-><TD CLASS="rdoc"
->documents <TT
-><A HREF="">A3</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:B3"
-><A NAME="v%3AB3"
-></A
-></A
-><B
->B3</B
-> b</TD
-><TD CLASS="rdoc"
->documents <TT
-><A HREF="">B3</A
-></TT
->
-</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:T6"
-><A NAME="t%3AT6"
-></A
-></A
-><B
->T6</B
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Testing alternative comment styles
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:A4"
-><A NAME="v%3AA4"
-></A
-></A
-><B
->A4</B
-></TD
-><TD CLASS="rdoc"
->This is the doc for <TT
-><A HREF="">A4</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:B4"
-><A NAME="v%3AB4"
-></A
-></A
-><B
->B4</B
-></TD
-><TD CLASS="rdoc"
->This is the doc for <TT
-><A HREF="">B4</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:C4"
-><A NAME="v%3AC4"
-></A
-></A
-><B
->C4</B
-></TD
-><TD CLASS="rdoc"
->This is the doc for <TT
-><A HREF="">C4</A
-></TT
->
-</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A NAME="t:N1"
-><A NAME="t%3AN1"
-></A
-></A
-><B
->N1</B
-> a </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->A newtype
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:N1"
-><A NAME="v%3AN1"
-></A
-></A
-><B
->N1</B
-> a</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A NAME="t:N2"
-><A NAME="t%3AN2"
-></A
-></A
-><B
->N2</B
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->A newtype with a fieldname
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:N2"
-><A NAME="v%3AN2"
-></A
-></A
-><B
->N2</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:n"
-><A NAME="v%3An"
-></A
-></A
-><B
->n</B
-> :: a b</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A NAME="t:N3"
-><A NAME="t%3AN3"
-></A
-></A
-><B
->N3</B
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->A newtype with a fieldname, documentation on the field
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:N3"
-><A NAME="v%3AN3"
-></A
-></A
-><B
->N3</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:n3"
-><A NAME="v%3An3"
-></A
-></A
-><B
->n3</B
-> :: a b</TD
-><TD CLASS="rdoc"
->this is the <TT
-><A HREF="">n3</A
-></TT
-> field
-</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:N4"
-><A NAME="t%3AN4"
-></A
-></A
-><B
->N4</B
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->An abstract newtype - we show this one as data rather than newtype because
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:A" class="def">A</a> <A HREF="">Int</a> (<A HREF="">Maybe</a> <A HREF="">Float</a>)</td><td class="doc"><p>This comment describes the <code><A HREF="">A</a></code> constructor
+</p></td></tr><tr><td class="src"><a name="v:B" class="def">B</a> (<A HREF="">T</a> a b, <A HREF="">T</a> <A HREF="">Int</a> <A HREF="">Float</a>)</td><td class="doc"><p>This comment describes the <code><A HREF="">B</a></code> constructor
+</p></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:T2" class="def">T2</a> a b </p><div class="doc"><p>An abstract data declaration
+</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:T3" class="def">T3</a> a b </p><div class="doc"><p>A data declaration with no documentation annotations on the constructors
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:A1" class="def">A1</a> a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B1" class="def">B1</a> b</td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:T4" class="def">T4</a> a b </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:A2" class="def">A2</a> a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:B2" class="def">B2</a> b</td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:T5" class="def">T5</a> a b </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:A3" class="def">A3</a> a</td><td class="doc"><p>documents <code><A HREF="">A3</a></code>
+</p></td></tr><tr><td class="src"><a name="v:B3" class="def">B3</a> b</td><td class="doc"><p>documents <code><A HREF="">B3</a></code>
+</p></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:T6" class="def">T6</a> </p><div class="doc"><p>Testing alternative comment styles
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:A4" class="def">A4</a></td><td class="doc"><p>This is the doc for <code><A HREF="">A4</a></code>
+</p></td></tr><tr><td class="src"><a name="v:B4" class="def">B4</a></td><td class="doc"><p>This is the doc for <code><A HREF="">B4</a></code>
+</p></td></tr><tr><td class="src"><a name="v:C4" class="def">C4</a></td><td class="doc"><p>This is the doc for <code><A HREF="">C4</a></code>
+</p></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:N1" class="def">N1</a> a </p><div class="doc"><p>A newtype
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:N1" class="def">N1</a> a</td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:N2" class="def">N2</a> a b </p><div class="doc"><p>A newtype with a fieldname
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:N2" class="def">N2</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:n" class="def">n</a> :: a b</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:N3" class="def">N3</a> a b </p><div class="doc"><p>A newtype with a fieldname, documentation on the field
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:N3" class="def">N3</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:n3" class="def">n3</a> :: a b</dt><dd class="doc"><p>this is the <code><A HREF="">n3</a></code> field
+</p></dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:N4" class="def">N4</a> a b </p><div class="doc"><p>An abstract newtype - we show this one as data rather than newtype because
the difference isn't visible to the programmer for an abstract type.
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A NAME="t:N5"
-><A NAME="t%3AN5"
-></A
-></A
-><B
->N5</B
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:N5"
-><A NAME="v%3AN5"
-></A
-></A
-><B
->N5</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:n5"
-><A NAME="v%3An5"
-></A
-></A
-><B
->n5</B
-> :: a b</TD
-><TD CLASS="rdoc"
->no docs on the datatype or the constructor
-</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A NAME="t:N6"
-><A NAME="t%3AN6"
-></A
-></A
-><B
->N6</B
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:N6"
-><A NAME="v%3AN6"
-></A
-></A
-><B
->N6</B
-></TD
-><TD CLASS="rdoc"
->docs on the constructor only
-</TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:n6"
-><A NAME="v%3An6"
-></A
-></A
-><B
->n6</B
-> :: a b</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A NAME="t:N7"
-><A NAME="t%3AN7"
-></A
-></A
-><B
->N7</B
-> a b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->docs on the newtype and the constructor
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:N7"
-><A NAME="v%3AN7"
-></A
-></A
-><B
->N7</B
-></TD
-><TD CLASS="rdoc"
->The <TT
-><A HREF="">N7</A
-></TT
-> constructor
-</TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:n7"
-><A NAME="v%3An7"
-></A
-></A
-><B
->n7</B
-> :: a b</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section2"
-><A NAME="3"
-><A NAME="3"
->Records
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:R"
-><A NAME="t%3AR"
-></A
-></A
-><B
->R</B
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->This is the documentation for the <TT
-><A HREF="">R</A
-></TT
-> record, which has four fields,
- <TT
-><A HREF="">p</A
-></TT
->, <TT
-><A HREF="">q</A
-></TT
->, <TT
-><A HREF="">r</A
-></TT
->, and <TT
-><A HREF="">s</A
-></TT
->.
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:C1"
-><A NAME="v%3AC1"
-></A
-></A
-><B
->C1</B
-></TD
-><TD CLASS="rdoc"
->This is the <TT
-><A HREF="">C1</A
-></TT
-> record constructor, with the following fields:
-</TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:p"
-><A NAME="v%3Ap"
-></A
-></A
-><B
->p</B
-> :: <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
->This comment applies to the <TT
-><A HREF="">p</A
-></TT
-> field
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:q"
-><A NAME="v%3Aq"
-></A
-></A
-><B
->q</B
-> :: <SPAN CLASS="keyword"
->forall</SPAN
-> a. a -&gt; a</TD
-><TD CLASS="rdoc"
->This comment applies to the <TT
-><A HREF="">q</A
-></TT
-> field
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:r"
-><A NAME="v%3Ar"
-></A
-></A
-><B
->r</B
-> :: <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
->This comment applies to both <TT
-><A HREF="">r</A
-></TT
-> and <TT
-><A HREF="">s</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:s"
-><A NAME="v%3As"
-></A
-></A
-><B
->s</B
-> :: <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
->This comment applies to both <TT
-><A HREF="">r</A
-></TT
-> and <TT
-><A HREF="">s</A
-></TT
->
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:C2"
-><A NAME="v%3AC2"
-></A
-></A
-><B
->C2</B
-></TD
-><TD CLASS="rdoc"
->This is the <TT
-><A HREF="">C2</A
-></TT
-> record constructor, also with some fields:
-</TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:t"
-><A NAME="v%3At"
-></A
-></A
-><B
->t</B
-> :: T1 -&gt; <A HREF="">T2</A
-> <A HREF="">Int</A
-> <A HREF="">Int</A
-> -&gt; <A HREF="">T3</A
-> <A HREF="">Bool</A
-> <A HREF="">Bool</A
-> -&gt; <A HREF="">T4</A
-> <A HREF="">Float</A
-> <A HREF="">Float</A
-> -&gt; <A HREF="">T5</A
-> <A HREF="">()</A
-> <A HREF="">()</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:u"
-><A NAME="v%3Au"
-></A
-></A
-><B
->u</B
-> :: <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:v"
-><A NAME="v%3Av"
-></A
-></A
-><B
->v</B
-> :: <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:R1"
-><A NAME="t%3AR1"
-></A
-></A
-><B
->R1</B
-> </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Testing different record commenting styles
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:C3"
-><A NAME="v%3AC3"
-></A
-></A
-><B
->C3</B
-></TD
-><TD CLASS="rdoc"
->This is the <TT
-><A HREF="">C3</A
-></TT
-> record constructor
-</TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:s1"
-><A NAME="v%3As1"
-></A
-></A
-><B
->s1</B
-> :: <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
->The <TT
-><A HREF="">s1</A
-></TT
-> record selector
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:s2"
-><A NAME="v%3As2"
-></A
-></A
-><B
->s2</B
-> :: <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
->The <TT
-><A HREF="">s2</A
-></TT
-> record selector
-</TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:s3"
-><A NAME="v%3As3"
-></A
-></A
-><B
->s3</B
-> :: <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
->The <TT
-><A HREF="">s3</A
-></TT
-> record selector
-</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test that we can export record selectors on their own:
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
-><A NAME="4"
-><A NAME="4"
->Class declarations
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A HREF="">D</A
-> a =&gt; <A NAME="t:C"
-><A NAME="t%3AC"
-></A
-></A
-><B
->C</B
-> a <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->This comment applies to the <EM
->previous</EM
-> declaration (the <TT
-><A HREF="">C</A
-></TT
-> class)
-</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="section4"
->Methods</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A NAME="v:a"
-><A NAME="v%3Aa"
-></A
-></A
-><B
->a</B
-> :: <A HREF="">IO</A
-> a</TD
-></TR
-><TR
-><TD CLASS="doc"
->this is a description of the <TT
-><A HREF="">a</A
-></TT
-> method
-</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:b"
-><A NAME="v%3Ab"
-></A
-></A
-><B
->b</B
-> :: [a]</TD
-></TR
-><TR
-><TD CLASS="doc"
->this is a description of the <TT
-><A HREF="">b</A
-></TT
-> method
-</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A NAME="t:D"
-><A NAME="t%3AD"
-></A
-></A
-><B
->D</B
-> a <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->This is a class declaration with no separate docs for the methods
-</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="section4"
->Methods</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A NAME="v:d"
-><A NAME="v%3Ad"
-></A
-></A
-><B
->d</B
-> :: <A HREF="">T</A
-> a b</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:e"
-><A NAME="v%3Ae"
-></A
-></A
-><B
->e</B
-> :: (a, a)</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:D')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:D" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A HREF="">D</A
-> <A HREF="">Float</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A HREF="">D</A
-> <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></DIV
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A NAME="t:E"
-><A NAME="t%3AE"
-></A
-></A
-><B
->E</B
-> a </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->This is a class declaration with no methods (or no methods exported)
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A NAME="t:F"
-><A NAME="t%3AF"
-></A
-></A
-><B
->F</B
-> a <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="section4"
->Methods</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A NAME="v:ff"
-><A NAME="v%3Aff"
-></A
-></A
-><B
->ff</B
-> :: a</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Test that we can export a class method on its own:
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
-><A NAME="5"
-><A NAME="5"
->Function types
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:f"
-><A NAME="v%3Af"
-></A
-></A
-><B
->f</B
-> :: <A HREF="">C</A
-> a =&gt; a -&gt; <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->In a comment string we can refer to identifiers in scope with
-single quotes like this: <TT
-><A HREF="">T</A
-></TT
->, and we can refer to modules by
-using double quotes: <A HREF="">Foo</A
->. We can add emphasis <EM
->like this</EM
->.
-</P
-><UL
-><LI
-> This is a bulleted list
-</LI
-><LI
-> This is the next item (different kind of bullet)
-</LI
-></UL
-><OL
-><LI
-> This is an ordered list
-</LI
-></OL
-><P
->2. This is the next item (different kind of bullet)
-</P
-><PRE
->
- This is a block of code, which can include other markup: <TT
-><A HREF="">R</A
-></TT
->
+</p></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:N5" class="def">N5</a> a b </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:N5" class="def">N5</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:n5" class="def">n5</a> :: a b</dt><dd class="doc"><p>no docs on the datatype or the constructor
+</p></dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:N6" class="def">N6</a> a b </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:N6" class="def">N6</a></td><td class="doc"><p>docs on the constructor only
+</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:n6" class="def">n6</a> :: a b</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:N7" class="def">N7</a> a b </p><div class="doc"><p>docs on the newtype and the constructor
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:N7" class="def">N7</a></td><td class="doc"><p>The <code><A HREF="">N7</a></code> constructor
+</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:n7" class="def">n7</a> :: a b</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><h2 id="3">Records
+</h2><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:R" class="def">R</a> </p><div class="doc"><p>This is the documentation for the <code><A HREF="">R</a></code> record, which has four fields,
+ <code><A HREF="">p</a></code>, <code><A HREF="">q</a></code>, <code><A HREF="">r</a></code>, and <code><A HREF="">s</a></code>.
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:C1" class="def">C1</a></td><td class="doc"><p>This is the <code><A HREF="">C1</a></code> record constructor, with the following fields:
+</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:p" class="def">p</a> :: <A HREF="">Int</a></dt><dd class="doc"><p>This comment applies to the <code><A HREF="">p</a></code> field
+</p></dd><dt class="src"><a name="v:q" class="def">q</a> :: <span class="keyword">forall</span> a. a -&gt; a</dt><dd class="doc"><p>This comment applies to the <code><A HREF="">q</a></code> field
+</p></dd><dt class="src"><a name="v:r" class="def">r</a> :: <A HREF="">Int</a></dt><dd class="doc"><p>This comment applies to both <code><A HREF="">r</a></code> and <code><A HREF="">s</a></code>
+</p></dd><dt class="src"><a name="v:s" class="def">s</a> :: <A HREF="">Int</a></dt><dd class="doc"><p>This comment applies to both <code><A HREF="">r</a></code> and <code><A HREF="">s</a></code>
+</p></dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:C2" class="def">C2</a></td><td class="doc"><p>This is the <code><A HREF="">C2</a></code> record constructor, also with some fields:
+</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:t" class="def">t</a> :: T1 -&gt; <A HREF="">T2</a> <A HREF="">Int</a> <A HREF="">Int</a> -&gt; <A HREF="">T3</a> <A HREF="">Bool</a> <A HREF="">Bool</a> -&gt; <A HREF="">T4</a> <A HREF="">Float</a> <A HREF="">Float</a> -&gt; <A HREF="">T5</a> <A HREF="">()</a> <A HREF="">()</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:u" class="def">u</a> :: <A HREF="">Int</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:v" class="def">v</a> :: <A HREF="">Int</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:R1" class="def">R1</a> </p><div class="doc"><p>Testing different record commenting styles
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:C3" class="def">C3</a></td><td class="doc"><p>This is the <code><A HREF="">C3</a></code> record constructor
+</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:s1" class="def">s1</a> :: <A HREF="">Int</a></dt><dd class="doc"><p>The <code><A HREF="">s1</a></code> record selector
+</p></dd><dt class="src"><a name="v:s2" class="def">s2</a> :: <A HREF="">Int</a></dt><dd class="doc"><p>The <code><A HREF="">s2</a></code> record selector
+</p></dd><dt class="src"><a name="v:s3" class="def">s3</a> :: <A HREF="">Int</a></dt><dd class="doc"><p>The <code><A HREF="">s3</a></code> record selector
+</p></dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="doc"><p>test that we can export record selectors on their own:
+</p></div><h1 id="4">Class declarations
+</h1><div class="top"><p class="src"><span class="keyword">class</span> <A HREF="">D</a> a =&gt; <a name="t:C" class="def">C</a> a <span class="keyword">where</span></p><div class="doc"><p>This comment applies to the <em>previous</em> declaration (the <code><A HREF="">C</a></code> class)
+</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:a" class="def">a</a> :: <A HREF="">IO</a> a</p><div class="doc"><p>this is a description of the <code><A HREF="">a</a></code> method
+</p></div><p class="src"><a name="v:b" class="def">b</a> :: [a]</p><div class="doc"><p>this is a description of the <code><A HREF="">b</a></code> method
+</p></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:D" class="def">D</a> a <span class="keyword">where</span></p><div class="doc"><p>This is a class declaration with no separate docs for the methods
+</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:d" class="def">d</a> :: <A HREF="">T</a> a b</p><p class="src"><a name="v:e" class="def">e</a> :: (a, a)</p></div><div class="subs instances"><p id="control.i:D" class="caption collapser" onclick="toggleSection('i:D')">Instances</p><div id="section.i:D" class="show"><table><tr><td class="src"><A HREF="">D</a> <A HREF="">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><A HREF="">D</a> <A HREF="">Int</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:E" class="def">E</a> a </p><div class="doc"><p>This is a class declaration with no methods (or no methods exported)
+</p></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:F" class="def">F</a> a <span class="keyword">where</span></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:ff" class="def">ff</a> :: a</p></div></div><div class="doc"><p>Test that we can export a class method on its own:
+</p></div><h1 id="5">Function types
+</h1><div class="top"><p class="src"><a name="v:f" class="def">f</a> :: <A HREF="">C</a> a =&gt; a -&gt; <A HREF="">Int</a></p><div class="doc"><p>In a comment string we can refer to identifiers in scope with
+single quotes like this: <code><A HREF="">T</a></code>, and we can refer to modules by
+using double quotes: <A HREF="">Foo</a>. We can add emphasis <em>like this</em>.
+</p><ul><li> This is a bulleted list
+</li><li> This is the next item (different kind of bullet)
+</li></ul><ol><li> This is an ordered list
+</li><li> This is the next item (different kind of bullet)
+</li></ol><dl><dt>cat</dt><dd> a small, furry, domesticated mammal
+</dd><dt>pineapple</dt><dd> a fruit grown in the tropics
+</dd></dl><pre>
+ This is a block of code, which can include other markup: <code><A HREF="">R</a></code>
formatting
is
significant
-</PRE
-><PRE
-> this is another block of code
-</PRE
-><P
->We can also include URLs in documentation: <A HREF="">http://www.haskell.org/</A
->.
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:g"
-><A NAME="v%3Ag"
-></A
-></A
-><B
->g</B
-> :: <A HREF="">Int</A
-> -&gt; <A HREF="">IO</A
-> CInt</TD
-></TR
-><TR
-><TD CLASS="doc"
->we can export foreign declarations too
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
-><A NAME="6"
-><A NAME="6"
->Auxiliary stuff
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->This is some documentation that is attached to a name ($aux1)
+</pre><pre> this is another block of code
+</pre><p>We can also include URLs in documentation: <A HREF="">http://www.haskell.org/</a>.
+</p></div></div><div class="top"><p class="src"><a name="v:g" class="def">g</a> :: <A HREF="">Int</a> -&gt; <A HREF="">IO</a> CInt</p><div class="doc"><p>we can export foreign declarations too
+</p></div></div><h1 id="6">Auxiliary stuff
+</h1><div class="doc"><p>This is some documentation that is attached to a name ($aux1)
rather than a source declaration. The documentation may be
referred to in the export list using its name.
-</P
-><PRE
-> code block in named doc</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->This is some documentation that is attached to a name ($aux2)
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><PRE
-> code block on its own in named doc</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><PRE
-> code block on its own in named doc (after newline)</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->a nested, named doc comment
-</P
-><P
->with a paragraph,
-</P
-><PRE
-> and a code block</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><PRE
->test
+</p><pre> code block in named doc</pre></div><div class="doc"><p>This is some documentation that is attached to a name ($aux2)
+</p></div><div class="doc"><pre> code block on its own in named doc</pre></div><div class="doc"><pre> code block on its own in named doc (after newline)</pre></div><div class="doc"><p>a nested, named doc comment
+</p><p>with a paragraph,
+</p><pre> and a code block</pre></div><div class="doc"><pre>test
test1
-</PRE
-><PRE
-> test2
+</pre><pre> test2
test3
-</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><PRE
->
+</pre></div><div class="doc"><pre>
test1
test2
-</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><PRE
->test3
+</pre></div><div class="doc"><pre>test3
test4
-</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><PRE
->
+</pre></div><div class="doc"><pre>
test1
test2
-</PRE
-><PRE
->test3
+</pre><pre>test3
test4
-</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><PRE
->test3
+</pre></div><div class="doc"><pre>test3
test4
-</PRE
-><PRE
->
+</pre><pre>
test1
test2
-</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->aux11:
-</P
-><PRE
->test3
+</pre></div><div class="doc"><p>aux11:
+</p><pre>test3
test4
-</PRE
-><PRE
->
+</pre><pre>
test1
test2
-</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><PRE
-> foo
-</PRE
-><PRE
-> bar
-</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->This is some inline documentation in the export list
-</P
-><PRE
-> a code block using bird-tracks
+</pre></div><div class="doc"><pre> foo
+</pre><pre> bar
+</pre></div><div class="doc"><p>This is some inline documentation in the export list
+</p><pre> a code block using bird-tracks
each line must begin with &gt; (which isn't significant unless it
is at the beginning of the line).
-</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
-><A NAME="7"
-><A NAME="7"
->A hidden module
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:hidden"
-><A NAME="v%3Ahidden"
-></A
-></A
-><B
->hidden</B
-> :: <A HREF="">Int</A
-> -&gt; <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
-><A NAME="8"
-><A NAME="8"
->A visible module
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="">Visible</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->nested-style doc comments
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
-><A NAME="9"
-><A NAME="9"
->Existential / Universal types
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:Ex"
-><A NAME="t%3AEx"
-></A
-></A
-><B
->Ex</B
-> a </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->A data-type using existential/universal types
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><SPAN CLASS="keyword"
->forall</SPAN
-> b . <A HREF="">C</A
-> b =&gt; <A NAME="v:Ex1"
-><A NAME="v%3AEx1"
-></A
-></A
-><B
->Ex1</B
-> b</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><SPAN CLASS="keyword"
->forall</SPAN
-> b . <A NAME="v:Ex2"
-><A NAME="v%3AEx2"
-></A
-></A
-><B
->Ex2</B
-> b</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><SPAN CLASS="keyword"
->forall</SPAN
-> b . <A HREF="">C</A
-> a =&gt; <A NAME="v:Ex3"
-><A NAME="v%3AEx3"
-></A
-></A
-><B
->Ex3</B
-> b</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v:Ex4"
-><A NAME="v%3AEx4"
-></A
-></A
-><B
->Ex4</B
-> (<SPAN CLASS="keyword"
->forall</SPAN
-> a. a -&gt; a)</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
-><A NAME="10"
-><A NAME="10"
->Type signatures with argument docs
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:k"
-><A NAME="v%3Ak"
-></A
-></A
-><B
->k</B
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
->:: <A HREF="">T</A
-> <A HREF="">()</A
-> <A HREF="">()</A
-></TD
-><TD CLASS="rdoc"
->This argument has type <TT
-><A HREF="">T</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="">T2</A
-> <A HREF="">Int</A
-> <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
->This argument has type 'T2 Int Int'
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; (<A HREF="">T3</A
-> <A HREF="">Bool</A
-> <A HREF="">Bool</A
-> -&gt; <A HREF="">T4</A
-> <A HREF="">Float</A
-> <A HREF="">Float</A
->)</TD
-><TD CLASS="rdoc"
->This argument has type <TT
->T3 Bool Bool -&gt; T4 Float Float</TT
->
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="">T5</A
-> <A HREF="">()</A
-> <A HREF="">()</A
-></TD
-><TD CLASS="rdoc"
->This argument has a very long description that should
+</pre></div><h1 id="7">A hidden module
+</h1><div class="top"><p class="src"><a name="v:hidden" class="def">hidden</a> :: <A HREF="">Int</a> -&gt; <A HREF="">Int</a></p></div><h1 id="8">A visible module
+</h1><div class="top"><p class="src">module <A HREF="">Visible</a></p></div><div class="doc"><p>nested-style doc comments
+</p></div><h1 id="9">Existential / Universal types
+</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Ex" class="def">Ex</a> a </p><div class="doc"><p>A data-type using existential/universal types
+</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><span class="keyword">forall</span> b . <A HREF="">C</a> b =&gt; <a name="v:Ex1" class="def">Ex1</a> b</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><span class="keyword">forall</span> b . <a name="v:Ex2" class="def">Ex2</a> b</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><span class="keyword">forall</span> b . <A HREF="">C</a> a =&gt; <a name="v:Ex3" class="def">Ex3</a> b</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Ex4" class="def">Ex4</a> (<span class="keyword">forall</span> a. a -&gt; a)</td><td class="doc empty">&nbsp;</td></tr></table></div></div><h1 id="10">Type signatures with argument docs
+</h1><div class="top"><p class="src"><a name="v:k" class="def">k</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <A HREF="">T</a> <A HREF="">()</a> <A HREF="">()</a></td><td class="doc"><p>This argument has type <code><A HREF="">T</a></code>
+</p></td></tr><tr><td class="src">-&gt; <A HREF="">T2</a> <A HREF="">Int</a> <A HREF="">Int</a></td><td class="doc"><p>This argument has type 'T2 Int Int'
+</p></td></tr><tr><td class="src">-&gt; (<A HREF="">T3</a> <A HREF="">Bool</a> <A HREF="">Bool</a> -&gt; <A HREF="">T4</a> <A HREF="">Float</a> <A HREF="">Float</a>)</td><td class="doc"><p>This argument has type <code>T3 Bool Bool -&gt; T4 Float Float</code>
+</p></td></tr><tr><td class="src">-&gt; <A HREF="">T5</a> <A HREF="">()</a> <A HREF="">()</a></td><td class="doc"><p>This argument has a very long description that should
hopefully cause some wrapping to happen when it is finally
rendered by Haddock in the generated HTML page.
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="">IO</A
-> <A HREF="">()</A
-></TD
-><TD CLASS="rdoc"
->This is the result type
-</TD
-></TR
-><TR
-><TD CLASS="ndoc" COLSPAN="2"
->This is a function with documentation for each argument
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:l"
-><A NAME="v%3Al"
-></A
-></A
-><B
->l</B
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
->:: (<A HREF="">Int</A
->, <A HREF="">Int</A
->, <A HREF="">Float</A
->)</TD
-><TD CLASS="rdoc"
->takes a triple
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
->returns an <TT
-><A HREF="">Int</A
-></TT
->
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:m"
-><A NAME="v%3Am"
-></A
-></A
-><B
->m</B
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
->:: <A HREF="">R</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="">N1</A
-> <A HREF="">()</A
-></TD
-><TD CLASS="rdoc"
->one of the arguments
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="">IO</A
-> <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
->and the return value
-</TD
-></TR
-><TR
-><TD CLASS="ndoc" COLSPAN="2"
->This function has some arg docs
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:o"
-><A NAME="v%3Ao"
-></A
-></A
-><B
->o</B
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
->:: <A HREF="">Float</A
-></TD
-><TD CLASS="rdoc"
->The input float
-</TD
-></TR
-><TR
-><TD CLASS="arg"
->-&gt; <A HREF="">IO</A
-> <A HREF="">Float</A
-></TD
-><TD CLASS="rdoc"
->The output float
-</TD
-></TR
-><TR
-><TD CLASS="ndoc" COLSPAN="2"
->A foreign import with argument docs
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
-><A NAME="11"
-><A NAME="11"
->A section
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section2"
-><A NAME="12"
-><A NAME="12"
->A subsection
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><PRE
-> a literal line
-</PRE
-><P
->$ a non <EM
->literal</EM
-> line $
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:f'"
-><A NAME="v%3Af%27"
-></A
-></A
-><B
->f'</B
-> :: <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->a function with a prime can be referred to as <TT
-><A HREF="">f'</A
-></TT
->
+</p></td></tr><tr><td class="src">-&gt; <A HREF="">IO</a> <A HREF="">()</a></td><td class="doc"><p>This is the result type
+</p></td></tr></table></div><div class="doc"><p>This is a function with documentation for each argument
+</p></div></div><div class="top"><p class="src"><a name="v:l" class="def">l</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<A HREF="">Int</a>, <A HREF="">Int</a>, <A HREF="">Float</a>)</td><td class="doc"><p>takes a triple
+</p></td></tr><tr><td class="src">-&gt; <A HREF="">Int</a></td><td class="doc"><p>returns an <code><A HREF="">Int</a></code>
+</p></td></tr></table></div></div><div class="top"><p class="src"><a name="v:m" class="def">m</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <A HREF="">R</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <A HREF="">N1</a> <A HREF="">()</a></td><td class="doc"><p>one of the arguments
+</p></td></tr><tr><td class="src">-&gt; <A HREF="">IO</a> <A HREF="">Int</a></td><td class="doc"><p>and the return value
+</p></td></tr></table></div><div class="doc"><p>This function has some arg docs
+</p></div></div><div class="top"><p class="src"><a name="v:o" class="def">o</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <A HREF="">Float</a></td><td class="doc"><p>The input float
+</p></td></tr><tr><td class="src">-&gt; <A HREF="">IO</a> <A HREF="">Float</a></td><td class="doc"><p>The output float
+</p></td></tr></table></div><div class="doc"><p>A foreign import with argument docs
+</p></div></div><h1 id="11">A section
+</h1><h2 id="12">A subsection
+</h2><div class="doc"><pre> a literal line
+</pre><p>$ a non <em>literal</em> line $
+</p></div><div class="top"><p class="src"><a name="v:f-39-" class="def">f'</a> :: <A HREF="">Int</a></p><div class="doc"><p>a function with a prime can be referred to as <code><A HREF="">f'</a></code>
but f' doesn't get link'd 'f\''
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+</p></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Ticket112.html.ref b/tests/golden-tests/tests/Ticket112.html.ref
index 9ff3a192..91ab5c2f 100644
--- a/tests/golden-tests/tests/Ticket112.html.ref
+++ b/tests/golden-tests/tests/Ticket112.html.ref
@@ -1,116 +1,5 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Ticket112</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Ticket112.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Ticket112</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="">f</A
-> :: a</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:f"
-><A NAME="v%3Af"
-></A
-></A
-><B
->f</B
-> :: a</TD
-></TR
-><TR
-><TD CLASS="doc"
->...given a raw <TT
-><A HREF="">Addr#</A
-></TT
-> to the string, and the length of the string.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ticket112</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Ticket112.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Ticket112</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><A HREF="">f</a> :: a</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:f" class="def">f</a> :: a</p><div class="doc"><p>...given a raw <code><A HREF="">Addr#</a></code> to the string, and the length of the string.
+</p></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Ticket61.html.ref b/tests/golden-tests/tests/Ticket61.html.ref
index 7931bbf8..bfdaa4df 100644
--- a/tests/golden-tests/tests/Ticket61.html.ref
+++ b/tests/golden-tests/tests/Ticket61.html.ref
@@ -1,128 +1,5 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Ticket61</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Ticket61.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Ticket61</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A NAME="t:C"
-><A NAME="t%3AC"
-></A
-></A
-><B
->C</B
-> a <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="section4"
->Methods</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A NAME="v:f"
-><A NAME="v%3Af"
-></A
-></A
-><B
->f</B
-> :: a</TD
-></TR
-><TR
-><TD CLASS="doc"
->A comment about f
-</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ticket61</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Ticket61.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Ticket61</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:C" class="def">C</a> a <span class="keyword">where</span></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:f" class="def">f</a> :: a</p><div class="doc"><p>A comment about f
+</p></div></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Ticket75.html.ref b/tests/golden-tests/tests/Ticket75.html.ref
index 1490c1dc..e84010e1 100644
--- a/tests/golden-tests/tests/Ticket75.html.ref
+++ b/tests/golden-tests/tests/Ticket75.html.ref
@@ -1,174 +1,5 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Ticket75</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Ticket75.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Ticket75</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> a <A HREF="">:-</A
-> b = <A HREF="">Q</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">f</A
-> :: <A HREF="">Int</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> a <A NAME="t::-"
-><A NAME="t%3A%3A-"
-></A
-></A
-><B
->:-</B
-> b </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:Q"
-><A NAME="v%3AQ"
-></A
-></A
-><B
->Q</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:f"
-><A NAME="v%3Af"
-></A
-></A
-><B
->f</B
-> :: <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->A reference to <TT
-><A HREF="">:-</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Ticket75</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Ticket75.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Ticket75</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> a <A HREF="">:-</a> b = <A HREF="">Q</a></li><li class="src short"><A HREF="">f</a> :: <A HREF="">Int</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> a <a name="t::-45-" class="def">:-</a> b </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Q" class="def">Q</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><a name="v:f" class="def">f</a> :: <A HREF="">Int</a></p><div class="doc"><p>A reference to <code><A HREF="">:-</a></code>
+</p></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/TypeFamilies.html.ref b/tests/golden-tests/tests/TypeFamilies.html.ref
index 101c5c80..b649aced 100644
--- a/tests/golden-tests/tests/TypeFamilies.html.ref
+++ b/tests/golden-tests/tests/TypeFamilies.html.ref
@@ -1,316 +1,9 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->TypeFamilies</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_TypeFamilies.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->TypeFamilies</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->type family</SPAN
-> <A HREF="">G</A
-> a :: *</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A HREF="">A</A
-> a <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">B</A
-> a :: * -&gt; *</TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">f</A
-> :: <A HREF="">B</A
-> a <A HREF="">Int</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->type family</SPAN
-> <A HREF="">F</A
-> a </TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->type family</SPAN
-> <A NAME="t:G"
-><A NAME="t%3AG"
-></A
-></A
-><B
->G</B
-> a :: *</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Type family G
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->class</SPAN
-> <A NAME="t:A"
-><A NAME="t%3AA"
-></A
-></A
-><B
->A</B
-> a <SPAN CLASS="keyword"
->where</SPAN
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->A class with an associated type
-</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="section4"
->Associated Types</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:B"
-><A NAME="t%3AB"
-></A
-></A
-><B
->B</B
-> a :: * -&gt; *</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->An associated type
-</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="section4"
->Methods</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A NAME="v:f"
-><A NAME="v%3Af"
-></A
-></A
-><B
->f</B
-> :: <A HREF="">B</A
-> a <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->A method
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:A')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:A" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A HREF="">A</A
-> <A HREF="">Int</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></DIV
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->type family</SPAN
-> <A NAME="t:F"
-><A NAME="t%3AF"
-></A
-></A
-><B
->F</B
-> a </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Doc for family
-</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>TypeFamilies</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">TypeFamilies</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type family</span> <A HREF="">G</a> a :: *</li><li class="src short"><span class="keyword">class</span> <A HREF="">A</a> a <span class="keyword">where</span><ul class="subs"><li><span class="keyword">data</span> <A HREF="">B</a> a :: * -&gt; *</li><li><A HREF="">f</a> :: <A HREF="">B</a> a <A HREF="">Int</a></li></ul></li><li class="src short"><span class="keyword">type family</span> <A HREF="">F</a> a </li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">type family</span> <a name="t:G" class="def">G</a> a :: *</p><div class="doc"><p>Type family G
+</p></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:A" class="def">A</a> a <span class="keyword">where</span></p><div class="doc"><p>A class with an associated type
+</p></div><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">data</span> <a name="t:B" class="def">B</a> a :: * -&gt; *</p><div class="doc"><p>An associated type
+</p></div></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:f" class="def">f</a> :: <A HREF="">B</a> a <A HREF="">Int</a></p><div class="doc"><p>A method
+</p></div></div><div class="subs instances"><p id="control.i:A" class="caption collapser" onclick="toggleSection('i:A')">Instances</p><div id="section.i:A" class="show"><table><tr><td class="src"><A HREF="">A</a> <A HREF="">Int</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type family</span> <a name="t:F" class="def">F</a> a </p><div class="doc"><p>Doc for family
+</p></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/TypeOperators.html.ref b/tests/golden-tests/tests/TypeOperators.html.ref
index 787737e7..f1e4bc35 100644
--- a/tests/golden-tests/tests/TypeOperators.html.ref
+++ b/tests/golden-tests/tests/TypeOperators.html.ref
@@ -1,388 +1,6 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->TypeOperators</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_TypeOperators.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->TypeOperators</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
-><B
->Contents</B
-></TD
-></TR
-><TR
-><TD
-><DL
-><DT
-><A HREF="">stuff
-</A
-></DT
-></DL
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> a <A HREF="">:-:</A
-> b</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> (a <A HREF="">:+:</A
-> b) c</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A HREF="">Op</A
-> a b</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A HREF="">O</A
-> g f a = <A HREF="">O</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="">unO</A
-> :: g (f a)</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="">biO</A
-> :: (g `<A HREF="">O</A
->` f) a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A HREF="">Flip</A
-> (~&gt;) b a = <A HREF="">Flip</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="">unFlip</A
-> :: a ~&gt; b</TD
-></TR
-></TABLE
->}</TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
-><A NAME="1"
-><A NAME="1"
->stuff
-</A
-></A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> a <A NAME="t::-:"
-><A NAME="t%3A%3A-%3A"
-></A
-></A
-><B
->:-:</B
-> b </TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> (a <A NAME="t::+:"
-><A NAME="t%3A%3A%2B%3A"
-></A
-></A
-><B
->:+:</B
-> b) c </TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
-> <A NAME="t:Op"
-><A NAME="t%3AOp"
-></A
-></A
-><B
->Op</B
-> a b </TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A NAME="t:O"
-><A NAME="t%3AO"
-></A
-></A
-><B
->O</B
-> g f a </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:O"
-><A NAME="v%3AO"
-></A
-></A
-><B
->O</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:unO"
-><A NAME="v%3AunO"
-></A
-></A
-><B
->unO</B
-> :: g (f a)</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:biO"
-><A NAME="v%3AbiO"
-></A
-></A
-><B
->biO</B
-> :: (g `<A HREF="">O</A
->` f) a</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->newtype</SPAN
-> <A NAME="t:Flip"
-><A NAME="t%3AFlip"
-></A
-></A
-><B
->Flip</B
-> (~&gt;) b a </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:Flip"
-><A NAME="v%3AFlip"
-></A
-></A
-><B
->Flip</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v:unFlip"
-><A NAME="v%3AunFlip"
-></A
-></A
-><B
->unFlip</B
-> :: a ~&gt; b</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>TypeOperators</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_TypeOperators.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">TypeOperators</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><A HREF="">stuff
+</a></li></ul></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> a <A HREF="">:-:</a> b</li><li class="src short"><span class="keyword">data</span> (a <A HREF="">:+:</a> b) c</li><li class="src short"><span class="keyword">data</span> <A HREF="">Op</a> a b</li><li class="src short"><span class="keyword">newtype</span> <A HREF="">O</a> g f a = <A HREF="">O</a> {<ul class="subs"><li><A HREF="">unO</a> :: g (f a)</li></ul>}</li><li class="src short"><A HREF="">biO</a> :: (g `<A HREF="">O</a>` f) a</li><li class="src short"><span class="keyword">newtype</span> <A HREF="">Flip</a> (~&gt;) b a = <A HREF="">Flip</a> {<ul class="subs"><li><A HREF="">unFlip</a> :: a ~&gt; b</li></ul>}</li></ul></div><div id="interface"><h1 id="1">stuff
+</h1><div class="top"><p class="src"><span class="keyword">data</span> a <a name="t::-45-:" class="def">:-:</a> b </p></div><div class="top"><p class="src"><span class="keyword">data</span> (a <a name="t::-43-:" class="def">:+:</a> b) c </p></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Op" class="def">Op</a> a b </p></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:O" class="def">O</a> g f a </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:O" class="def">O</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unO" class="def">unO</a> :: g (f a)</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><a name="v:biO" class="def">biO</a> :: (g `<A HREF="">O</a>` f) a</p></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Flip" class="def">Flip</a> (~&gt;) b a </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Flip" class="def">Flip</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unFlip" class="def">unFlip</a> :: a ~&gt; b</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file
diff --git a/tests/golden-tests/tests/Visible.html.ref b/tests/golden-tests/tests/Visible.html.ref
index 5a16acb0..92975799 100644
--- a/tests/golden-tests/tests/Visible.html.ref
+++ b/tests/golden-tests/tests/Visible.html.ref
@@ -1,91 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--Rendered using the Haskell Html Library v0.2-->
-<HTML
-><HEAD
-><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
-><TITLE
->Visible</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
-></SCRIPT
-><SCRIPT TYPE="text/javascript"
->window.onload = function () {setSynopsis("mini_Visible.html")};</SCRIPT
-></HEAD
-><BODY
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="topbar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
-></TD
-><TD CLASS="title"
-></TD
-><TD CLASS="topbut"
-><A HREF="">Contents</A
-></TD
-><TD CLASS="topbut"
-><A HREF="">Index</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="modulebar"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD
-><FONT SIZE="6"
->Visible</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A NAME="v:visible"
-><A NAME="v%3Avisible"
-></A
-></A
-><B
->visible</B
-> :: <A HREF="">Int</A
-> -&gt; <A HREF="">Int</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="">Haddock</A
-> version 2.7.2</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Visible</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Visible.html");};
+//]]>
+</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><A HREF="">Contents</a></li><li><A HREF="">Index</a></li></ul><p class="caption" class="empty">&nbsp;</p></div><div id="content"><div id="module-header"><p class="caption">Visible</p></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:visible" class="def">visible</a> :: <A HREF="">Int</a> -&gt; <A HREF="">Int</a></p></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.7.2</p></div></body></html> \ No newline at end of file