aboutsummaryrefslogtreecommitdiff
path: root/tests/golden-tests/tests
diff options
context:
space:
mode:
authorDavid Waern <david.waern@gmail.com>2010-12-06 14:17:35 +0000
committerDavid Waern <david.waern@gmail.com>2010-12-06 14:17:35 +0000
commit2e3080bf8ade686dc6cbad8e12ee45675ebae6d7 (patch)
tree0085b740f9a31c07aa2b66905863de34b3075195 /tests/golden-tests/tests
parentc0c10eda300fa1ecc0c9a8a3fff01c3ba3a4883b (diff)
Use --pretty-html when running the test suite. Makes it easier to compare output
Diffstat (limited to 'tests/golden-tests/tests')
-rw-r--r--tests/golden-tests/tests/A.html.ref68
-rw-r--r--tests/golden-tests/tests/B.html.ref51
-rw-r--r--tests/golden-tests/tests/Bug1.html.ref91
-rw-r--r--tests/golden-tests/tests/Bug2.html.ref53
-rw-r--r--tests/golden-tests/tests/Bug3.html.ref69
-rw-r--r--tests/golden-tests/tests/Bug4.html.ref69
-rw-r--r--tests/golden-tests/tests/Bug6.html.ref301
-rw-r--r--tests/golden-tests/tests/Bug7.html.ref157
-rw-r--r--tests/golden-tests/tests/Bug8.html.ref80
-rw-r--r--tests/golden-tests/tests/Bugs.html.ref69
-rw-r--r--tests/golden-tests/tests/CrossPackageDocs.html.ref410
-rw-r--r--tests/golden-tests/tests/Examples.html.ref168
-rw-r--r--tests/golden-tests/tests/FunArgs.html.ref172
-rw-r--r--tests/golden-tests/tests/GADTRecords.html.ref200
-rw-r--r--tests/golden-tests/tests/Hash.html.ref298
-rw-r--r--tests/golden-tests/tests/NamedDoc.html.ref58
-rw-r--r--tests/golden-tests/tests/NoLayout.html.ref72
-rw-r--r--tests/golden-tests/tests/NonGreedy.html.ref69
-rw-r--r--tests/golden-tests/tests/QuasiExpr.html.ref191
-rw-r--r--tests/golden-tests/tests/QuasiQuote.html.ref53
-rw-r--r--tests/golden-tests/tests/TH.html.ref52
-rw-r--r--tests/golden-tests/tests/TH2.html.ref44
-rw-r--r--tests/golden-tests/tests/Test.html.ref2060
-rw-r--r--tests/golden-tests/tests/Ticket112.html.ref70
-rw-r--r--tests/golden-tests/tests/Ticket61.html.ref70
-rw-r--r--tests/golden-tests/tests/Ticket75.html.ref100
-rw-r--r--tests/golden-tests/tests/TypeFamilies.html.ref173
-rw-r--r--tests/golden-tests/tests/TypeOperators.html.ref217
-rw-r--r--tests/golden-tests/tests/Visible.html.ref54
29 files changed, 5261 insertions, 278 deletions
diff --git a/tests/golden-tests/tests/A.html.ref b/tests/golden-tests/tests/A.html.ref
index 495b264b..8f0e3765 100644
--- a/tests/golden-tests/tests/A.html.ref
+++ b/tests/golden-tests/tests/A.html.ref
@@ -1,4 +1,68 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/B.html.ref b/tests/golden-tests/tests/B.html.ref
index c1bcfe23..abb08d45 100644
--- a/tests/golden-tests/tests/B.html.ref
+++ b/tests/golden-tests/tests/B.html.ref
@@ -1,4 +1,51 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Bug1.html.ref b/tests/golden-tests/tests/Bug1.html.ref
index 3ea9f6ff..bc778d38 100644
--- a/tests/golden-tests/tests/Bug1.html.ref
+++ b/tests/golden-tests/tests/Bug1.html.ref
@@ -1,6 +1,89 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Bug2.html.ref b/tests/golden-tests/tests/Bug2.html.ref
index 09b01947..ed81755d 100644
--- a/tests/golden-tests/tests/Bug2.html.ref
+++ b/tests/golden-tests/tests/Bug2.html.ref
@@ -1,4 +1,53 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Bug3.html.ref b/tests/golden-tests/tests/Bug3.html.ref
index 4edfe76e..b231c443 100644
--- a/tests/golden-tests/tests/Bug3.html.ref
+++ b/tests/golden-tests/tests/Bug3.html.ref
@@ -1,6 +1,69 @@
-<!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[
+<!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
+</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/
-</p></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.8.2</p></div></body></html> \ No newline at end of file
+</p
+ ></div
+ ></div
+ ></div
+ ></div
+ ><div id="footer"
+ ><p
+ >Produced by <A HREF="">Haddock</a
+ > version 2.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Bug4.html.ref b/tests/golden-tests/tests/Bug4.html.ref
index 76b0e84f..776a0ab6 100644
--- a/tests/golden-tests/tests/Bug4.html.ref
+++ b/tests/golden-tests/tests/Bug4.html.ref
@@ -1,5 +1,68 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Bug6.html.ref b/tests/golden-tests/tests/Bug6.html.ref
index 6bc8ca26..c6ee6452 100644
--- a/tests/golden-tests/tests/Bug6.html.ref
+++ b/tests/golden-tests/tests/Bug6.html.ref
@@ -1,12 +1,297 @@
-<!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[
+<!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
+</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)
-</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 -
+</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?)
-</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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Bug7.html.ref b/tests/golden-tests/tests/Bug7.html.ref
index 6c29ce13..eea2095d 100644
--- a/tests/golden-tests/tests/Bug7.html.ref
+++ b/tests/golden-tests/tests/Bug7.html.ref
@@ -1,10 +1,153 @@
-<!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[
+<!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
+</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.
-</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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Bug8.html.ref b/tests/golden-tests/tests/Bug8.html.ref
index bd2dc3d1..e8ea727c 100644
--- a/tests/golden-tests/tests/Bug8.html.ref
+++ b/tests/golden-tests/tests/Bug8.html.ref
@@ -1,4 +1,80 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Bugs.html.ref b/tests/golden-tests/tests/Bugs.html.ref
index 6595502a..5828a6fa 100644
--- a/tests/golden-tests/tests/Bugs.html.ref
+++ b/tests/golden-tests/tests/Bugs.html.ref
@@ -1,4 +1,69 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/CrossPackageDocs.html.ref b/tests/golden-tests/tests/CrossPackageDocs.html.ref
index a3c5a424..fd16c958 100644
--- a/tests/golden-tests/tests/CrossPackageDocs.html.ref
+++ b/tests/golden-tests/tests/CrossPackageDocs.html.ref
@@ -1,43 +1,391 @@
-<!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[
+<!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><pre> map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn]
+</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
+ ><pre
+ > map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn]
map f [x1, x2, ...] == [f x1, f x2, ...]
-</pre></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>.
+</pre
+ ></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 <code>do</code> 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: <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><pre> 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
+ ><pre
+ > 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
-</pre><p>Instances of both <code><A HREF="">Monad</a></code> and <code><A HREF="">Functor</a></code> should additionally satisfy the law:
-</p><pre> fmap f xs == xs &gt;&gt;= return . f
-</pre><p>The instances of <code><A HREF="">Monad</a></code> for lists, <code>Data.Maybe.Maybe</code> and <code>System.IO.IO</code>
-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
+</pre
+ ><p
+ >Instances of both <code
+ ><A HREF="">Monad</a
+ ></code
+ > and <code
+ ><A HREF="">Functor</a
+ ></code
+ > should additionally satisfy the law:
+</p
+ ><pre
+ > fmap f xs == xs &gt;&gt;= return . f
+</pre
+ ><p
+ >The instances of <code
+ ><A HREF="">Monad</a
+ ></code
+ > for lists, <code
+ >Data.Maybe.Maybe</code
+ > and <code
+ >System.IO.IO</code
+ >
+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.
-</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
+</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.
-</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
+</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 <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><tr><td class="src"><A HREF="">Monad</a> (<A HREF="">Either</a> e)</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><pre> (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
+ ><tr
+ ><td class="src"
+ ><A HREF="">Monad</a
+ > (<A HREF="">Either</a
+ > e)</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
+ ><pre
+ > (inp,out,err,pid) &lt;- runInteractiveProcess &quot;...&quot;
forkIO (hPutStr inp str)
-</pre><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.8.2</p></div></body></html> \ No newline at end of file
+</pre
+ ><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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Examples.html.ref b/tests/golden-tests/tests/Examples.html.ref
index a8f63e3e..49383b7a 100644
--- a/tests/golden-tests/tests/Examples.html.ref
+++ b/tests/golden-tests/tests/Examples.html.ref
@@ -1,22 +1,150 @@
-<!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[
+<!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">&gt;&gt;&gt; </code><strong class="userinput"><code>fib 5
-</code></strong>5
-<code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>fib 10
-</code></strong>55
-</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>fib 10
-</code></strong>55
-</pre><p>One more Example:
-</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>fib 5
-</code></strong>5
-</pre><p>One more Example:
-</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>fib 5
-</code></strong>5
-</pre><p>Example with an import:
-</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>import Data.Char
-</code></strong><code class="prompt">&gt;&gt;&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.8.2</p></div></body></html> \ No newline at end of file
+</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"
+ >&gt;&gt;&gt; </code
+ ><strong class="userinput"
+ ><code
+ >fib 5
+</code
+ ></strong
+ >5
+<code class="prompt"
+ >&gt;&gt;&gt; </code
+ ><strong class="userinput"
+ ><code
+ >fib 10
+</code
+ ></strong
+ >55
+</pre
+ ><pre class="screen"
+ ><code class="prompt"
+ >&gt;&gt;&gt; </code
+ ><strong class="userinput"
+ ><code
+ >fib 10
+</code
+ ></strong
+ >55
+</pre
+ ><p
+ >One more Example:
+</p
+ ><pre class="screen"
+ ><code class="prompt"
+ >&gt;&gt;&gt; </code
+ ><strong class="userinput"
+ ><code
+ >fib 5
+</code
+ ></strong
+ >5
+</pre
+ ><p
+ >One more Example:
+</p
+ ><pre class="screen"
+ ><code class="prompt"
+ >&gt;&gt;&gt; </code
+ ><strong class="userinput"
+ ><code
+ >fib 5
+</code
+ ></strong
+ >5
+</pre
+ ><p
+ >Example with an import:
+</p
+ ><pre class="screen"
+ ><code class="prompt"
+ >&gt;&gt;&gt; </code
+ ><strong class="userinput"
+ ><code
+ >import Data.Char
+</code
+ ></strong
+ ><code class="prompt"
+ >&gt;&gt;&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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/FunArgs.html.ref b/tests/golden-tests/tests/FunArgs.html.ref
index 1491b267..392ffca8 100644
--- a/tests/golden-tests/tests/FunArgs.html.ref
+++ b/tests/golden-tests/tests/FunArgs.html.ref
@@ -1,13 +1,163 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/GADTRecords.html.ref b/tests/golden-tests/tests/GADTRecords.html.ref
index f4d5593b..fe80fae2 100644
--- a/tests/golden-tests/tests/GADTRecords.html.ref
+++ b/tests/golden-tests/tests/GADTRecords.html.ref
@@ -1,7 +1,197 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Hash.html.ref b/tests/golden-tests/tests/Hash.html.ref
index b4fa23f7..1bb64d42 100644
--- a/tests/golden-tests/tests/Hash.html.ref
+++ b/tests/golden-tests/tests/Hash.html.ref
@@ -1,20 +1,284 @@
-<!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[
+<!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
+</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.
-</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="g: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="g: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="g: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.8.2</p></div></body></html> \ No newline at end of file
+</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="g: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="g: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="g: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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/NamedDoc.html.ref b/tests/golden-tests/tests/NamedDoc.html.ref
index 25cdc423..4c514487 100644
--- a/tests/golden-tests/tests/NamedDoc.html.ref
+++ b/tests/golden-tests/tests/NamedDoc.html.ref
@@ -1,5 +1,57 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/NoLayout.html.ref b/tests/golden-tests/tests/NoLayout.html.ref
index aa1fd3b9..cb073bf6 100644
--- a/tests/golden-tests/tests/NoLayout.html.ref
+++ b/tests/golden-tests/tests/NoLayout.html.ref
@@ -1,5 +1,71 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/NonGreedy.html.ref b/tests/golden-tests/tests/NonGreedy.html.ref
index 74d9d6a0..9e39b7c3 100644
--- a/tests/golden-tests/tests/NonGreedy.html.ref
+++ b/tests/golden-tests/tests/NonGreedy.html.ref
@@ -1,5 +1,68 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/QuasiExpr.html.ref b/tests/golden-tests/tests/QuasiExpr.html.ref
index 30735270..321631e4 100644
--- a/tests/golden-tests/tests/QuasiExpr.html.ref
+++ b/tests/golden-tests/tests/QuasiExpr.html.ref
@@ -1,4 +1,191 @@
-<!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[
+<!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="">Show</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="">Show</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.8.2</p></div></body></html> \ No newline at end of file
+</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="">Show</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="">Show</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/QuasiQuote.html.ref b/tests/golden-tests/tests/QuasiQuote.html.ref
index a4746d35..e1159268 100644
--- a/tests/golden-tests/tests/QuasiQuote.html.ref
+++ b/tests/golden-tests/tests/QuasiQuote.html.ref
@@ -1,4 +1,53 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/TH.html.ref b/tests/golden-tests/tests/TH.html.ref
index be34933f..be948582 100644
--- a/tests/golden-tests/tests/TH.html.ref
+++ b/tests/golden-tests/tests/TH.html.ref
@@ -1,4 +1,52 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/TH2.html.ref b/tests/golden-tests/tests/TH2.html.ref
index 96d164e4..950a391b 100644
--- a/tests/golden-tests/tests/TH2.html.ref
+++ b/tests/golden-tests/tests/TH2.html.ref
@@ -1,4 +1,44 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Test.html.ref b/tests/golden-tests/tests/Test.html.ref
index e4c81c13..2acc5ec8 100644
--- a/tests/golden-tests/tests/Test.html.ref
+++ b/tests/golden-tests/tests/Test.html.ref
@@ -1,148 +1,1968 @@
-<!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[
+<!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"><table class="info"><tr><th>Portability</th><td>portable</td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Maintainer</th><td>libraries@haskell.org</td></tr></table><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="g:1">Type declarations
-</h1><h2 id="g: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
+</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"
+ ><table class="info"
+ ><tr
+ ><th
+ >Portability</th
+ ><td
+ >portable</td
+ ></tr
+ ><tr
+ ><th
+ >Stability</th
+ ><td
+ >provisional</td
+ ></tr
+ ><tr
+ ><th
+ >Maintainer</th
+ ><td
+ >libraries@haskell.org</td
+ ></tr
+ ></table
+ ><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="g:1"
+ >Type declarations
+</h1
+ ><h2 id="g: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
-</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
+</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.
-</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="g: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="g: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="g: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>
+</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="g: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="g: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="g: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></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="g:6">Auxiliary stuff
-</h1><div 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="g: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></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
+</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></div><div class="doc"><pre>
+</pre
+ ></div
+ ><div class="doc"
+ ><pre
+ >
test1
test2
-</pre></div><div class="doc"><pre>test3
+</pre
+ ></div
+ ><div class="doc"
+ ><pre
+ >test3
test4
-</pre></div><div class="doc"><pre>
+</pre
+ ></div
+ ><div class="doc"
+ ><pre
+ >
test1
test2
-</pre><pre>test3
+</pre
+ ><pre
+ >test3
test4
-</pre></div><div class="doc"><pre>test3
+</pre
+ ></div
+ ><div class="doc"
+ ><pre
+ >test3
test4
-</pre><pre>
+</pre
+ ><pre
+ >
test1
test2
-</pre></div><div 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></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
+</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></div><h1 id="g: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="g: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="g: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="g: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
+</pre
+ ></div
+ ><h1 id="g: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="g: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="g: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="g: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.
-</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="g:11">A section
-</h1><h2 id="g: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>
+</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="g:11"
+ >A section
+</h1
+ ><h2 id="g: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\''
-</p></div></div></div></div><div id="footer"><p>Produced by <A HREF="">Haddock</a> version 2.8.2</p></div></body></html> \ No newline at end of file
+</p
+ ></div
+ ></div
+ ></div
+ ></div
+ ><div id="footer"
+ ><p
+ >Produced by <A HREF="">Haddock</a
+ > version 2.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Ticket112.html.ref b/tests/golden-tests/tests/Ticket112.html.ref
index e554c794..f29b507a 100644
--- a/tests/golden-tests/tests/Ticket112.html.ref
+++ b/tests/golden-tests/tests/Ticket112.html.ref
@@ -1,5 +1,69 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Ticket61.html.ref b/tests/golden-tests/tests/Ticket61.html.ref
index 5abb62a9..453cabad 100644
--- a/tests/golden-tests/tests/Ticket61.html.ref
+++ b/tests/golden-tests/tests/Ticket61.html.ref
@@ -1,5 +1,69 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Ticket75.html.ref b/tests/golden-tests/tests/Ticket75.html.ref
index 0ec179cb..dcadf429 100644
--- a/tests/golden-tests/tests/Ticket75.html.ref
+++ b/tests/golden-tests/tests/Ticket75.html.ref
@@ -1,5 +1,99 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/TypeFamilies.html.ref b/tests/golden-tests/tests/TypeFamilies.html.ref
index ee883c2a..02ad9920 100644
--- a/tests/golden-tests/tests/TypeFamilies.html.ref
+++ b/tests/golden-tests/tests/TypeFamilies.html.ref
@@ -1,9 +1,168 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/TypeOperators.html.ref b/tests/golden-tests/tests/TypeOperators.html.ref
index 0e6ec27d..445af672 100644
--- a/tests/golden-tests/tests/TypeOperators.html.ref
+++ b/tests/golden-tests/tests/TypeOperators.html.ref
@@ -1,6 +1,215 @@
-<!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[
+<!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="g: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.8.2</p></div></body></html> \ No newline at end of file
+</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="g: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.8.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/tests/golden-tests/tests/Visible.html.ref b/tests/golden-tests/tests/Visible.html.ref
index 920338ed..3dc3418f 100644
--- a/tests/golden-tests/tests/Visible.html.ref
+++ b/tests/golden-tests/tests/Visible.html.ref
@@ -1,4 +1,54 @@
-<!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[
+<!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.8.2</p></div></body></html> \ No newline at end of file
+</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.8.2</p
+ ></div
+ ></body
+ ></html
+>