From 680c10962e13ef3b1207d06ffee29bb95be1c1dc Mon Sep 17 00:00:00 2001
From: omelkonian <omelkonian@users.noreply.github.com>
Date: Fri, 1 Mar 2024 20:48:15 +0000
Subject: [PATCH] deploy: bb89fd243a936cf6e12ad5f3e55ad7adbb05a3e8

---
 lib/Agda.Builtin.Bool.html        |  17 ++
 lib/Agda.Builtin.Char.html        |  20 ++
 lib/Agda.Builtin.Equality.html    |  11 +
 lib/Agda.Builtin.Float.html       | 211 +++++++++++++
 lib/Agda.Builtin.FromNat.html     |  18 ++
 lib/Agda.Builtin.FromNeg.html     |  18 ++
 lib/Agda.Builtin.FromString.html  |  18 ++
 lib/Agda.Builtin.Int.html         |  20 ++
 lib/Agda.Builtin.List.html        |  18 ++
 lib/Agda.Builtin.Maybe.html       |  11 +
 lib/Agda.Builtin.Nat.html         | 136 +++++++++
 lib/Agda.Builtin.Reflection.html  | 472 ++++++++++++++++++++++++++++++
 lib/Agda.Builtin.Sigma.html       |  19 ++
 lib/Agda.Builtin.Strict.html      |  11 +
 lib/Agda.Builtin.String.html      |  38 +++
 lib/Agda.Builtin.Unit.html        |  12 +
 lib/Agda.Builtin.Word.html        |  15 +
 lib/Agda.Primitive.html           |  43 +++
 lib/Agda.css                      |  41 +++
 lib/Haskell.Prelude.html          | 142 +++++++++
 lib/Haskell.Prim.Absurd.html      |  25 ++
 lib/Haskell.Prim.Applicative.html |  85 ++++++
 lib/Haskell.Prim.Bool.html        |  26 ++
 lib/Haskell.Prim.Bounded.html     |  96 ++++++
 lib/Haskell.Prim.Char.html        |  11 +
 lib/Haskell.Prim.Double.html      |  17 ++
 lib/Haskell.Prim.Either.html      |  22 ++
 lib/Haskell.Prim.Enum.html        | 205 +++++++++++++
 lib/Haskell.Prim.Eq.html          |  82 ++++++
 lib/Haskell.Prim.Foldable.html    | 118 ++++++++
 lib/Haskell.Prim.Functor.html     |  81 +++++
 lib/Haskell.Prim.IO.html          |  29 ++
 lib/Haskell.Prim.Int.html         | 112 +++++++
 lib/Haskell.Prim.Integer.html     |  97 ++++++
 lib/Haskell.Prim.List.html        | 130 ++++++++
 lib/Haskell.Prim.Maybe.html       |  19 ++
 lib/Haskell.Prim.Monad.html       | 113 +++++++
 lib/Haskell.Prim.Monoid.html      | 121 ++++++++
 lib/Haskell.Prim.Num.html         | 122 ++++++++
 lib/Haskell.Prim.Ord.html         | 173 +++++++++++
 lib/Haskell.Prim.Show.html        | 130 ++++++++
 lib/Haskell.Prim.String.html      |  54 ++++
 lib/Haskell.Prim.Traversable.html |  80 +++++
 lib/Haskell.Prim.Tuple.html       |  47 +++
 lib/Haskell.Prim.Word.html        |  55 ++++
 lib/Haskell.Prim.html             | 127 ++++++++
 lib/index.html                    | 142 +++++++++
 47 files changed, 3610 insertions(+)
 create mode 100644 lib/Agda.Builtin.Bool.html
 create mode 100644 lib/Agda.Builtin.Char.html
 create mode 100644 lib/Agda.Builtin.Equality.html
 create mode 100644 lib/Agda.Builtin.Float.html
 create mode 100644 lib/Agda.Builtin.FromNat.html
 create mode 100644 lib/Agda.Builtin.FromNeg.html
 create mode 100644 lib/Agda.Builtin.FromString.html
 create mode 100644 lib/Agda.Builtin.Int.html
 create mode 100644 lib/Agda.Builtin.List.html
 create mode 100644 lib/Agda.Builtin.Maybe.html
 create mode 100644 lib/Agda.Builtin.Nat.html
 create mode 100644 lib/Agda.Builtin.Reflection.html
 create mode 100644 lib/Agda.Builtin.Sigma.html
 create mode 100644 lib/Agda.Builtin.Strict.html
 create mode 100644 lib/Agda.Builtin.String.html
 create mode 100644 lib/Agda.Builtin.Unit.html
 create mode 100644 lib/Agda.Builtin.Word.html
 create mode 100644 lib/Agda.Primitive.html
 create mode 100644 lib/Agda.css
 create mode 100644 lib/Haskell.Prelude.html
 create mode 100644 lib/Haskell.Prim.Absurd.html
 create mode 100644 lib/Haskell.Prim.Applicative.html
 create mode 100644 lib/Haskell.Prim.Bool.html
 create mode 100644 lib/Haskell.Prim.Bounded.html
 create mode 100644 lib/Haskell.Prim.Char.html
 create mode 100644 lib/Haskell.Prim.Double.html
 create mode 100644 lib/Haskell.Prim.Either.html
 create mode 100644 lib/Haskell.Prim.Enum.html
 create mode 100644 lib/Haskell.Prim.Eq.html
 create mode 100644 lib/Haskell.Prim.Foldable.html
 create mode 100644 lib/Haskell.Prim.Functor.html
 create mode 100644 lib/Haskell.Prim.IO.html
 create mode 100644 lib/Haskell.Prim.Int.html
 create mode 100644 lib/Haskell.Prim.Integer.html
 create mode 100644 lib/Haskell.Prim.List.html
 create mode 100644 lib/Haskell.Prim.Maybe.html
 create mode 100644 lib/Haskell.Prim.Monad.html
 create mode 100644 lib/Haskell.Prim.Monoid.html
 create mode 100644 lib/Haskell.Prim.Num.html
 create mode 100644 lib/Haskell.Prim.Ord.html
 create mode 100644 lib/Haskell.Prim.Show.html
 create mode 100644 lib/Haskell.Prim.String.html
 create mode 100644 lib/Haskell.Prim.Traversable.html
 create mode 100644 lib/Haskell.Prim.Tuple.html
 create mode 100644 lib/Haskell.Prim.Word.html
 create mode 100644 lib/Haskell.Prim.html
 create mode 100644 lib/index.html

diff --git a/lib/Agda.Builtin.Bool.html b/lib/Agda.Builtin.Bool.html
new file mode 100644
index 00000000..63da33b2
--- /dev/null
+++ b/lib/Agda.Builtin.Bool.html
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.Bool</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-universe-polymorphism</a>
+            <a id="80" class="Pragma">--no-sized-types</a> <a id="97" class="Pragma">--no-guardedness</a> <a id="114" class="Pragma">--level-universe</a> <a id="131" class="Symbol">#-}</a>
+
+<a id="136" class="Keyword">module</a> <a id="143" href="Agda.Builtin.Bool.html" class="Module">Agda.Builtin.Bool</a> <a id="161" class="Keyword">where</a>
+
+<a id="168" class="Keyword">data</a> <a id="Bool"></a><a id="173" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="178" class="Symbol">:</a> <a id="180" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="184" class="Keyword">where</a>
+  <a id="Bool.false"></a><a id="192" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a> <a id="Bool.true"></a><a id="198" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a> <a id="203" class="Symbol">:</a> <a id="205" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+
+<a id="211" class="Symbol">{-#</a> <a id="215" class="Keyword">BUILTIN</a> <a id="223" class="Keyword">BOOL</a>  <a id="229" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>  <a id="235" class="Symbol">#-}</a>
+<a id="239" class="Symbol">{-#</a> <a id="243" class="Keyword">BUILTIN</a> <a id="251" class="Keyword">FALSE</a> <a id="257" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a> <a id="263" class="Symbol">#-}</a>
+<a id="267" class="Symbol">{-#</a> <a id="271" class="Keyword">BUILTIN</a> <a id="279" class="Keyword">TRUE</a>  <a id="285" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>  <a id="291" class="Symbol">#-}</a>
+
+<a id="296" class="Symbol">{-#</a> <a id="300" class="Keyword">COMPILE</a> <a id="308" class="Keyword">JS</a> <a id="311" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>  <a id="317" class="Pragma">=</a> <a id="319" class="Pragma">function</a> <a id="328" class="Pragma">(x,v)</a> <a id="334" class="Pragma">{</a> <a id="336" class="Pragma">return</a> <a id="343" class="Pragma">((x)?</a> <a id="349" class="Pragma">v[&quot;true&quot;]()</a> <a id="361" class="Pragma">:</a> <a id="363" class="Pragma">v[&quot;false&quot;]());</a> <a id="378" class="Pragma">}</a> <a id="380" class="Symbol">#-}</a>
+<a id="384" class="Symbol">{-#</a> <a id="388" class="Keyword">COMPILE</a> <a id="396" class="Keyword">JS</a> <a id="399" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a> <a id="405" class="Pragma">=</a> <a id="407" class="Pragma">false</a> <a id="413" class="Symbol">#-}</a>
+<a id="417" class="Symbol">{-#</a> <a id="421" class="Keyword">COMPILE</a> <a id="429" class="Keyword">JS</a> <a id="432" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>  <a id="438" class="Pragma">=</a> <a id="440" class="Pragma">true</a>  <a id="446" class="Symbol">#-}</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.Char.html b/lib/Agda.Builtin.Char.html
new file mode 100644
index 00000000..ec85da80
--- /dev/null
+++ b/lib/Agda.Builtin.Char.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.Char</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-universe-polymorphism</a>
+            <a id="80" class="Pragma">--no-sized-types</a> <a id="97" class="Pragma">--no-guardedness</a> <a id="114" class="Pragma">--level-universe</a> <a id="131" class="Symbol">#-}</a>
+
+<a id="136" class="Keyword">module</a> <a id="143" href="Agda.Builtin.Char.html" class="Module">Agda.Builtin.Char</a> <a id="161" class="Keyword">where</a>
+
+<a id="168" class="Keyword">open</a> <a id="173" class="Keyword">import</a> <a id="180" href="Agda.Builtin.Nat.html" class="Module">Agda.Builtin.Nat</a>
+<a id="197" class="Keyword">open</a> <a id="202" class="Keyword">import</a> <a id="209" href="Agda.Builtin.Bool.html" class="Module">Agda.Builtin.Bool</a>
+
+<a id="228" class="Keyword">postulate</a> <a id="Char"></a><a id="238" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="243" class="Symbol">:</a> <a id="245" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="249" class="Symbol">{-#</a> <a id="253" class="Keyword">BUILTIN</a> <a id="261" class="Keyword">CHAR</a> <a id="266" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="271" class="Symbol">#-}</a>
+
+<a id="276" class="Keyword">primitive</a>
+  <a id="primIsLower"></a><a id="288" href="Agda.Builtin.Char.html#288" class="Primitive">primIsLower</a> <a id="primIsDigit"></a><a id="300" href="Agda.Builtin.Char.html#300" class="Primitive">primIsDigit</a> <a id="primIsAlpha"></a><a id="312" href="Agda.Builtin.Char.html#312" class="Primitive">primIsAlpha</a> <a id="primIsSpace"></a><a id="324" href="Agda.Builtin.Char.html#324" class="Primitive">primIsSpace</a> <a id="primIsAscii"></a><a id="336" href="Agda.Builtin.Char.html#336" class="Primitive">primIsAscii</a>
+    <a id="primIsLatin1"></a><a id="352" href="Agda.Builtin.Char.html#352" class="Primitive">primIsLatin1</a> <a id="primIsPrint"></a><a id="365" href="Agda.Builtin.Char.html#365" class="Primitive">primIsPrint</a> <a id="primIsHexDigit"></a><a id="377" href="Agda.Builtin.Char.html#377" class="Primitive">primIsHexDigit</a> <a id="392" class="Symbol">:</a> <a id="394" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="399" class="Symbol">→</a> <a id="401" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="primToUpper"></a><a id="408" href="Agda.Builtin.Char.html#408" class="Primitive">primToUpper</a> <a id="primToLower"></a><a id="420" href="Agda.Builtin.Char.html#420" class="Primitive">primToLower</a> <a id="432" class="Symbol">:</a> <a id="434" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="439" class="Symbol">→</a> <a id="441" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a>
+  <a id="primCharToNat"></a><a id="448" href="Agda.Builtin.Char.html#448" class="Primitive">primCharToNat</a> <a id="462" class="Symbol">:</a> <a id="464" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="469" class="Symbol">→</a> <a id="471" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="primNatToChar"></a><a id="477" href="Agda.Builtin.Char.html#477" class="Primitive">primNatToChar</a> <a id="491" class="Symbol">:</a> <a id="493" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="497" class="Symbol">→</a> <a id="499" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a>
+  <a id="primCharEquality"></a><a id="506" href="Agda.Builtin.Char.html#506" class="Primitive">primCharEquality</a> <a id="523" class="Symbol">:</a> <a id="525" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="530" class="Symbol">→</a> <a id="532" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="537" class="Symbol">→</a> <a id="539" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.Equality.html b/lib/Agda.Builtin.Equality.html
new file mode 100644
index 00000000..d686af44
--- /dev/null
+++ b/lib/Agda.Builtin.Equality.html
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.Equality</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-sized-types</a> <a id="58" class="Pragma">--no-guardedness</a> <a id="75" class="Pragma">--level-universe</a> <a id="92" class="Symbol">#-}</a>
+
+<a id="97" class="Keyword">module</a> <a id="104" href="Agda.Builtin.Equality.html" class="Module">Agda.Builtin.Equality</a> <a id="126" class="Keyword">where</a>
+
+<a id="133" class="Keyword">infix</a> <a id="139" class="Number">4</a> <a id="141" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a>
+<a id="145" class="Keyword">data</a> <a id="_≡_"></a><a id="150" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a> <a id="154" class="Symbol">{</a><a id="155" href="Agda.Builtin.Equality.html#155" class="Bound">a</a><a id="156" class="Symbol">}</a> <a id="158" class="Symbol">{</a><a id="159" href="Agda.Builtin.Equality.html#159" class="Bound">A</a> <a id="161" class="Symbol">:</a> <a id="163" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="167" href="Agda.Builtin.Equality.html#155" class="Bound">a</a><a id="168" class="Symbol">}</a> <a id="170" class="Symbol">(</a><a id="171" href="Agda.Builtin.Equality.html#171" class="Bound">x</a> <a id="173" class="Symbol">:</a> <a id="175" href="Agda.Builtin.Equality.html#159" class="Bound">A</a><a id="176" class="Symbol">)</a> <a id="178" class="Symbol">:</a> <a id="180" href="Agda.Builtin.Equality.html#159" class="Bound">A</a> <a id="182" class="Symbol">→</a> <a id="184" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="188" href="Agda.Builtin.Equality.html#155" class="Bound">a</a> <a id="190" class="Keyword">where</a>
+  <a id="198" class="Keyword">instance</a> <a id="_≡_.refl"></a><a id="207" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">refl</a> <a id="212" class="Symbol">:</a> <a id="214" href="Agda.Builtin.Equality.html#171" class="Bound">x</a> <a id="216" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="218" href="Agda.Builtin.Equality.html#171" class="Bound">x</a>
+
+<a id="221" class="Symbol">{-#</a> <a id="225" class="Keyword">BUILTIN</a> <a id="233" class="Keyword">EQUALITY</a> <a id="242" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a> <a id="246" class="Symbol">#-}</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.Float.html b/lib/Agda.Builtin.Float.html
new file mode 100644
index 00000000..34c1c528
--- /dev/null
+++ b/lib/Agda.Builtin.Float.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.Float</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-sized-types</a> <a id="58" class="Pragma">--no-guardedness</a> <a id="75" class="Pragma">--level-universe</a> <a id="92" class="Symbol">#-}</a>
+
+<a id="97" class="Keyword">module</a> <a id="104" href="Agda.Builtin.Float.html" class="Module">Agda.Builtin.Float</a> <a id="123" class="Keyword">where</a>
+
+<a id="130" class="Keyword">open</a> <a id="135" class="Keyword">import</a> <a id="142" href="Agda.Builtin.Bool.html" class="Module">Agda.Builtin.Bool</a>
+<a id="160" class="Keyword">open</a> <a id="165" class="Keyword">import</a> <a id="172" href="Agda.Builtin.Int.html" class="Module">Agda.Builtin.Int</a>
+<a id="189" class="Keyword">open</a> <a id="194" class="Keyword">import</a> <a id="201" href="Agda.Builtin.Maybe.html" class="Module">Agda.Builtin.Maybe</a>
+<a id="220" class="Keyword">open</a> <a id="225" class="Keyword">import</a> <a id="232" href="Agda.Builtin.Nat.html" class="Module">Agda.Builtin.Nat</a>
+<a id="249" class="Keyword">open</a> <a id="254" class="Keyword">import</a> <a id="261" href="Agda.Builtin.Sigma.html" class="Module">Agda.Builtin.Sigma</a>
+<a id="280" class="Keyword">open</a> <a id="285" class="Keyword">import</a> <a id="292" href="Agda.Builtin.String.html" class="Module">Agda.Builtin.String</a>
+<a id="312" class="Keyword">open</a> <a id="317" class="Keyword">import</a> <a id="324" href="Agda.Builtin.Word.html" class="Module">Agda.Builtin.Word</a>
+
+<a id="343" class="Keyword">postulate</a> <a id="Float"></a><a id="353" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="359" class="Symbol">:</a> <a id="361" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="365" class="Symbol">{-#</a> <a id="369" class="Keyword">BUILTIN</a> <a id="377" class="Keyword">FLOAT</a> <a id="383" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="389" class="Symbol">#-}</a>
+
+<a id="394" class="Keyword">primitive</a>
+  <a id="406" class="Comment">-- Relations</a>
+  <a id="primFloatInequality"></a><a id="421" href="Agda.Builtin.Float.html#421" class="Primitive">primFloatInequality</a>        <a id="448" class="Symbol">:</a> <a id="450" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="456" class="Symbol">→</a> <a id="458" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="464" class="Symbol">→</a> <a id="466" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="primFloatEquality"></a><a id="473" href="Agda.Builtin.Float.html#473" class="Primitive">primFloatEquality</a>          <a id="500" class="Symbol">:</a> <a id="502" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="508" class="Symbol">→</a> <a id="510" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="516" class="Symbol">→</a> <a id="518" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="primFloatLess"></a><a id="525" href="Agda.Builtin.Float.html#525" class="Primitive">primFloatLess</a>              <a id="552" class="Symbol">:</a> <a id="554" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="560" class="Symbol">→</a> <a id="562" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="568" class="Symbol">→</a> <a id="570" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="primFloatIsInfinite"></a><a id="577" href="Agda.Builtin.Float.html#577" class="Primitive">primFloatIsInfinite</a>        <a id="604" class="Symbol">:</a> <a id="606" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="612" class="Symbol">→</a> <a id="614" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="primFloatIsNaN"></a><a id="621" href="Agda.Builtin.Float.html#621" class="Primitive">primFloatIsNaN</a>             <a id="648" class="Symbol">:</a> <a id="650" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="656" class="Symbol">→</a> <a id="658" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="primFloatIsNegativeZero"></a><a id="665" href="Agda.Builtin.Float.html#665" class="Primitive">primFloatIsNegativeZero</a>    <a id="692" class="Symbol">:</a> <a id="694" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="700" class="Symbol">→</a> <a id="702" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="primFloatIsSafeInteger"></a><a id="709" href="Agda.Builtin.Float.html#709" class="Primitive">primFloatIsSafeInteger</a>     <a id="736" class="Symbol">:</a> <a id="738" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="744" class="Symbol">→</a> <a id="746" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="753" class="Comment">-- Conversions</a>
+  <a id="primFloatToWord64"></a><a id="770" href="Agda.Builtin.Float.html#770" class="Primitive">primFloatToWord64</a>          <a id="797" class="Symbol">:</a> <a id="799" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="805" class="Symbol">→</a> <a id="807" href="Agda.Builtin.Maybe.html#135" class="Datatype">Maybe</a> <a id="813" href="Agda.Builtin.Word.html#208" class="Postulate">Word64</a>
+  <a id="primNatToFloat"></a><a id="822" href="Agda.Builtin.Float.html#822" class="Primitive">primNatToFloat</a>             <a id="849" class="Symbol">:</a> <a id="851" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="855" class="Symbol">→</a> <a id="857" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primIntToFloat"></a><a id="865" href="Agda.Builtin.Float.html#865" class="Primitive">primIntToFloat</a>             <a id="892" class="Symbol">:</a> <a id="894" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a> <a id="898" class="Symbol">→</a> <a id="900" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatRound"></a><a id="908" href="Agda.Builtin.Float.html#908" class="Primitive">primFloatRound</a>             <a id="935" class="Symbol">:</a> <a id="937" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="943" class="Symbol">→</a> <a id="945" href="Agda.Builtin.Maybe.html#135" class="Datatype">Maybe</a> <a id="951" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a>
+  <a id="primFloatFloor"></a><a id="957" href="Agda.Builtin.Float.html#957" class="Primitive">primFloatFloor</a>             <a id="984" class="Symbol">:</a> <a id="986" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="992" class="Symbol">→</a> <a id="994" href="Agda.Builtin.Maybe.html#135" class="Datatype">Maybe</a> <a id="1000" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a>
+  <a id="primFloatCeiling"></a><a id="1006" href="Agda.Builtin.Float.html#1006" class="Primitive">primFloatCeiling</a>           <a id="1033" class="Symbol">:</a> <a id="1035" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1041" class="Symbol">→</a> <a id="1043" href="Agda.Builtin.Maybe.html#135" class="Datatype">Maybe</a> <a id="1049" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a>
+  <a id="primFloatToRatio"></a><a id="1055" href="Agda.Builtin.Float.html#1055" class="Primitive">primFloatToRatio</a>           <a id="1082" class="Symbol">:</a> <a id="1084" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1090" class="Symbol">→</a> <a id="1092" class="Symbol">(</a><a id="1093" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a> <a id="1095" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a> <a id="1099" class="Symbol">λ</a> <a id="1101" href="Agda.Builtin.Float.html#1101" class="Bound">_</a> <a id="1103" class="Symbol">→</a> <a id="1105" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a><a id="1108" class="Symbol">)</a>
+  <a id="primRatioToFloat"></a><a id="1112" href="Agda.Builtin.Float.html#1112" class="Primitive">primRatioToFloat</a>           <a id="1139" class="Symbol">:</a> <a id="1141" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a> <a id="1145" class="Symbol">→</a> <a id="1147" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a> <a id="1151" class="Symbol">→</a> <a id="1153" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatDecode"></a><a id="1161" href="Agda.Builtin.Float.html#1161" class="Primitive">primFloatDecode</a>            <a id="1188" class="Symbol">:</a> <a id="1190" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1196" class="Symbol">→</a> <a id="1198" href="Agda.Builtin.Maybe.html#135" class="Datatype">Maybe</a> <a id="1204" class="Symbol">(</a><a id="1205" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a> <a id="1207" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a> <a id="1211" class="Symbol">λ</a> <a id="1213" href="Agda.Builtin.Float.html#1213" class="Bound">_</a> <a id="1215" class="Symbol">→</a> <a id="1217" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a><a id="1220" class="Symbol">)</a>
+  <a id="primFloatEncode"></a><a id="1224" href="Agda.Builtin.Float.html#1224" class="Primitive">primFloatEncode</a>            <a id="1251" class="Symbol">:</a> <a id="1253" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a> <a id="1257" class="Symbol">→</a> <a id="1259" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a> <a id="1263" class="Symbol">→</a> <a id="1265" href="Agda.Builtin.Maybe.html#135" class="Datatype">Maybe</a> <a id="1271" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primShowFloat"></a><a id="1279" href="Agda.Builtin.Float.html#1279" class="Primitive">primShowFloat</a>              <a id="1306" class="Symbol">:</a> <a id="1308" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1314" class="Symbol">→</a> <a id="1316" href="Agda.Builtin.String.html#335" class="Postulate">String</a>
+  <a id="1325" class="Comment">-- Operations</a>
+  <a id="primFloatPlus"></a><a id="1341" href="Agda.Builtin.Float.html#1341" class="Primitive">primFloatPlus</a>              <a id="1368" class="Symbol">:</a> <a id="1370" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1376" class="Symbol">→</a> <a id="1378" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1384" class="Symbol">→</a> <a id="1386" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatMinus"></a><a id="1394" href="Agda.Builtin.Float.html#1394" class="Primitive">primFloatMinus</a>             <a id="1421" class="Symbol">:</a> <a id="1423" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1429" class="Symbol">→</a> <a id="1431" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1437" class="Symbol">→</a> <a id="1439" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatTimes"></a><a id="1447" href="Agda.Builtin.Float.html#1447" class="Primitive">primFloatTimes</a>             <a id="1474" class="Symbol">:</a> <a id="1476" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1482" class="Symbol">→</a> <a id="1484" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1490" class="Symbol">→</a> <a id="1492" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatDiv"></a><a id="1500" href="Agda.Builtin.Float.html#1500" class="Primitive">primFloatDiv</a>               <a id="1527" class="Symbol">:</a> <a id="1529" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1535" class="Symbol">→</a> <a id="1537" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1543" class="Symbol">→</a> <a id="1545" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatPow"></a><a id="1553" href="Agda.Builtin.Float.html#1553" class="Primitive">primFloatPow</a>               <a id="1580" class="Symbol">:</a> <a id="1582" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1588" class="Symbol">→</a> <a id="1590" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1596" class="Symbol">→</a> <a id="1598" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatNegate"></a><a id="1606" href="Agda.Builtin.Float.html#1606" class="Primitive">primFloatNegate</a>            <a id="1633" class="Symbol">:</a> <a id="1635" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1641" class="Symbol">→</a> <a id="1643" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatSqrt"></a><a id="1651" href="Agda.Builtin.Float.html#1651" class="Primitive">primFloatSqrt</a>              <a id="1678" class="Symbol">:</a> <a id="1680" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1686" class="Symbol">→</a> <a id="1688" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatExp"></a><a id="1696" href="Agda.Builtin.Float.html#1696" class="Primitive">primFloatExp</a>               <a id="1723" class="Symbol">:</a> <a id="1725" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1731" class="Symbol">→</a> <a id="1733" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatLog"></a><a id="1741" href="Agda.Builtin.Float.html#1741" class="Primitive">primFloatLog</a>               <a id="1768" class="Symbol">:</a> <a id="1770" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1776" class="Symbol">→</a> <a id="1778" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatSin"></a><a id="1786" href="Agda.Builtin.Float.html#1786" class="Primitive">primFloatSin</a>               <a id="1813" class="Symbol">:</a> <a id="1815" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1821" class="Symbol">→</a> <a id="1823" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatCos"></a><a id="1831" href="Agda.Builtin.Float.html#1831" class="Primitive">primFloatCos</a>               <a id="1858" class="Symbol">:</a> <a id="1860" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1866" class="Symbol">→</a> <a id="1868" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatTan"></a><a id="1876" href="Agda.Builtin.Float.html#1876" class="Primitive">primFloatTan</a>               <a id="1903" class="Symbol">:</a> <a id="1905" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1911" class="Symbol">→</a> <a id="1913" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatASin"></a><a id="1921" href="Agda.Builtin.Float.html#1921" class="Primitive">primFloatASin</a>              <a id="1948" class="Symbol">:</a> <a id="1950" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="1956" class="Symbol">→</a> <a id="1958" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatACos"></a><a id="1966" href="Agda.Builtin.Float.html#1966" class="Primitive">primFloatACos</a>              <a id="1993" class="Symbol">:</a> <a id="1995" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="2001" class="Symbol">→</a> <a id="2003" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatATan"></a><a id="2011" href="Agda.Builtin.Float.html#2011" class="Primitive">primFloatATan</a>              <a id="2038" class="Symbol">:</a> <a id="2040" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="2046" class="Symbol">→</a> <a id="2048" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatATan2"></a><a id="2056" href="Agda.Builtin.Float.html#2056" class="Primitive">primFloatATan2</a>             <a id="2083" class="Symbol">:</a> <a id="2085" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="2091" class="Symbol">→</a> <a id="2093" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="2099" class="Symbol">→</a> <a id="2101" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatSinh"></a><a id="2109" href="Agda.Builtin.Float.html#2109" class="Primitive">primFloatSinh</a>              <a id="2136" class="Symbol">:</a> <a id="2138" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="2144" class="Symbol">→</a> <a id="2146" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatCosh"></a><a id="2154" href="Agda.Builtin.Float.html#2154" class="Primitive">primFloatCosh</a>              <a id="2181" class="Symbol">:</a> <a id="2183" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="2189" class="Symbol">→</a> <a id="2191" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatTanh"></a><a id="2199" href="Agda.Builtin.Float.html#2199" class="Primitive">primFloatTanh</a>              <a id="2226" class="Symbol">:</a> <a id="2228" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="2234" class="Symbol">→</a> <a id="2236" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatASinh"></a><a id="2244" href="Agda.Builtin.Float.html#2244" class="Primitive">primFloatASinh</a>             <a id="2271" class="Symbol">:</a> <a id="2273" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="2279" class="Symbol">→</a> <a id="2281" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatACosh"></a><a id="2289" href="Agda.Builtin.Float.html#2289" class="Primitive">primFloatACosh</a>             <a id="2316" class="Symbol">:</a> <a id="2318" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="2324" class="Symbol">→</a> <a id="2326" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+  <a id="primFloatATanh"></a><a id="2334" href="Agda.Builtin.Float.html#2334" class="Primitive">primFloatATanh</a>             <a id="2361" class="Symbol">:</a> <a id="2363" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="2369" class="Symbol">→</a> <a id="2371" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a>
+
+<a id="2378" class="Symbol">{-#</a> <a id="2382" class="Keyword">COMPILE</a> <a id="2390" class="Keyword">JS</a>
+    <a id="2397" href="Agda.Builtin.Float.html#908" class="Primitive">primFloatRound</a> <a id="2412" class="Pragma">=</a> <a id="2414" class="Pragma">function(x)</a> <a id="2426" class="Pragma">{</a>
+        <a id="2436" class="Pragma">x</a> <a id="2438" class="Pragma">=</a> <a id="2440" class="Pragma">agdaRTS._primFloatRound(x);</a>
+        <a id="2476" class="Pragma">if</a> <a id="2479" class="Pragma">(x</a> <a id="2482" class="Pragma">===</a> <a id="2486" class="Pragma">null)</a> <a id="2492" class="Pragma">{</a>
+            <a id="2506" class="Pragma">return</a> <a id="2513" class="Pragma">z_jAgda_Agda_Builtin_Maybe[&quot;Maybe&quot;][&quot;nothing&quot;];</a>
+        <a id="2569" class="Pragma">}</a>
+        <a id="2579" class="Pragma">else</a> <a id="2584" class="Pragma">{</a>
+            <a id="2598" class="Pragma">return</a> <a id="2605" class="Pragma">z_jAgda_Agda_Builtin_Maybe[&quot;Maybe&quot;][&quot;just&quot;](x);</a>
+        <a id="2661" class="Pragma">}</a>
+    <a id="2667" class="Pragma">};</a>
+<a id="2670" class="Symbol">#-}</a>
+<a id="2674" class="Symbol">{-#</a> <a id="2678" class="Keyword">COMPILE</a> <a id="2686" class="Keyword">JS</a>
+    <a id="2693" href="Agda.Builtin.Float.html#957" class="Primitive">primFloatFloor</a> <a id="2708" class="Pragma">=</a> <a id="2710" class="Pragma">function(x)</a> <a id="2722" class="Pragma">{</a>
+        <a id="2732" class="Pragma">x</a> <a id="2734" class="Pragma">=</a> <a id="2736" class="Pragma">agdaRTS._primFloatFloor(x);</a>
+        <a id="2772" class="Pragma">if</a> <a id="2775" class="Pragma">(x</a> <a id="2778" class="Pragma">===</a> <a id="2782" class="Pragma">null)</a> <a id="2788" class="Pragma">{</a>
+            <a id="2802" class="Pragma">return</a> <a id="2809" class="Pragma">z_jAgda_Agda_Builtin_Maybe[&quot;Maybe&quot;][&quot;nothing&quot;];</a>
+        <a id="2865" class="Pragma">}</a>
+        <a id="2875" class="Pragma">else</a> <a id="2880" class="Pragma">{</a>
+            <a id="2894" class="Pragma">return</a> <a id="2901" class="Pragma">z_jAgda_Agda_Builtin_Maybe[&quot;Maybe&quot;][&quot;just&quot;](x);</a>
+        <a id="2957" class="Pragma">}</a>
+    <a id="2963" class="Pragma">};</a>
+<a id="2966" class="Symbol">#-}</a>
+<a id="2970" class="Symbol">{-#</a> <a id="2974" class="Keyword">COMPILE</a> <a id="2982" class="Keyword">JS</a>
+    <a id="2989" href="Agda.Builtin.Float.html#1006" class="Primitive">primFloatCeiling</a> <a id="3006" class="Pragma">=</a> <a id="3008" class="Pragma">function(x)</a> <a id="3020" class="Pragma">{</a>
+        <a id="3030" class="Pragma">x</a> <a id="3032" class="Pragma">=</a> <a id="3034" class="Pragma">agdaRTS._primFloatCeiling(x);</a>
+        <a id="3072" class="Pragma">if</a> <a id="3075" class="Pragma">(x</a> <a id="3078" class="Pragma">===</a> <a id="3082" class="Pragma">null)</a> <a id="3088" class="Pragma">{</a>
+            <a id="3102" class="Pragma">return</a> <a id="3109" class="Pragma">z_jAgda_Agda_Builtin_Maybe[&quot;Maybe&quot;][&quot;nothing&quot;];</a>
+        <a id="3165" class="Pragma">}</a>
+        <a id="3175" class="Pragma">else</a> <a id="3180" class="Pragma">{</a>
+            <a id="3194" class="Pragma">return</a> <a id="3201" class="Pragma">z_jAgda_Agda_Builtin_Maybe[&quot;Maybe&quot;][&quot;just&quot;](x);</a>
+        <a id="3257" class="Pragma">}</a>
+    <a id="3263" class="Pragma">};</a>
+<a id="3266" class="Symbol">#-}</a>
+<a id="3270" class="Symbol">{-#</a> <a id="3274" class="Keyword">COMPILE</a> <a id="3282" class="Keyword">JS</a>
+    <a id="3289" href="Agda.Builtin.Float.html#1055" class="Primitive">primFloatToRatio</a> <a id="3306" class="Pragma">=</a> <a id="3308" class="Pragma">function(x)</a> <a id="3320" class="Pragma">{</a>
+        <a id="3330" class="Pragma">x</a> <a id="3332" class="Pragma">=</a> <a id="3334" class="Pragma">agdaRTS._primFloatToRatio(x);</a>
+        <a id="3372" class="Pragma">return</a> <a id="3379" class="Pragma">z_jAgda_Agda_Builtin_Sigma[&quot;_,_&quot;](x.numerator)(x.denominator);</a>
+    <a id="3446" class="Pragma">};</a>
+<a id="3449" class="Symbol">#-}</a>
+<a id="3453" class="Symbol">{-#</a> <a id="3457" class="Keyword">COMPILE</a> <a id="3465" class="Keyword">JS</a>
+    <a id="3472" href="Agda.Builtin.Float.html#1161" class="Primitive">primFloatDecode</a> <a id="3488" class="Pragma">=</a> <a id="3490" class="Pragma">function(x)</a> <a id="3502" class="Pragma">{</a>
+        <a id="3512" class="Pragma">x</a> <a id="3514" class="Pragma">=</a> <a id="3516" class="Pragma">agdaRTS._primFloatDecode(x);</a>
+        <a id="3553" class="Pragma">if</a> <a id="3556" class="Pragma">(x</a> <a id="3559" class="Pragma">===</a> <a id="3563" class="Pragma">null)</a> <a id="3569" class="Pragma">{</a>
+            <a id="3583" class="Pragma">return</a> <a id="3590" class="Pragma">z_jAgda_Agda_Builtin_Maybe[&quot;Maybe&quot;][&quot;nothing&quot;];</a>
+        <a id="3646" class="Pragma">}</a>
+        <a id="3656" class="Pragma">else</a> <a id="3661" class="Pragma">{</a>
+            <a id="3675" class="Pragma">return</a> <a id="3682" class="Pragma">z_jAgda_Agda_Builtin_Maybe[&quot;Maybe&quot;][&quot;just&quot;](</a>
+                <a id="3743" class="Pragma">z_jAgda_Agda_Builtin_Sigma[&quot;_,_&quot;](x.mantissa)(x.exponent));</a>
+        <a id="3811" class="Pragma">}</a>
+    <a id="3817" class="Pragma">};</a>
+<a id="3820" class="Symbol">#-}</a>
+<a id="3824" class="Symbol">{-#</a> <a id="3828" class="Keyword">COMPILE</a> <a id="3836" class="Keyword">JS</a>
+    <a id="3843" href="Agda.Builtin.Float.html#1224" class="Primitive">primFloatEncode</a> <a id="3859" class="Pragma">=</a> <a id="3861" class="Pragma">function(x)</a> <a id="3873" class="Pragma">{</a>
+        <a id="3883" class="Pragma">return</a> <a id="3890" class="Pragma">function</a> <a id="3899" class="Pragma">(y)</a> <a id="3903" class="Pragma">{</a>
+            <a id="3917" class="Pragma">x</a> <a id="3919" class="Pragma">=</a> <a id="3921" class="Pragma">agdaRTS.uprimFloatEncode(x,</a> <a id="3949" class="Pragma">y);</a>
+            <a id="3965" class="Pragma">if</a> <a id="3968" class="Pragma">(x</a> <a id="3971" class="Pragma">===</a> <a id="3975" class="Pragma">null)</a> <a id="3981" class="Pragma">{</a>
+                <a id="3999" class="Pragma">return</a> <a id="4006" class="Pragma">z_jAgda_Agda_Builtin_Maybe[&quot;Maybe&quot;][&quot;nothing&quot;];</a>
+            <a id="4066" class="Pragma">}</a>
+            <a id="4080" class="Pragma">else</a> <a id="4085" class="Pragma">{</a>
+                <a id="4103" class="Pragma">return</a> <a id="4110" class="Pragma">z_jAgda_Agda_Builtin_Maybe[&quot;Maybe&quot;][&quot;just&quot;](x);</a>
+            <a id="4170" class="Pragma">}</a>
+        <a id="4180" class="Pragma">}</a>
+    <a id="4186" class="Pragma">};</a>
+<a id="4189" class="Symbol">#-}</a>
+
+<a id="primFloatNumericalEquality"></a><a id="4194" href="Agda.Builtin.Float.html#4194" class="Function">primFloatNumericalEquality</a> <a id="4221" class="Symbol">=</a> <a id="4223" href="Agda.Builtin.Float.html#473" class="Primitive">primFloatEquality</a>
+<a id="4241" class="Symbol">{-#</a> <a id="4245" class="Keyword">WARNING_ON_USAGE</a> <a id="4262" class="Pragma">primFloatNumericalEquality</a>
+<a id="4289" class="String">&quot;Warning: primFloatNumericalEquality was deprecated in Agda v2.6.2.
+Please use primFloatEquality instead.&quot;</a>
+<a id="4396" class="Symbol">#-}</a>
+
+<a id="primFloatNumericalLess"></a><a id="4401" href="Agda.Builtin.Float.html#4401" class="Function">primFloatNumericalLess</a> <a id="4424" class="Symbol">=</a> <a id="4426" href="Agda.Builtin.Float.html#525" class="Primitive">primFloatLess</a>
+<a id="4440" class="Symbol">{-#</a> <a id="4444" class="Keyword">WARNING_ON_USAGE</a> <a id="4461" class="Pragma">primFloatNumericalLess</a>
+<a id="4484" class="String">&quot;Warning: primFloatNumericalLess was deprecated in Agda v2.6.2.
+Please use primFloatLess instead.&quot;</a>
+<a id="4583" class="Symbol">#-}</a>
+
+<a id="primRound"></a><a id="4588" href="Agda.Builtin.Float.html#4588" class="Function">primRound</a> <a id="4598" class="Symbol">=</a> <a id="4600" href="Agda.Builtin.Float.html#908" class="Primitive">primFloatRound</a>
+<a id="4615" class="Symbol">{-#</a> <a id="4619" class="Keyword">WARNING_ON_USAGE</a> <a id="4636" class="Pragma">primRound</a>
+<a id="4646" class="String">&quot;Warning: primRound was deprecated in Agda v2.6.2.
+Please use primFloatRound instead.&quot;</a>
+<a id="4733" class="Symbol">#-}</a>
+
+<a id="primFloor"></a><a id="4738" href="Agda.Builtin.Float.html#4738" class="Function">primFloor</a> <a id="4748" class="Symbol">=</a> <a id="4750" href="Agda.Builtin.Float.html#957" class="Primitive">primFloatFloor</a>
+<a id="4765" class="Symbol">{-#</a> <a id="4769" class="Keyword">WARNING_ON_USAGE</a> <a id="4786" class="Pragma">primFloor</a>
+<a id="4796" class="String">&quot;Warning: primFloor was deprecated in Agda v2.6.2.
+Please use primFloatFloor instead.&quot;</a>
+<a id="4883" class="Symbol">#-}</a>
+
+<a id="primCeiling"></a><a id="4888" href="Agda.Builtin.Float.html#4888" class="Function">primCeiling</a> <a id="4900" class="Symbol">=</a> <a id="4902" href="Agda.Builtin.Float.html#1006" class="Primitive">primFloatCeiling</a>
+<a id="4919" class="Symbol">{-#</a> <a id="4923" class="Keyword">WARNING_ON_USAGE</a> <a id="4940" class="Pragma">primCeiling</a>
+<a id="4952" class="String">&quot;Warning: primCeiling was deprecated in Agda v2.6.2.
+Please use primFloatCeiling instead.&quot;</a>
+<a id="5043" class="Symbol">#-}</a>
+
+<a id="primExp"></a><a id="5048" href="Agda.Builtin.Float.html#5048" class="Function">primExp</a> <a id="5056" class="Symbol">=</a> <a id="5058" href="Agda.Builtin.Float.html#1696" class="Primitive">primFloatExp</a>
+<a id="5071" class="Symbol">{-#</a> <a id="5075" class="Keyword">WARNING_ON_USAGE</a> <a id="5092" class="Pragma">primExp</a>
+<a id="5100" class="String">&quot;Warning: primExp was deprecated in Agda v2.6.2.
+Please use primFloatExp instead.&quot;</a>
+<a id="5183" class="Symbol">#-}</a>
+
+<a id="primLog"></a><a id="5188" href="Agda.Builtin.Float.html#5188" class="Function">primLog</a> <a id="5196" class="Symbol">=</a> <a id="5198" href="Agda.Builtin.Float.html#1741" class="Primitive">primFloatLog</a>
+<a id="5211" class="Symbol">{-#</a> <a id="5215" class="Keyword">WARNING_ON_USAGE</a> <a id="5232" class="Pragma">primLog</a>
+<a id="5240" class="String">&quot;Warning: primLog was deprecated in Agda v2.6.2.
+Please use primFloatLog instead.&quot;</a>
+<a id="5323" class="Symbol">#-}</a>
+
+<a id="primSin"></a><a id="5328" href="Agda.Builtin.Float.html#5328" class="Function">primSin</a> <a id="5336" class="Symbol">=</a> <a id="5338" href="Agda.Builtin.Float.html#1786" class="Primitive">primFloatSin</a>
+<a id="5351" class="Symbol">{-#</a> <a id="5355" class="Keyword">WARNING_ON_USAGE</a> <a id="5372" class="Pragma">primSin</a>
+<a id="5380" class="String">&quot;Warning: primSin was deprecated in Agda v2.6.2.
+Please use primFloatSin instead.&quot;</a>
+<a id="5463" class="Symbol">#-}</a>
+
+<a id="primCos"></a><a id="5468" href="Agda.Builtin.Float.html#5468" class="Function">primCos</a> <a id="5476" class="Symbol">=</a> <a id="5478" href="Agda.Builtin.Float.html#1831" class="Primitive">primFloatCos</a>
+<a id="5491" class="Symbol">{-#</a> <a id="5495" class="Keyword">WARNING_ON_USAGE</a> <a id="5512" class="Pragma">primCos</a>
+<a id="5520" class="String">&quot;Warning: primCos was deprecated in Agda v2.6.2.
+Please use primFloatCos instead.&quot;</a>
+<a id="5603" class="Symbol">#-}</a>
+
+<a id="primTan"></a><a id="5608" href="Agda.Builtin.Float.html#5608" class="Function">primTan</a> <a id="5616" class="Symbol">=</a> <a id="5618" href="Agda.Builtin.Float.html#1876" class="Primitive">primFloatTan</a>
+<a id="5631" class="Symbol">{-#</a> <a id="5635" class="Keyword">WARNING_ON_USAGE</a> <a id="5652" class="Pragma">primTan</a>
+<a id="5660" class="String">&quot;Warning: primTan was deprecated in Agda v2.6.2.
+Please use primFloatTan instead.&quot;</a>
+<a id="5743" class="Symbol">#-}</a>
+
+<a id="primASin"></a><a id="5748" href="Agda.Builtin.Float.html#5748" class="Function">primASin</a> <a id="5757" class="Symbol">=</a> <a id="5759" href="Agda.Builtin.Float.html#1921" class="Primitive">primFloatASin</a>
+<a id="5773" class="Symbol">{-#</a> <a id="5777" class="Keyword">WARNING_ON_USAGE</a> <a id="5794" class="Pragma">primASin</a>
+<a id="5803" class="String">&quot;Warning: primASin was deprecated in Agda v2.6.2.
+Please use primFloatASin instead.&quot;</a>
+<a id="5888" class="Symbol">#-}</a>
+
+
+<a id="primACos"></a><a id="5894" href="Agda.Builtin.Float.html#5894" class="Function">primACos</a> <a id="5903" class="Symbol">=</a> <a id="5905" href="Agda.Builtin.Float.html#1966" class="Primitive">primFloatACos</a>
+<a id="5919" class="Symbol">{-#</a> <a id="5923" class="Keyword">WARNING_ON_USAGE</a> <a id="5940" class="Pragma">primACos</a>
+<a id="5949" class="String">&quot;Warning: primACos was deprecated in Agda v2.6.2.
+Please use primFloatACos instead.&quot;</a>
+<a id="6034" class="Symbol">#-}</a>
+
+<a id="primATan"></a><a id="6039" href="Agda.Builtin.Float.html#6039" class="Function">primATan</a> <a id="6048" class="Symbol">=</a> <a id="6050" href="Agda.Builtin.Float.html#2011" class="Primitive">primFloatATan</a>
+<a id="6064" class="Symbol">{-#</a> <a id="6068" class="Keyword">WARNING_ON_USAGE</a> <a id="6085" class="Pragma">primATan</a>
+<a id="6094" class="String">&quot;Warning: primATan was deprecated in Agda v2.6.2.
+Please use primFloatATan instead.&quot;</a>
+<a id="6179" class="Symbol">#-}</a>
+
+<a id="primATan2"></a><a id="6184" href="Agda.Builtin.Float.html#6184" class="Function">primATan2</a> <a id="6194" class="Symbol">=</a> <a id="6196" href="Agda.Builtin.Float.html#2056" class="Primitive">primFloatATan2</a>
+<a id="6211" class="Symbol">{-#</a> <a id="6215" class="Keyword">WARNING_ON_USAGE</a> <a id="6232" class="Pragma">primATan2</a>
+<a id="6242" class="String">&quot;Warning: primATan2 was deprecated in Agda v2.6.2.
+Please use primFloatATan2 instead.&quot;</a>
+<a id="6329" class="Symbol">#-}</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.FromNat.html b/lib/Agda.Builtin.FromNat.html
new file mode 100644
index 00000000..acfa25ae
--- /dev/null
+++ b/lib/Agda.Builtin.FromNat.html
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.FromNat</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-sized-types</a> <a id="58" class="Pragma">--no-guardedness</a> <a id="75" class="Pragma">--level-universe</a> <a id="92" class="Symbol">#-}</a>
+
+<a id="97" class="Keyword">module</a> <a id="104" href="Agda.Builtin.FromNat.html" class="Module">Agda.Builtin.FromNat</a> <a id="125" class="Keyword">where</a>
+
+<a id="132" class="Keyword">open</a> <a id="137" class="Keyword">import</a> <a id="144" href="Agda.Primitive.html" class="Module">Agda.Primitive</a>
+<a id="159" class="Keyword">open</a> <a id="164" class="Keyword">import</a> <a id="171" href="Agda.Builtin.Nat.html" class="Module">Agda.Builtin.Nat</a>
+
+<a id="189" class="Keyword">record</a> <a id="Number"></a><a id="196" href="Agda.Builtin.FromNat.html#196" class="Record">Number</a> <a id="203" class="Symbol">{</a><a id="204" href="Agda.Builtin.FromNat.html#204" class="Bound">a</a><a id="205" class="Symbol">}</a> <a id="207" class="Symbol">(</a><a id="208" href="Agda.Builtin.FromNat.html#208" class="Bound">A</a> <a id="210" class="Symbol">:</a> <a id="212" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="216" href="Agda.Builtin.FromNat.html#204" class="Bound">a</a><a id="217" class="Symbol">)</a> <a id="219" class="Symbol">:</a> <a id="221" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="225" class="Symbol">(</a><a id="226" href="Agda.Primitive.html#931" class="Primitive">lsuc</a> <a id="231" href="Agda.Builtin.FromNat.html#204" class="Bound">a</a><a id="232" class="Symbol">)</a> <a id="234" class="Keyword">where</a>
+  <a id="242" class="Keyword">field</a>
+    <a id="Number.Constraint"></a><a id="252" href="Agda.Builtin.FromNat.html#252" class="Field">Constraint</a> <a id="263" class="Symbol">:</a> <a id="265" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="269" class="Symbol">→</a> <a id="271" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="275" href="Agda.Builtin.FromNat.html#204" class="Bound">a</a>
+    <a id="Number.fromNat"></a><a id="281" href="Agda.Builtin.FromNat.html#281" class="Field">fromNat</a> <a id="289" class="Symbol">:</a> <a id="291" class="Symbol">∀</a> <a id="293" href="Agda.Builtin.FromNat.html#293" class="Bound">n</a> <a id="295" class="Symbol">→</a> <a id="297" class="Symbol">{{</a><a id="299" href="Agda.Builtin.FromNat.html#299" class="Bound">_</a> <a id="301" class="Symbol">:</a> <a id="303" href="Agda.Builtin.FromNat.html#252" class="Field">Constraint</a> <a id="314" href="Agda.Builtin.FromNat.html#293" class="Bound">n</a><a id="315" class="Symbol">}}</a> <a id="318" class="Symbol">→</a> <a id="320" href="Agda.Builtin.FromNat.html#208" class="Bound">A</a>
+
+<a id="323" class="Keyword">open</a> <a id="328" href="Agda.Builtin.FromNat.html#196" class="Module">Number</a> <a id="335" class="Symbol">{{...}}</a> <a id="343" class="Keyword">public</a> <a id="350" class="Keyword">using</a> <a id="356" class="Symbol">(</a><a id="357" href="Agda.Builtin.FromNat.html#281" class="Field">fromNat</a><a id="364" class="Symbol">)</a>
+
+<a id="367" class="Symbol">{-#</a> <a id="371" class="Keyword">BUILTIN</a> <a id="379" class="Keyword">FROMNAT</a> <a id="387" href="Agda.Builtin.FromNat.html#281" class="Field">fromNat</a> <a id="395" class="Symbol">#-}</a>
+<a id="399" class="Symbol">{-#</a> <a id="403" class="Keyword">DISPLAY</a> <a id="411" href="Agda.Builtin.FromNat.html#281" class="Field">Number.fromNat</a> <a id="426" class="Pragma">_</a> <a id="428" href="Agda.Builtin.FromNat.html#428" class="Bound">n</a> <a id="430" class="Pragma">=</a> <a id="432" href="Agda.Builtin.FromNat.html#281" class="Field">fromNat</a> <a id="440" href="Agda.Builtin.FromNat.html#428" class="Bound">n</a> <a id="442" class="Symbol">#-}</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.FromNeg.html b/lib/Agda.Builtin.FromNeg.html
new file mode 100644
index 00000000..6253b020
--- /dev/null
+++ b/lib/Agda.Builtin.FromNeg.html
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.FromNeg</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-sized-types</a> <a id="58" class="Pragma">--no-guardedness</a> <a id="75" class="Pragma">--level-universe</a> <a id="92" class="Symbol">#-}</a>
+
+<a id="97" class="Keyword">module</a> <a id="104" href="Agda.Builtin.FromNeg.html" class="Module">Agda.Builtin.FromNeg</a> <a id="125" class="Keyword">where</a>
+
+<a id="132" class="Keyword">open</a> <a id="137" class="Keyword">import</a> <a id="144" href="Agda.Primitive.html" class="Module">Agda.Primitive</a>
+<a id="159" class="Keyword">open</a> <a id="164" class="Keyword">import</a> <a id="171" href="Agda.Builtin.Nat.html" class="Module">Agda.Builtin.Nat</a>
+
+<a id="189" class="Keyword">record</a> <a id="Negative"></a><a id="196" href="Agda.Builtin.FromNeg.html#196" class="Record">Negative</a> <a id="205" class="Symbol">{</a><a id="206" href="Agda.Builtin.FromNeg.html#206" class="Bound">a</a><a id="207" class="Symbol">}</a> <a id="209" class="Symbol">(</a><a id="210" href="Agda.Builtin.FromNeg.html#210" class="Bound">A</a> <a id="212" class="Symbol">:</a> <a id="214" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="218" href="Agda.Builtin.FromNeg.html#206" class="Bound">a</a><a id="219" class="Symbol">)</a> <a id="221" class="Symbol">:</a> <a id="223" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="227" class="Symbol">(</a><a id="228" href="Agda.Primitive.html#931" class="Primitive">lsuc</a> <a id="233" href="Agda.Builtin.FromNeg.html#206" class="Bound">a</a><a id="234" class="Symbol">)</a> <a id="236" class="Keyword">where</a>
+  <a id="244" class="Keyword">field</a>
+    <a id="Negative.Constraint"></a><a id="254" href="Agda.Builtin.FromNeg.html#254" class="Field">Constraint</a> <a id="265" class="Symbol">:</a> <a id="267" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="271" class="Symbol">→</a> <a id="273" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="277" href="Agda.Builtin.FromNeg.html#206" class="Bound">a</a>
+    <a id="Negative.fromNeg"></a><a id="283" href="Agda.Builtin.FromNeg.html#283" class="Field">fromNeg</a> <a id="291" class="Symbol">:</a> <a id="293" class="Symbol">∀</a> <a id="295" href="Agda.Builtin.FromNeg.html#295" class="Bound">n</a> <a id="297" class="Symbol">→</a> <a id="299" class="Symbol">{{</a><a id="301" href="Agda.Builtin.FromNeg.html#301" class="Bound">_</a> <a id="303" class="Symbol">:</a> <a id="305" href="Agda.Builtin.FromNeg.html#254" class="Field">Constraint</a> <a id="316" href="Agda.Builtin.FromNeg.html#295" class="Bound">n</a><a id="317" class="Symbol">}}</a> <a id="320" class="Symbol">→</a> <a id="322" href="Agda.Builtin.FromNeg.html#210" class="Bound">A</a>
+
+<a id="325" class="Keyword">open</a> <a id="330" href="Agda.Builtin.FromNeg.html#196" class="Module">Negative</a> <a id="339" class="Symbol">{{...}}</a> <a id="347" class="Keyword">public</a> <a id="354" class="Keyword">using</a> <a id="360" class="Symbol">(</a><a id="361" href="Agda.Builtin.FromNeg.html#283" class="Field">fromNeg</a><a id="368" class="Symbol">)</a>
+
+<a id="371" class="Symbol">{-#</a> <a id="375" class="Keyword">BUILTIN</a> <a id="383" class="Keyword">FROMNEG</a> <a id="391" href="Agda.Builtin.FromNeg.html#283" class="Field">fromNeg</a> <a id="399" class="Symbol">#-}</a>
+<a id="403" class="Symbol">{-#</a> <a id="407" class="Keyword">DISPLAY</a> <a id="415" href="Agda.Builtin.FromNeg.html#283" class="Field">Negative.fromNeg</a> <a id="432" class="Pragma">_</a> <a id="434" href="Agda.Builtin.FromNeg.html#434" class="Bound">n</a> <a id="436" class="Pragma">=</a> <a id="438" href="Agda.Builtin.FromNeg.html#283" class="Field">fromNeg</a> <a id="446" href="Agda.Builtin.FromNeg.html#434" class="Bound">n</a> <a id="448" class="Symbol">#-}</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.FromString.html b/lib/Agda.Builtin.FromString.html
new file mode 100644
index 00000000..0b9dffdc
--- /dev/null
+++ b/lib/Agda.Builtin.FromString.html
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.FromString</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-sized-types</a> <a id="58" class="Pragma">--no-guardedness</a> <a id="75" class="Pragma">--level-universe</a> <a id="92" class="Symbol">#-}</a>
+
+<a id="97" class="Keyword">module</a> <a id="104" href="Agda.Builtin.FromString.html" class="Module">Agda.Builtin.FromString</a> <a id="128" class="Keyword">where</a>
+
+<a id="135" class="Keyword">open</a> <a id="140" class="Keyword">import</a> <a id="147" href="Agda.Primitive.html" class="Module">Agda.Primitive</a>
+<a id="162" class="Keyword">open</a> <a id="167" class="Keyword">import</a> <a id="174" href="Agda.Builtin.String.html" class="Module">Agda.Builtin.String</a>
+
+<a id="195" class="Keyword">record</a> <a id="IsString"></a><a id="202" href="Agda.Builtin.FromString.html#202" class="Record">IsString</a> <a id="211" class="Symbol">{</a><a id="212" href="Agda.Builtin.FromString.html#212" class="Bound">a</a><a id="213" class="Symbol">}</a> <a id="215" class="Symbol">(</a><a id="216" href="Agda.Builtin.FromString.html#216" class="Bound">A</a> <a id="218" class="Symbol">:</a> <a id="220" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="224" href="Agda.Builtin.FromString.html#212" class="Bound">a</a><a id="225" class="Symbol">)</a> <a id="227" class="Symbol">:</a> <a id="229" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="233" class="Symbol">(</a><a id="234" href="Agda.Primitive.html#931" class="Primitive">lsuc</a> <a id="239" href="Agda.Builtin.FromString.html#212" class="Bound">a</a><a id="240" class="Symbol">)</a> <a id="242" class="Keyword">where</a>
+  <a id="250" class="Keyword">field</a>
+    <a id="IsString.Constraint"></a><a id="260" href="Agda.Builtin.FromString.html#260" class="Field">Constraint</a> <a id="271" class="Symbol">:</a> <a id="273" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="280" class="Symbol">→</a> <a id="282" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="286" href="Agda.Builtin.FromString.html#212" class="Bound">a</a>
+    <a id="IsString.fromString"></a><a id="292" href="Agda.Builtin.FromString.html#292" class="Field">fromString</a> <a id="303" class="Symbol">:</a> <a id="305" class="Symbol">(</a><a id="306" href="Agda.Builtin.FromString.html#306" class="Bound">s</a> <a id="308" class="Symbol">:</a> <a id="310" href="Agda.Builtin.String.html#335" class="Postulate">String</a><a id="316" class="Symbol">)</a> <a id="318" class="Symbol">{{</a><a id="320" href="Agda.Builtin.FromString.html#320" class="Bound">_</a> <a id="322" class="Symbol">:</a> <a id="324" href="Agda.Builtin.FromString.html#260" class="Field">Constraint</a> <a id="335" href="Agda.Builtin.FromString.html#306" class="Bound">s</a><a id="336" class="Symbol">}}</a> <a id="339" class="Symbol">→</a> <a id="341" href="Agda.Builtin.FromString.html#216" class="Bound">A</a>
+
+<a id="344" class="Keyword">open</a> <a id="349" href="Agda.Builtin.FromString.html#202" class="Module">IsString</a> <a id="358" class="Symbol">{{...}}</a> <a id="366" class="Keyword">public</a> <a id="373" class="Keyword">using</a> <a id="379" class="Symbol">(</a><a id="380" href="Agda.Builtin.FromString.html#292" class="Field">fromString</a><a id="390" class="Symbol">)</a>
+
+<a id="393" class="Symbol">{-#</a> <a id="397" class="Keyword">BUILTIN</a> <a id="405" class="Keyword">FROMSTRING</a> <a id="416" href="Agda.Builtin.FromString.html#292" class="Field">fromString</a> <a id="427" class="Symbol">#-}</a>
+<a id="431" class="Symbol">{-#</a> <a id="435" class="Keyword">DISPLAY</a> <a id="443" href="Agda.Builtin.FromString.html#292" class="Field">IsString.fromString</a> <a id="463" class="Pragma">_</a> <a id="465" href="Agda.Builtin.FromString.html#465" class="Bound">s</a> <a id="467" class="Pragma">=</a> <a id="469" href="Agda.Builtin.FromString.html#292" class="Field">fromString</a> <a id="480" href="Agda.Builtin.FromString.html#465" class="Bound">s</a> <a id="482" class="Symbol">#-}</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.Int.html b/lib/Agda.Builtin.Int.html
new file mode 100644
index 00000000..775af21f
--- /dev/null
+++ b/lib/Agda.Builtin.Int.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.Int</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-sized-types</a> <a id="58" class="Pragma">--no-guardedness</a> <a id="75" class="Pragma">--level-universe</a> <a id="92" class="Symbol">#-}</a>
+
+<a id="97" class="Keyword">module</a> <a id="104" href="Agda.Builtin.Int.html" class="Module">Agda.Builtin.Int</a> <a id="121" class="Keyword">where</a>
+
+<a id="128" class="Keyword">open</a> <a id="133" class="Keyword">import</a> <a id="140" href="Agda.Builtin.Nat.html" class="Module">Agda.Builtin.Nat</a>
+<a id="157" class="Keyword">open</a> <a id="162" class="Keyword">import</a> <a id="169" href="Agda.Builtin.String.html" class="Module">Agda.Builtin.String</a>
+
+<a id="190" class="Keyword">infix</a> <a id="196" class="Number">8</a> <a id="198" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>  <a id="203" class="Comment">-- Standard library uses this as +_</a>
+
+<a id="240" class="Keyword">data</a> <a id="Int"></a><a id="245" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a> <a id="249" class="Symbol">:</a> <a id="251" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="255" class="Keyword">where</a>
+  <a id="Int.pos"></a><a id="263" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="270" class="Symbol">:</a> <a id="272" class="Symbol">(</a><a id="273" href="Agda.Builtin.Int.html#273" class="Bound">n</a> <a id="275" class="Symbol">:</a> <a id="277" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="280" class="Symbol">)</a> <a id="282" class="Symbol">→</a> <a id="284" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a>
+  <a id="Int.negsuc"></a><a id="290" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="297" class="Symbol">:</a> <a id="299" class="Symbol">(</a><a id="300" href="Agda.Builtin.Int.html#300" class="Bound">n</a> <a id="302" class="Symbol">:</a> <a id="304" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="307" class="Symbol">)</a> <a id="309" class="Symbol">→</a> <a id="311" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a>
+
+<a id="316" class="Symbol">{-#</a> <a id="320" class="Keyword">BUILTIN</a> <a id="328" class="Keyword">INTEGER</a>       <a id="342" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a>    <a id="349" class="Symbol">#-}</a>
+<a id="353" class="Symbol">{-#</a> <a id="357" class="Keyword">BUILTIN</a> <a id="365" class="Keyword">INTEGERPOS</a>    <a id="379" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="386" class="Symbol">#-}</a>
+<a id="390" class="Symbol">{-#</a> <a id="394" class="Keyword">BUILTIN</a> <a id="402" class="Keyword">INTEGERNEGSUC</a> <a id="416" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="423" class="Symbol">#-}</a>
+
+<a id="428" class="Keyword">primitive</a> <a id="primShowInteger"></a><a id="438" href="Agda.Builtin.Int.html#438" class="Primitive">primShowInteger</a> <a id="454" class="Symbol">:</a> <a id="456" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a> <a id="460" class="Symbol">→</a> <a id="462" href="Agda.Builtin.String.html#335" class="Postulate">String</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.List.html b/lib/Agda.Builtin.List.html
new file mode 100644
index 00000000..add6de61
--- /dev/null
+++ b/lib/Agda.Builtin.List.html
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.List</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-sized-types</a> <a id="58" class="Pragma">--no-guardedness</a> <a id="75" class="Pragma">--level-universe</a> <a id="92" class="Symbol">#-}</a>
+
+<a id="97" class="Keyword">module</a> <a id="104" href="Agda.Builtin.List.html" class="Module">Agda.Builtin.List</a> <a id="122" class="Keyword">where</a>
+
+<a id="129" class="Keyword">infixr</a> <a id="136" class="Number">5</a> <a id="138" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">_∷_</a>
+<a id="142" class="Keyword">data</a> <a id="List"></a><a id="147" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="152" class="Symbol">{</a><a id="153" href="Agda.Builtin.List.html#153" class="Bound">a</a><a id="154" class="Symbol">}</a> <a id="156" class="Symbol">(</a><a id="157" href="Agda.Builtin.List.html#157" class="Bound">A</a> <a id="159" class="Symbol">:</a> <a id="161" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="165" href="Agda.Builtin.List.html#153" class="Bound">a</a><a id="166" class="Symbol">)</a> <a id="168" class="Symbol">:</a> <a id="170" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="174" href="Agda.Builtin.List.html#153" class="Bound">a</a> <a id="176" class="Keyword">where</a>
+  <a id="List.[]"></a><a id="184" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>  <a id="188" class="Symbol">:</a> <a id="190" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="195" href="Agda.Builtin.List.html#157" class="Bound">A</a>
+  <a id="List._∷_"></a><a id="199" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">_∷_</a> <a id="203" class="Symbol">:</a> <a id="205" class="Symbol">(</a><a id="206" href="Agda.Builtin.List.html#206" class="Bound">x</a> <a id="208" class="Symbol">:</a> <a id="210" href="Agda.Builtin.List.html#157" class="Bound">A</a><a id="211" class="Symbol">)</a> <a id="213" class="Symbol">(</a><a id="214" href="Agda.Builtin.List.html#214" class="Bound">xs</a> <a id="217" class="Symbol">:</a> <a id="219" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="224" href="Agda.Builtin.List.html#157" class="Bound">A</a><a id="225" class="Symbol">)</a> <a id="227" class="Symbol">→</a> <a id="229" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="234" href="Agda.Builtin.List.html#157" class="Bound">A</a>
+
+<a id="237" class="Symbol">{-#</a> <a id="241" class="Keyword">BUILTIN</a> <a id="249" class="Keyword">LIST</a> <a id="254" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="259" class="Symbol">#-}</a>
+
+<a id="264" class="Symbol">{-#</a> <a id="268" class="Keyword">COMPILE</a> <a id="276" class="Keyword">JS</a>  <a id="280" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="285" class="Pragma">=</a> <a id="287" class="Pragma">function(x,v)</a> <a id="301" class="Pragma">{</a>
+  <a id="305" class="Pragma">if</a> <a id="308" class="Pragma">(x.length</a> <a id="318" class="Pragma">&lt;</a> <a id="320" class="Pragma">1)</a> <a id="323" class="Pragma">{</a> <a id="325" class="Pragma">return</a> <a id="332" class="Pragma">v[&quot;[]&quot;]();</a> <a id="343" class="Pragma">}</a> <a id="345" class="Pragma">else</a> <a id="350" class="Pragma">{</a> <a id="352" class="Pragma">return</a> <a id="359" class="Pragma">v[&quot;_∷_&quot;](x[0],</a> <a id="374" class="Pragma">x.slice(1));</a> <a id="387" class="Pragma">}</a>
+<a id="389" class="Pragma">}</a> <a id="391" class="Symbol">#-}</a>
+<a id="395" class="Symbol">{-#</a> <a id="399" class="Keyword">COMPILE</a> <a id="407" class="Keyword">JS</a> <a id="410" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="413" class="Pragma">=</a> <a id="415" class="Pragma">Array()</a> <a id="423" class="Symbol">#-}</a>
+<a id="427" class="Symbol">{-#</a> <a id="431" class="Keyword">COMPILE</a> <a id="439" class="Keyword">JS</a> <a id="442" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">_∷_</a> <a id="446" class="Pragma">=</a> <a id="448" class="Pragma">function</a> <a id="457" class="Pragma">(x)</a> <a id="461" class="Pragma">{</a> <a id="463" class="Pragma">return</a> <a id="470" class="Pragma">function(y)</a> <a id="482" class="Pragma">{</a> <a id="484" class="Pragma">return</a> <a id="491" class="Pragma">Array(x).concat(y);</a> <a id="511" class="Pragma">};</a> <a id="514" class="Pragma">}</a> <a id="516" class="Symbol">#-}</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.Maybe.html b/lib/Agda.Builtin.Maybe.html
new file mode 100644
index 00000000..76d37bd3
--- /dev/null
+++ b/lib/Agda.Builtin.Maybe.html
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.Maybe</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-sized-types</a> <a id="58" class="Pragma">--no-guardedness</a> <a id="75" class="Pragma">--level-universe</a> <a id="92" class="Symbol">#-}</a>
+
+<a id="97" class="Keyword">module</a> <a id="104" href="Agda.Builtin.Maybe.html" class="Module">Agda.Builtin.Maybe</a> <a id="123" class="Keyword">where</a>
+
+<a id="130" class="Keyword">data</a> <a id="Maybe"></a><a id="135" href="Agda.Builtin.Maybe.html#135" class="Datatype">Maybe</a> <a id="141" class="Symbol">{</a><a id="142" href="Agda.Builtin.Maybe.html#142" class="Bound">a</a><a id="143" class="Symbol">}</a> <a id="145" class="Symbol">(</a><a id="146" href="Agda.Builtin.Maybe.html#146" class="Bound">A</a> <a id="148" class="Symbol">:</a> <a id="150" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="154" href="Agda.Builtin.Maybe.html#142" class="Bound">a</a><a id="155" class="Symbol">)</a> <a id="157" class="Symbol">:</a> <a id="159" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="163" href="Agda.Builtin.Maybe.html#142" class="Bound">a</a> <a id="165" class="Keyword">where</a>
+  <a id="Maybe.just"></a><a id="173" href="Agda.Builtin.Maybe.html#173" class="InductiveConstructor">just</a> <a id="178" class="Symbol">:</a> <a id="180" href="Agda.Builtin.Maybe.html#146" class="Bound">A</a> <a id="182" class="Symbol">→</a> <a id="184" href="Agda.Builtin.Maybe.html#135" class="Datatype">Maybe</a> <a id="190" href="Agda.Builtin.Maybe.html#146" class="Bound">A</a>
+  <a id="Maybe.nothing"></a><a id="194" href="Agda.Builtin.Maybe.html#194" class="InductiveConstructor">nothing</a> <a id="202" class="Symbol">:</a> <a id="204" href="Agda.Builtin.Maybe.html#135" class="Datatype">Maybe</a> <a id="210" href="Agda.Builtin.Maybe.html#146" class="Bound">A</a>
+
+<a id="213" class="Symbol">{-#</a> <a id="217" class="Keyword">BUILTIN</a> <a id="225" class="Keyword">MAYBE</a> <a id="231" href="Agda.Builtin.Maybe.html#135" class="Datatype">Maybe</a> <a id="237" class="Symbol">#-}</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.Nat.html b/lib/Agda.Builtin.Nat.html
new file mode 100644
index 00000000..6ccb7bda
--- /dev/null
+++ b/lib/Agda.Builtin.Nat.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.Nat</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-universe-polymorphism</a>
+            <a id="80" class="Pragma">--no-sized-types</a> <a id="97" class="Pragma">--no-guardedness</a> <a id="114" class="Pragma">--level-universe</a> <a id="131" class="Symbol">#-}</a>
+
+<a id="136" class="Keyword">module</a> <a id="143" href="Agda.Builtin.Nat.html" class="Module">Agda.Builtin.Nat</a> <a id="160" class="Keyword">where</a>
+
+<a id="167" class="Keyword">open</a> <a id="172" class="Keyword">import</a> <a id="179" href="Agda.Builtin.Bool.html" class="Module">Agda.Builtin.Bool</a>
+
+<a id="198" class="Keyword">data</a> <a id="Nat"></a><a id="203" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="207" class="Symbol">:</a> <a id="209" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="213" class="Keyword">where</a>
+  <a id="Nat.zero"></a><a id="221" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a> <a id="226" class="Symbol">:</a> <a id="228" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="Nat.suc"></a><a id="234" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a>  <a id="239" class="Symbol">:</a> <a id="241" class="Symbol">(</a><a id="242" href="Agda.Builtin.Nat.html#242" class="Bound">n</a> <a id="244" class="Symbol">:</a> <a id="246" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="249" class="Symbol">)</a> <a id="251" class="Symbol">→</a> <a id="253" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+
+<a id="258" class="Symbol">{-#</a> <a id="262" class="Keyword">BUILTIN</a> <a id="270" class="Keyword">NATURAL</a> <a id="278" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="282" class="Symbol">#-}</a>
+
+<a id="287" class="Keyword">infix</a>  <a id="294" class="Number">4</a> <a id="296" href="Agda.Builtin.Nat.html#631" class="Primitive Operator">_==_</a> <a id="301" href="Agda.Builtin.Nat.html#757" class="Primitive Operator">_&lt;_</a>
+<a id="305" class="Keyword">infixl</a> <a id="312" class="Number">6</a> <a id="314" href="Agda.Builtin.Nat.html#336" class="Primitive Operator">_+_</a> <a id="318" href="Agda.Builtin.Nat.html#426" class="Primitive Operator">_-_</a>
+<a id="322" class="Keyword">infixl</a> <a id="329" class="Number">7</a> <a id="331" href="Agda.Builtin.Nat.html#539" class="Primitive Operator">_*_</a>
+
+<a id="_+_"></a><a id="336" href="Agda.Builtin.Nat.html#336" class="Function Operator">_+_</a> <a id="340" class="Symbol">:</a> <a id="342" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="346" class="Symbol">→</a> <a id="348" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="352" class="Symbol">→</a> <a id="354" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+<a id="358" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>  <a id="364" href="Agda.Builtin.Nat.html#336" class="Function Operator">+</a> <a id="366" href="Agda.Builtin.Nat.html#366" class="Bound">m</a> <a id="368" class="Symbol">=</a> <a id="370" href="Agda.Builtin.Nat.html#366" class="Bound">m</a>
+<a id="372" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="376" href="Agda.Builtin.Nat.html#376" class="Bound">n</a> <a id="378" href="Agda.Builtin.Nat.html#336" class="Function Operator">+</a> <a id="380" href="Agda.Builtin.Nat.html#380" class="Bound">m</a> <a id="382" class="Symbol">=</a> <a id="384" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="388" class="Symbol">(</a><a id="389" href="Agda.Builtin.Nat.html#376" class="Bound">n</a> <a id="391" href="Agda.Builtin.Nat.html#336" class="Function Operator">+</a> <a id="393" href="Agda.Builtin.Nat.html#380" class="Bound">m</a><a id="394" class="Symbol">)</a>
+
+<a id="397" class="Symbol">{-#</a> <a id="401" class="Keyword">BUILTIN</a> <a id="409" class="Keyword">NATPLUS</a> <a id="417" href="Agda.Builtin.Nat.html#336" class="Primitive Operator">_+_</a> <a id="421" class="Symbol">#-}</a>
+
+<a id="_-_"></a><a id="426" href="Agda.Builtin.Nat.html#426" class="Function Operator">_-_</a> <a id="430" class="Symbol">:</a> <a id="432" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="436" class="Symbol">→</a> <a id="438" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="442" class="Symbol">→</a> <a id="444" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+<a id="448" href="Agda.Builtin.Nat.html#448" class="Bound">n</a>     <a id="454" href="Agda.Builtin.Nat.html#426" class="Function Operator">-</a> <a id="456" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a> <a id="461" class="Symbol">=</a> <a id="463" href="Agda.Builtin.Nat.html#448" class="Bound">n</a>
+<a id="465" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>  <a id="471" href="Agda.Builtin.Nat.html#426" class="Function Operator">-</a> <a id="473" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="477" href="Agda.Builtin.Nat.html#477" class="Bound">m</a> <a id="479" class="Symbol">=</a> <a id="481" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>
+<a id="486" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="490" href="Agda.Builtin.Nat.html#490" class="Bound">n</a> <a id="492" href="Agda.Builtin.Nat.html#426" class="Function Operator">-</a> <a id="494" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="498" href="Agda.Builtin.Nat.html#498" class="Bound">m</a> <a id="500" class="Symbol">=</a> <a id="502" href="Agda.Builtin.Nat.html#490" class="Bound">n</a> <a id="504" href="Agda.Builtin.Nat.html#426" class="Function Operator">-</a> <a id="506" href="Agda.Builtin.Nat.html#498" class="Bound">m</a>
+
+<a id="509" class="Symbol">{-#</a> <a id="513" class="Keyword">BUILTIN</a> <a id="521" class="Keyword">NATMINUS</a> <a id="530" href="Agda.Builtin.Nat.html#426" class="Primitive Operator">_-_</a> <a id="534" class="Symbol">#-}</a>
+
+<a id="_*_"></a><a id="539" href="Agda.Builtin.Nat.html#539" class="Function Operator">_*_</a> <a id="543" class="Symbol">:</a> <a id="545" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="549" class="Symbol">→</a> <a id="551" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="555" class="Symbol">→</a> <a id="557" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+<a id="561" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>  <a id="567" href="Agda.Builtin.Nat.html#539" class="Function Operator">*</a> <a id="569" href="Agda.Builtin.Nat.html#569" class="Bound">m</a> <a id="571" class="Symbol">=</a> <a id="573" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>
+<a id="578" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="582" href="Agda.Builtin.Nat.html#582" class="Bound">n</a> <a id="584" href="Agda.Builtin.Nat.html#539" class="Function Operator">*</a> <a id="586" href="Agda.Builtin.Nat.html#586" class="Bound">m</a> <a id="588" class="Symbol">=</a> <a id="590" href="Agda.Builtin.Nat.html#586" class="Bound">m</a> <a id="592" href="Agda.Builtin.Nat.html#336" class="Primitive Operator">+</a> <a id="594" href="Agda.Builtin.Nat.html#582" class="Bound">n</a> <a id="596" href="Agda.Builtin.Nat.html#539" class="Function Operator">*</a> <a id="598" href="Agda.Builtin.Nat.html#586" class="Bound">m</a>
+
+<a id="601" class="Symbol">{-#</a> <a id="605" class="Keyword">BUILTIN</a> <a id="613" class="Keyword">NATTIMES</a> <a id="622" href="Agda.Builtin.Nat.html#539" class="Primitive Operator">_*_</a> <a id="626" class="Symbol">#-}</a>
+
+<a id="_==_"></a><a id="631" href="Agda.Builtin.Nat.html#631" class="Function Operator">_==_</a> <a id="636" class="Symbol">:</a> <a id="638" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="642" class="Symbol">→</a> <a id="644" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="648" class="Symbol">→</a> <a id="650" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="655" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>  <a id="661" href="Agda.Builtin.Nat.html#631" class="Function Operator">==</a> <a id="664" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>  <a id="670" class="Symbol">=</a> <a id="672" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>
+<a id="677" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="681" href="Agda.Builtin.Nat.html#681" class="Bound">n</a> <a id="683" href="Agda.Builtin.Nat.html#631" class="Function Operator">==</a> <a id="686" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="690" href="Agda.Builtin.Nat.html#690" class="Bound">m</a> <a id="692" class="Symbol">=</a> <a id="694" href="Agda.Builtin.Nat.html#681" class="Bound">n</a> <a id="696" href="Agda.Builtin.Nat.html#631" class="Function Operator">==</a> <a id="699" href="Agda.Builtin.Nat.html#690" class="Bound">m</a>
+<a id="701" class="CatchallClause Symbol">_</a><a id="702" class="CatchallClause">     </a><a id="707" href="Agda.Builtin.Nat.html#631" class="CatchallClause Function Operator">==</a><a id="709" class="CatchallClause"> </a><a id="710" class="CatchallClause Symbol">_</a>     <a id="716" class="Symbol">=</a> <a id="718" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a>
+
+<a id="725" class="Symbol">{-#</a> <a id="729" class="Keyword">BUILTIN</a> <a id="737" class="Keyword">NATEQUALS</a> <a id="747" href="Agda.Builtin.Nat.html#631" class="Primitive Operator">_==_</a> <a id="752" class="Symbol">#-}</a>
+
+<a id="_&lt;_"></a><a id="757" href="Agda.Builtin.Nat.html#757" class="Function Operator">_&lt;_</a> <a id="761" class="Symbol">:</a> <a id="763" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="767" class="Symbol">→</a> <a id="769" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="773" class="Symbol">→</a> <a id="775" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="780" class="Symbol">_</a>     <a id="786" href="Agda.Builtin.Nat.html#757" class="Function Operator">&lt;</a> <a id="788" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>  <a id="794" class="Symbol">=</a> <a id="796" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a>
+<a id="802" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>  <a id="808" href="Agda.Builtin.Nat.html#757" class="Function Operator">&lt;</a> <a id="810" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="814" class="Symbol">_</a> <a id="816" class="Symbol">=</a> <a id="818" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>
+<a id="823" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="827" href="Agda.Builtin.Nat.html#827" class="Bound">n</a> <a id="829" href="Agda.Builtin.Nat.html#757" class="Function Operator">&lt;</a> <a id="831" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="835" href="Agda.Builtin.Nat.html#835" class="Bound">m</a> <a id="837" class="Symbol">=</a> <a id="839" href="Agda.Builtin.Nat.html#827" class="Bound">n</a> <a id="841" href="Agda.Builtin.Nat.html#757" class="Function Operator">&lt;</a> <a id="843" href="Agda.Builtin.Nat.html#835" class="Bound">m</a>
+
+<a id="846" class="Symbol">{-#</a> <a id="850" class="Keyword">BUILTIN</a> <a id="858" class="Keyword">NATLESS</a> <a id="866" href="Agda.Builtin.Nat.html#757" class="Primitive Operator">_&lt;_</a> <a id="870" class="Symbol">#-}</a>
+
+<a id="875" class="Comment">-- Helper function  div-helper  for Euclidean division.</a>
+<a id="931" class="Comment">---------------------------------------------------------------------------</a>
+<a id="1007" class="Comment">--</a>
+<a id="1010" class="Comment">-- div-helper computes n / 1+m via iteration on n.</a>
+<a id="1061" class="Comment">--</a>
+<a id="1064" class="Comment">--   n div (suc m) = div-helper 0 m n m</a>
+<a id="1104" class="Comment">--</a>
+<a id="1107" class="Comment">-- The state of the iterator has two accumulator variables:</a>
+<a id="1167" class="Comment">--</a>
+<a id="1170" class="Comment">--   k: The quotient, returned once n=0.  Initialized to 0.</a>
+<a id="1230" class="Comment">--</a>
+<a id="1233" class="Comment">--   j: A counter, initialized to the divisor m, decreased on each iteration step.</a>
+<a id="1316" class="Comment">--      Once it reaches 0, the quotient k is increased and j reset to m,</a>
+<a id="1389" class="Comment">--      starting the next countdown.</a>
+<a id="1426" class="Comment">--</a>
+<a id="1429" class="Comment">-- Under the precondition j ≤ m, the invariant is</a>
+<a id="1479" class="Comment">--</a>
+<a id="1482" class="Comment">--   div-helper k m n j = k + (n + m - j) div (1 + m)</a>
+
+<a id="div-helper"></a><a id="1537" href="Agda.Builtin.Nat.html#1537" class="Function">div-helper</a> <a id="1548" class="Symbol">:</a> <a id="1550" class="Symbol">(</a><a id="1551" href="Agda.Builtin.Nat.html#1551" class="Bound">k</a> <a id="1553" href="Agda.Builtin.Nat.html#1553" class="Bound">m</a> <a id="1555" href="Agda.Builtin.Nat.html#1555" class="Bound">n</a> <a id="1557" href="Agda.Builtin.Nat.html#1557" class="Bound">j</a> <a id="1559" class="Symbol">:</a> <a id="1561" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="1564" class="Symbol">)</a> <a id="1566" class="Symbol">→</a> <a id="1568" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+<a id="1572" href="Agda.Builtin.Nat.html#1537" class="Function">div-helper</a> <a id="1583" href="Agda.Builtin.Nat.html#1583" class="Bound">k</a> <a id="1585" href="Agda.Builtin.Nat.html#1585" class="Bound">m</a>  <a id="1588" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>    <a id="1596" href="Agda.Builtin.Nat.html#1596" class="Bound">j</a>      <a id="1603" class="Symbol">=</a> <a id="1605" href="Agda.Builtin.Nat.html#1583" class="Bound">k</a>
+<a id="1607" href="Agda.Builtin.Nat.html#1537" class="Function">div-helper</a> <a id="1618" href="Agda.Builtin.Nat.html#1618" class="Bound">k</a> <a id="1620" href="Agda.Builtin.Nat.html#1620" class="Bound">m</a> <a id="1622" class="Symbol">(</a><a id="1623" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1627" href="Agda.Builtin.Nat.html#1627" class="Bound">n</a><a id="1628" class="Symbol">)</a>  <a id="1631" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>   <a id="1638" class="Symbol">=</a> <a id="1640" href="Agda.Builtin.Nat.html#1537" class="Function">div-helper</a> <a id="1651" class="Symbol">(</a><a id="1652" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1656" href="Agda.Builtin.Nat.html#1618" class="Bound">k</a><a id="1657" class="Symbol">)</a> <a id="1659" href="Agda.Builtin.Nat.html#1620" class="Bound">m</a> <a id="1661" href="Agda.Builtin.Nat.html#1627" class="Bound">n</a> <a id="1663" href="Agda.Builtin.Nat.html#1620" class="Bound">m</a>
+<a id="1665" href="Agda.Builtin.Nat.html#1537" class="Function">div-helper</a> <a id="1676" href="Agda.Builtin.Nat.html#1676" class="Bound">k</a> <a id="1678" href="Agda.Builtin.Nat.html#1678" class="Bound">m</a> <a id="1680" class="Symbol">(</a><a id="1681" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1685" href="Agda.Builtin.Nat.html#1685" class="Bound">n</a><a id="1686" class="Symbol">)</a> <a id="1688" class="Symbol">(</a><a id="1689" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1693" href="Agda.Builtin.Nat.html#1693" class="Bound">j</a><a id="1694" class="Symbol">)</a> <a id="1696" class="Symbol">=</a> <a id="1698" href="Agda.Builtin.Nat.html#1537" class="Function">div-helper</a> <a id="1709" href="Agda.Builtin.Nat.html#1676" class="Bound">k</a>       <a id="1717" href="Agda.Builtin.Nat.html#1678" class="Bound">m</a> <a id="1719" href="Agda.Builtin.Nat.html#1685" class="Bound">n</a> <a id="1721" href="Agda.Builtin.Nat.html#1693" class="Bound">j</a>
+
+<a id="1724" class="Symbol">{-#</a> <a id="1728" class="Keyword">BUILTIN</a> <a id="1736" class="Keyword">NATDIVSUCAUX</a> <a id="1749" href="Agda.Builtin.Nat.html#1537" class="Primitive">div-helper</a> <a id="1760" class="Symbol">#-}</a>
+
+<a id="1765" class="Comment">-- Proof of the invariant by induction on n.</a>
+<a id="1810" class="Comment">--</a>
+<a id="1813" class="Comment">--   clause 1: div-helper k m 0 j</a>
+<a id="1847" class="Comment">--           = k                                        by definition</a>
+<a id="1917" class="Comment">--           = k + (0 + m - j) div (1 + m)              since m - j &lt; 1 + m</a>
+<a id="1993" class="Comment">--</a>
+<a id="1996" class="Comment">--   clause 2: div-helper k m (1 + n) 0</a>
+<a id="2036" class="Comment">--           = div-helper (1 + k) m n m                 by definition</a>
+<a id="2106" class="Comment">--           = 1 + k + (n + m - m) div (1 + m)          by induction hypothesis</a>
+<a id="2186" class="Comment">--           = 1 + k +          n  div (1 + m)          by simplification</a>
+<a id="2260" class="Comment">--           = k +   (n + (1 + m)) div (1 + m)          by expansion</a>
+<a id="2329" class="Comment">--           = k + (1 + n + m - 0) div (1 + m)          by expansion</a>
+<a id="2398" class="Comment">--</a>
+<a id="2401" class="Comment">--   clause 3: div-helper k m (1 + n) (1 + j)</a>
+<a id="2447" class="Comment">--           = div-helper k m n j                       by definition</a>
+<a id="2517" class="Comment">--           = k + (n + m - j) div (1 + m)              by induction hypothesis</a>
+<a id="2597" class="Comment">--           = k + ((1 + n) + m - (1 + j)) div (1 + m)  by expansion</a>
+<a id="2666" class="Comment">--</a>
+<a id="2669" class="Comment">-- Q.e.d.</a>
+
+<a id="2680" class="Comment">-- Helper function  mod-helper  for the remainder computation.</a>
+<a id="2743" class="Comment">---------------------------------------------------------------------------</a>
+<a id="2819" class="Comment">--</a>
+<a id="2822" class="Comment">-- (Analogous to div-helper.)</a>
+<a id="2852" class="Comment">--</a>
+<a id="2855" class="Comment">-- mod-helper computes n % 1+m via iteration on n.</a>
+<a id="2906" class="Comment">--</a>
+<a id="2909" class="Comment">--   n mod (suc m) = mod-helper 0 m n m</a>
+<a id="2949" class="Comment">--</a>
+<a id="2952" class="Comment">-- The invariant is:</a>
+<a id="2973" class="Comment">--</a>
+<a id="2976" class="Comment">--   m = k + j  ==&gt;  mod-helper k m n j = (n + k) mod (1 + m).</a>
+
+<a id="mod-helper"></a><a id="3040" href="Agda.Builtin.Nat.html#3040" class="Function">mod-helper</a> <a id="3051" class="Symbol">:</a> <a id="3053" class="Symbol">(</a><a id="3054" href="Agda.Builtin.Nat.html#3054" class="Bound">k</a> <a id="3056" href="Agda.Builtin.Nat.html#3056" class="Bound">m</a> <a id="3058" href="Agda.Builtin.Nat.html#3058" class="Bound">n</a> <a id="3060" href="Agda.Builtin.Nat.html#3060" class="Bound">j</a> <a id="3062" class="Symbol">:</a> <a id="3064" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="3067" class="Symbol">)</a> <a id="3069" class="Symbol">→</a> <a id="3071" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+<a id="3075" href="Agda.Builtin.Nat.html#3040" class="Function">mod-helper</a> <a id="3086" href="Agda.Builtin.Nat.html#3086" class="Bound">k</a> <a id="3088" href="Agda.Builtin.Nat.html#3088" class="Bound">m</a>  <a id="3091" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>    <a id="3099" href="Agda.Builtin.Nat.html#3099" class="Bound">j</a>      <a id="3106" class="Symbol">=</a> <a id="3108" href="Agda.Builtin.Nat.html#3086" class="Bound">k</a>
+<a id="3110" href="Agda.Builtin.Nat.html#3040" class="Function">mod-helper</a> <a id="3121" href="Agda.Builtin.Nat.html#3121" class="Bound">k</a> <a id="3123" href="Agda.Builtin.Nat.html#3123" class="Bound">m</a> <a id="3125" class="Symbol">(</a><a id="3126" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="3130" href="Agda.Builtin.Nat.html#3130" class="Bound">n</a><a id="3131" class="Symbol">)</a>  <a id="3134" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>   <a id="3141" class="Symbol">=</a> <a id="3143" href="Agda.Builtin.Nat.html#3040" class="Function">mod-helper</a> <a id="3154" class="Number">0</a>       <a id="3162" href="Agda.Builtin.Nat.html#3123" class="Bound">m</a> <a id="3164" href="Agda.Builtin.Nat.html#3130" class="Bound">n</a> <a id="3166" href="Agda.Builtin.Nat.html#3123" class="Bound">m</a>
+<a id="3168" href="Agda.Builtin.Nat.html#3040" class="Function">mod-helper</a> <a id="3179" href="Agda.Builtin.Nat.html#3179" class="Bound">k</a> <a id="3181" href="Agda.Builtin.Nat.html#3181" class="Bound">m</a> <a id="3183" class="Symbol">(</a><a id="3184" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="3188" href="Agda.Builtin.Nat.html#3188" class="Bound">n</a><a id="3189" class="Symbol">)</a> <a id="3191" class="Symbol">(</a><a id="3192" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="3196" href="Agda.Builtin.Nat.html#3196" class="Bound">j</a><a id="3197" class="Symbol">)</a> <a id="3199" class="Symbol">=</a> <a id="3201" href="Agda.Builtin.Nat.html#3040" class="Function">mod-helper</a> <a id="3212" class="Symbol">(</a><a id="3213" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="3217" href="Agda.Builtin.Nat.html#3179" class="Bound">k</a><a id="3218" class="Symbol">)</a> <a id="3220" href="Agda.Builtin.Nat.html#3181" class="Bound">m</a> <a id="3222" href="Agda.Builtin.Nat.html#3188" class="Bound">n</a> <a id="3224" href="Agda.Builtin.Nat.html#3196" class="Bound">j</a>
+
+<a id="3227" class="Symbol">{-#</a> <a id="3231" class="Keyword">BUILTIN</a> <a id="3239" class="Keyword">NATMODSUCAUX</a> <a id="3252" href="Agda.Builtin.Nat.html#3040" class="Primitive">mod-helper</a> <a id="3263" class="Symbol">#-}</a>
+
+<a id="3268" class="Comment">-- Proof of the invariant by induction on n.</a>
+<a id="3313" class="Comment">--</a>
+<a id="3316" class="Comment">--   clause 1: mod-helper k m 0 j</a>
+<a id="3350" class="Comment">--           = k                               by definition</a>
+<a id="3411" class="Comment">--           = (0 + k) mod (1 + m)             since m = k + j, thus k &lt; m</a>
+<a id="3486" class="Comment">--</a>
+<a id="3489" class="Comment">--   clause 2: mod-helper k m (1 + n) 0</a>
+<a id="3529" class="Comment">--           = mod-helper 0 m n m              by definition</a>
+<a id="3590" class="Comment">--           = (n + 0)       mod (1 + m)       by induction hypothesis</a>
+<a id="3661" class="Comment">--           = (n + (1 + m)) mod (1 + m)       by expansion</a>
+<a id="3721" class="Comment">--           = (1 + n) + k)  mod (1 + m)       since k = m (as l = 0)</a>
+<a id="3791" class="Comment">--</a>
+<a id="3794" class="Comment">--   clause 3: mod-helper k m (1 + n) (1 + j)</a>
+<a id="3840" class="Comment">--           = mod-helper (1 + k) m n j        by definition</a>
+<a id="3901" class="Comment">--           = (n + (1 + k)) mod (1 + m)       by induction hypothesis</a>
+<a id="3972" class="Comment">--           = ((1 + n) + k) mod (1 + m)       by commutativity</a>
+<a id="4036" class="Comment">--</a>
+<a id="4039" class="Comment">-- Q.e.d.</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.Reflection.html b/lib/Agda.Builtin.Reflection.html
new file mode 100644
index 00000000..e516a77e
--- /dev/null
+++ b/lib/Agda.Builtin.Reflection.html
@@ -0,0 +1,472 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.Reflection</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-sized-types</a> <a id="58" class="Pragma">--no-guardedness</a> <a id="75" class="Pragma">--level-universe</a> <a id="92" class="Symbol">#-}</a>
+
+<a id="97" class="Keyword">module</a> <a id="104" href="Agda.Builtin.Reflection.html" class="Module">Agda.Builtin.Reflection</a> <a id="128" class="Keyword">where</a>
+
+<a id="135" class="Keyword">open</a> <a id="140" class="Keyword">import</a> <a id="147" href="Agda.Builtin.Unit.html" class="Module">Agda.Builtin.Unit</a>
+<a id="165" class="Keyword">open</a> <a id="170" class="Keyword">import</a> <a id="177" href="Agda.Builtin.Bool.html" class="Module">Agda.Builtin.Bool</a>
+<a id="195" class="Keyword">open</a> <a id="200" class="Keyword">import</a> <a id="207" href="Agda.Builtin.Nat.html" class="Module">Agda.Builtin.Nat</a>
+<a id="224" class="Keyword">open</a> <a id="229" class="Keyword">import</a> <a id="236" href="Agda.Builtin.Word.html" class="Module">Agda.Builtin.Word</a>
+<a id="254" class="Keyword">open</a> <a id="259" class="Keyword">import</a> <a id="266" href="Agda.Builtin.List.html" class="Module">Agda.Builtin.List</a>
+<a id="284" class="Keyword">open</a> <a id="289" class="Keyword">import</a> <a id="296" href="Agda.Builtin.String.html" class="Module">Agda.Builtin.String</a>
+<a id="316" class="Keyword">open</a> <a id="321" class="Keyword">import</a> <a id="328" href="Agda.Builtin.Char.html" class="Module">Agda.Builtin.Char</a>
+<a id="346" class="Keyword">open</a> <a id="351" class="Keyword">import</a> <a id="358" href="Agda.Builtin.Float.html" class="Module">Agda.Builtin.Float</a>
+<a id="377" class="Keyword">open</a> <a id="382" class="Keyword">import</a> <a id="389" href="Agda.Builtin.Int.html" class="Module">Agda.Builtin.Int</a>
+<a id="406" class="Keyword">open</a> <a id="411" class="Keyword">import</a> <a id="418" href="Agda.Builtin.Sigma.html" class="Module">Agda.Builtin.Sigma</a>
+<a id="437" class="Keyword">open</a> <a id="442" class="Keyword">import</a> <a id="449" href="Agda.Primitive.html" class="Module">Agda.Primitive</a>
+
+<a id="465" class="Comment">-- Names --</a>
+
+<a id="478" class="Keyword">postulate</a> <a id="Name"></a><a id="488" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="493" class="Symbol">:</a> <a id="495" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="499" class="Symbol">{-#</a> <a id="503" class="Keyword">BUILTIN</a> <a id="511" class="Keyword">QNAME</a> <a id="517" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="522" class="Symbol">#-}</a>
+
+<a id="527" class="Keyword">primitive</a>
+  <a id="primQNameEquality"></a><a id="539" href="Agda.Builtin.Reflection.html#539" class="Primitive">primQNameEquality</a> <a id="557" class="Symbol">:</a> <a id="559" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="564" class="Symbol">→</a> <a id="566" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="571" class="Symbol">→</a> <a id="573" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="primQNameLess"></a><a id="580" href="Agda.Builtin.Reflection.html#580" class="Primitive">primQNameLess</a>     <a id="598" class="Symbol">:</a> <a id="600" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="605" class="Symbol">→</a> <a id="607" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="612" class="Symbol">→</a> <a id="614" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="primShowQName"></a><a id="621" href="Agda.Builtin.Reflection.html#621" class="Primitive">primShowQName</a>     <a id="639" class="Symbol">:</a> <a id="641" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="646" class="Symbol">→</a> <a id="648" href="Agda.Builtin.String.html#335" class="Postulate">String</a>
+
+<a id="656" class="Comment">-- Fixity --</a>
+
+<a id="670" class="Keyword">data</a> <a id="Associativity"></a><a id="675" href="Agda.Builtin.Reflection.html#675" class="Datatype">Associativity</a> <a id="689" class="Symbol">:</a> <a id="691" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="695" class="Keyword">where</a>
+  <a id="Associativity.left-assoc"></a><a id="703" href="Agda.Builtin.Reflection.html#703" class="InductiveConstructor">left-assoc</a>  <a id="715" class="Symbol">:</a> <a id="717" href="Agda.Builtin.Reflection.html#675" class="Datatype">Associativity</a>
+  <a id="Associativity.right-assoc"></a><a id="733" href="Agda.Builtin.Reflection.html#733" class="InductiveConstructor">right-assoc</a> <a id="745" class="Symbol">:</a> <a id="747" href="Agda.Builtin.Reflection.html#675" class="Datatype">Associativity</a>
+  <a id="Associativity.non-assoc"></a><a id="763" href="Agda.Builtin.Reflection.html#763" class="InductiveConstructor">non-assoc</a>   <a id="775" class="Symbol">:</a> <a id="777" href="Agda.Builtin.Reflection.html#675" class="Datatype">Associativity</a>
+
+<a id="792" class="Keyword">data</a> <a id="Precedence"></a><a id="797" href="Agda.Builtin.Reflection.html#797" class="Datatype">Precedence</a> <a id="808" class="Symbol">:</a> <a id="810" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="814" class="Keyword">where</a>
+  <a id="Precedence.related"></a><a id="822" href="Agda.Builtin.Reflection.html#822" class="InductiveConstructor">related</a>   <a id="832" class="Symbol">:</a> <a id="834" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="840" class="Symbol">→</a> <a id="842" href="Agda.Builtin.Reflection.html#797" class="Datatype">Precedence</a>
+  <a id="Precedence.unrelated"></a><a id="855" href="Agda.Builtin.Reflection.html#855" class="InductiveConstructor">unrelated</a> <a id="865" class="Symbol">:</a> <a id="867" href="Agda.Builtin.Reflection.html#797" class="Datatype">Precedence</a>
+
+<a id="879" class="Keyword">data</a> <a id="Fixity"></a><a id="884" href="Agda.Builtin.Reflection.html#884" class="Datatype">Fixity</a> <a id="891" class="Symbol">:</a> <a id="893" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="897" class="Keyword">where</a>
+  <a id="Fixity.fixity"></a><a id="905" href="Agda.Builtin.Reflection.html#905" class="InductiveConstructor">fixity</a> <a id="912" class="Symbol">:</a> <a id="914" href="Agda.Builtin.Reflection.html#675" class="Datatype">Associativity</a> <a id="928" class="Symbol">→</a> <a id="930" href="Agda.Builtin.Reflection.html#797" class="Datatype">Precedence</a> <a id="941" class="Symbol">→</a> <a id="943" href="Agda.Builtin.Reflection.html#884" class="Datatype">Fixity</a>
+
+<a id="951" class="Symbol">{-#</a> <a id="955" class="Keyword">BUILTIN</a> <a id="963" class="Keyword">ASSOC</a>      <a id="974" href="Agda.Builtin.Reflection.html#675" class="Datatype">Associativity</a> <a id="988" class="Symbol">#-}</a>
+<a id="992" class="Symbol">{-#</a> <a id="996" class="Keyword">BUILTIN</a> <a id="1004" class="Keyword">ASSOCLEFT</a>  <a id="1015" href="Agda.Builtin.Reflection.html#703" class="InductiveConstructor">left-assoc</a>    <a id="1029" class="Symbol">#-}</a>
+<a id="1033" class="Symbol">{-#</a> <a id="1037" class="Keyword">BUILTIN</a> <a id="1045" class="Keyword">ASSOCRIGHT</a> <a id="1056" href="Agda.Builtin.Reflection.html#733" class="InductiveConstructor">right-assoc</a>   <a id="1070" class="Symbol">#-}</a>
+<a id="1074" class="Symbol">{-#</a> <a id="1078" class="Keyword">BUILTIN</a> <a id="1086" class="Keyword">ASSOCNON</a>   <a id="1097" href="Agda.Builtin.Reflection.html#763" class="InductiveConstructor">non-assoc</a>     <a id="1111" class="Symbol">#-}</a>
+
+<a id="1116" class="Symbol">{-#</a> <a id="1120" class="Keyword">BUILTIN</a> <a id="1128" class="Keyword">PRECEDENCE</a>    <a id="1142" href="Agda.Builtin.Reflection.html#797" class="Datatype">Precedence</a> <a id="1153" class="Symbol">#-}</a>
+<a id="1157" class="Symbol">{-#</a> <a id="1161" class="Keyword">BUILTIN</a> <a id="1169" class="Keyword">PRECRELATED</a>   <a id="1183" href="Agda.Builtin.Reflection.html#822" class="InductiveConstructor">related</a>    <a id="1194" class="Symbol">#-}</a>
+<a id="1198" class="Symbol">{-#</a> <a id="1202" class="Keyword">BUILTIN</a> <a id="1210" class="Keyword">PRECUNRELATED</a> <a id="1224" href="Agda.Builtin.Reflection.html#855" class="InductiveConstructor">unrelated</a>  <a id="1235" class="Symbol">#-}</a>
+
+<a id="1240" class="Symbol">{-#</a> <a id="1244" class="Keyword">BUILTIN</a> <a id="1252" class="Keyword">FIXITY</a>       <a id="1265" href="Agda.Builtin.Reflection.html#884" class="Datatype">Fixity</a> <a id="1272" class="Symbol">#-}</a>
+<a id="1276" class="Symbol">{-#</a> <a id="1280" class="Keyword">BUILTIN</a> <a id="1288" class="Keyword">FIXITYFIXITY</a> <a id="1301" href="Agda.Builtin.Reflection.html#905" class="InductiveConstructor">fixity</a> <a id="1308" class="Symbol">#-}</a>
+
+<a id="1313" class="Symbol">{-#</a> <a id="1317" class="Keyword">COMPILE</a> <a id="1325" class="Keyword">GHC</a> <a id="1329" href="Agda.Builtin.Reflection.html#675" class="Datatype">Associativity</a> <a id="1343" class="Pragma">=</a> <a id="1345" class="Pragma">data</a> <a id="1350" class="Pragma">MAlonzo.RTE.Assoc</a> <a id="1368" class="Pragma">(MAlonzo.RTE.LeftAssoc</a> <a id="1391" class="Pragma">|</a> <a id="1393" class="Pragma">MAlonzo.RTE.RightAssoc</a> <a id="1416" class="Pragma">|</a> <a id="1418" class="Pragma">MAlonzo.RTE.NonAssoc)</a> <a id="1440" class="Symbol">#-}</a>
+<a id="1444" class="Symbol">{-#</a> <a id="1448" class="Keyword">COMPILE</a> <a id="1456" class="Keyword">GHC</a> <a id="1460" href="Agda.Builtin.Reflection.html#797" class="Datatype">Precedence</a>    <a id="1474" class="Pragma">=</a> <a id="1476" class="Pragma">data</a> <a id="1481" class="Pragma">MAlonzo.RTE.Precedence</a> <a id="1504" class="Pragma">(MAlonzo.RTE.Related</a> <a id="1525" class="Pragma">|</a> <a id="1527" class="Pragma">MAlonzo.RTE.Unrelated)</a> <a id="1550" class="Symbol">#-}</a>
+<a id="1554" class="Symbol">{-#</a> <a id="1558" class="Keyword">COMPILE</a> <a id="1566" class="Keyword">GHC</a> <a id="1570" href="Agda.Builtin.Reflection.html#884" class="Datatype">Fixity</a>        <a id="1584" class="Pragma">=</a> <a id="1586" class="Pragma">data</a> <a id="1591" class="Pragma">MAlonzo.RTE.Fixity</a> <a id="1610" class="Pragma">(MAlonzo.RTE.Fixity)</a> <a id="1631" class="Symbol">#-}</a>
+
+<a id="1636" class="Symbol">{-#</a> <a id="1640" class="Keyword">COMPILE</a> <a id="1648" class="Keyword">JS</a> <a id="1651" href="Agda.Builtin.Reflection.html#675" class="Datatype">Associativity</a>  <a id="1666" class="Pragma">=</a> <a id="1668" class="Pragma">function</a> <a id="1677" class="Pragma">(x,v)</a> <a id="1683" class="Pragma">{</a> <a id="1685" class="Pragma">return</a> <a id="1692" class="Pragma">v[x]();</a> <a id="1700" class="Pragma">}</a> <a id="1702" class="Symbol">#-}</a>
+<a id="1706" class="Symbol">{-#</a> <a id="1710" class="Keyword">COMPILE</a> <a id="1718" class="Keyword">JS</a> <a id="1721" href="Agda.Builtin.Reflection.html#703" class="InductiveConstructor">left-assoc</a>     <a id="1736" class="Pragma">=</a> <a id="1738" class="Pragma">&quot;left-assoc&quot;</a>  <a id="1752" class="Symbol">#-}</a>
+<a id="1756" class="Symbol">{-#</a> <a id="1760" class="Keyword">COMPILE</a> <a id="1768" class="Keyword">JS</a> <a id="1771" href="Agda.Builtin.Reflection.html#733" class="InductiveConstructor">right-assoc</a>    <a id="1786" class="Pragma">=</a> <a id="1788" class="Pragma">&quot;right-assoc&quot;</a> <a id="1802" class="Symbol">#-}</a>
+<a id="1806" class="Symbol">{-#</a> <a id="1810" class="Keyword">COMPILE</a> <a id="1818" class="Keyword">JS</a> <a id="1821" href="Agda.Builtin.Reflection.html#763" class="InductiveConstructor">non-assoc</a>      <a id="1836" class="Pragma">=</a> <a id="1838" class="Pragma">&quot;non-assoc&quot;</a>   <a id="1852" class="Symbol">#-}</a>
+
+<a id="1857" class="Symbol">{-#</a> <a id="1861" class="Keyword">COMPILE</a> <a id="1869" class="Keyword">JS</a> <a id="1872" href="Agda.Builtin.Reflection.html#797" class="Datatype">Precedence</a>     <a id="1887" class="Pragma">=</a>
+  <a id="1891" class="Pragma">function</a> <a id="1900" class="Pragma">(x,v)</a> <a id="1906" class="Pragma">{</a>
+    <a id="1912" class="Pragma">if</a> <a id="1915" class="Pragma">(x</a> <a id="1918" class="Pragma">===</a> <a id="1922" class="Pragma">&quot;unrelated&quot;)</a> <a id="1935" class="Pragma">{</a> <a id="1937" class="Pragma">return</a> <a id="1944" class="Pragma">v[x]();</a> <a id="1952" class="Pragma">}</a> <a id="1954" class="Pragma">else</a> <a id="1959" class="Pragma">{</a> <a id="1961" class="Pragma">return</a> <a id="1968" class="Pragma">v[&quot;related&quot;](x);</a> <a id="1985" class="Pragma">}}</a> <a id="1988" class="Symbol">#-}</a>
+<a id="1992" class="Symbol">{-#</a> <a id="1996" class="Keyword">COMPILE</a> <a id="2004" class="Keyword">JS</a> <a id="2007" href="Agda.Builtin.Reflection.html#822" class="InductiveConstructor">related</a>        <a id="2022" class="Pragma">=</a> <a id="2024" class="Pragma">function(x)</a> <a id="2036" class="Pragma">{</a> <a id="2038" class="Pragma">return</a> <a id="2045" class="Pragma">x;</a> <a id="2048" class="Pragma">}</a> <a id="2050" class="Symbol">#-}</a>
+<a id="2054" class="Symbol">{-#</a> <a id="2058" class="Keyword">COMPILE</a> <a id="2066" class="Keyword">JS</a> <a id="2069" href="Agda.Builtin.Reflection.html#855" class="InductiveConstructor">unrelated</a>      <a id="2084" class="Pragma">=</a> <a id="2086" class="Pragma">&quot;unrelated&quot;</a>               <a id="2112" class="Symbol">#-}</a>
+
+<a id="2117" class="Symbol">{-#</a> <a id="2121" class="Keyword">COMPILE</a> <a id="2129" class="Keyword">JS</a> <a id="2132" href="Agda.Builtin.Reflection.html#884" class="Datatype">Fixity</a>         <a id="2147" class="Pragma">=</a> <a id="2149" class="Pragma">function</a> <a id="2158" class="Pragma">(x,v)</a> <a id="2164" class="Pragma">{</a> <a id="2166" class="Pragma">return</a> <a id="2173" class="Pragma">v[&quot;fixity&quot;](x[&quot;assoc&quot;],</a> <a id="2197" class="Pragma">x[&quot;prec&quot;]);</a> <a id="2209" class="Pragma">}</a> <a id="2211" class="Symbol">#-}</a>
+<a id="2215" class="Symbol">{-#</a> <a id="2219" class="Keyword">COMPILE</a> <a id="2227" class="Keyword">JS</a> <a id="2230" href="Agda.Builtin.Reflection.html#905" class="InductiveConstructor">fixity</a>         <a id="2245" class="Pragma">=</a> <a id="2247" class="Pragma">function</a> <a id="2256" class="Pragma">(x)</a> <a id="2260" class="Pragma">{</a> <a id="2262" class="Pragma">return</a> <a id="2269" class="Pragma">function</a> <a id="2278" class="Pragma">(y)</a> <a id="2282" class="Pragma">{</a> <a id="2284" class="Pragma">return</a> <a id="2291" class="Pragma">{</a> <a id="2293" class="Pragma">&quot;assoc&quot;:</a> <a id="2302" class="Pragma">x,</a> <a id="2305" class="Pragma">&quot;prec&quot;:</a> <a id="2313" class="Pragma">y};</a> <a id="2317" class="Pragma">};</a> <a id="2320" class="Pragma">}</a> <a id="2322" class="Symbol">#-}</a>
+
+<a id="2327" class="Keyword">primitive</a>
+  <a id="primQNameFixity"></a><a id="2339" href="Agda.Builtin.Reflection.html#2339" class="Primitive">primQNameFixity</a> <a id="2355" class="Symbol">:</a> <a id="2357" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="2362" class="Symbol">→</a> <a id="2364" href="Agda.Builtin.Reflection.html#884" class="Datatype">Fixity</a>
+  <a id="primQNameToWord64s"></a><a id="2373" href="Agda.Builtin.Reflection.html#2373" class="Primitive">primQNameToWord64s</a> <a id="2392" class="Symbol">:</a> <a id="2394" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="2399" class="Symbol">→</a> <a id="2401" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a> <a id="2403" href="Agda.Builtin.Word.html#208" class="Postulate">Word64</a> <a id="2410" class="Symbol">(λ</a> <a id="2413" href="Agda.Builtin.Reflection.html#2413" class="Bound">_</a> <a id="2415" class="Symbol">→</a> <a id="2417" href="Agda.Builtin.Word.html#208" class="Postulate">Word64</a><a id="2423" class="Symbol">)</a>
+
+<a id="2426" class="Comment">-- Metavariables --</a>
+
+<a id="2447" class="Keyword">postulate</a> <a id="Meta"></a><a id="2457" href="Agda.Builtin.Reflection.html#2457" class="Postulate">Meta</a> <a id="2462" class="Symbol">:</a> <a id="2464" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="2468" class="Symbol">{-#</a> <a id="2472" class="Keyword">BUILTIN</a> <a id="2480" class="Keyword">AGDAMETA</a> <a id="2489" href="Agda.Builtin.Reflection.html#2457" class="Postulate">Meta</a> <a id="2494" class="Symbol">#-}</a>
+
+<a id="2499" class="Keyword">primitive</a>
+  <a id="primMetaEquality"></a><a id="2511" href="Agda.Builtin.Reflection.html#2511" class="Primitive">primMetaEquality</a> <a id="2528" class="Symbol">:</a> <a id="2530" href="Agda.Builtin.Reflection.html#2457" class="Postulate">Meta</a> <a id="2535" class="Symbol">→</a> <a id="2537" href="Agda.Builtin.Reflection.html#2457" class="Postulate">Meta</a> <a id="2542" class="Symbol">→</a> <a id="2544" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="primMetaLess"></a><a id="2551" href="Agda.Builtin.Reflection.html#2551" class="Primitive">primMetaLess</a>     <a id="2568" class="Symbol">:</a> <a id="2570" href="Agda.Builtin.Reflection.html#2457" class="Postulate">Meta</a> <a id="2575" class="Symbol">→</a> <a id="2577" href="Agda.Builtin.Reflection.html#2457" class="Postulate">Meta</a> <a id="2582" class="Symbol">→</a> <a id="2584" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="primShowMeta"></a><a id="2591" href="Agda.Builtin.Reflection.html#2591" class="Primitive">primShowMeta</a>     <a id="2608" class="Symbol">:</a> <a id="2610" href="Agda.Builtin.Reflection.html#2457" class="Postulate">Meta</a> <a id="2615" class="Symbol">→</a> <a id="2617" href="Agda.Builtin.String.html#335" class="Postulate">String</a>
+  <a id="primMetaToNat"></a><a id="2626" href="Agda.Builtin.Reflection.html#2626" class="Primitive">primMetaToNat</a>    <a id="2643" class="Symbol">:</a> <a id="2645" href="Agda.Builtin.Reflection.html#2457" class="Postulate">Meta</a> <a id="2650" class="Symbol">→</a> <a id="2652" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+
+<a id="2657" class="Comment">-- Arguments --</a>
+
+<a id="2674" class="Comment">-- Arguments can be (visible), {hidden}, or {{instance}}.</a>
+<a id="2732" class="Keyword">data</a> <a id="Visibility"></a><a id="2737" href="Agda.Builtin.Reflection.html#2737" class="Datatype">Visibility</a> <a id="2748" class="Symbol">:</a> <a id="2750" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2754" class="Keyword">where</a>
+  <a id="Visibility.visible"></a><a id="2762" href="Agda.Builtin.Reflection.html#2762" class="InductiveConstructor">visible</a> <a id="Visibility.hidden"></a><a id="2770" href="Agda.Builtin.Reflection.html#2770" class="InductiveConstructor">hidden</a> <a id="Visibility.instance′"></a><a id="2777" href="Agda.Builtin.Reflection.html#2777" class="InductiveConstructor">instance′</a> <a id="2787" class="Symbol">:</a> <a id="2789" href="Agda.Builtin.Reflection.html#2737" class="Datatype">Visibility</a>
+
+<a id="2801" class="Symbol">{-#</a> <a id="2805" class="Keyword">BUILTIN</a> <a id="2813" class="Keyword">HIDING</a>   <a id="2822" href="Agda.Builtin.Reflection.html#2737" class="Datatype">Visibility</a> <a id="2833" class="Symbol">#-}</a>
+<a id="2837" class="Symbol">{-#</a> <a id="2841" class="Keyword">BUILTIN</a> <a id="2849" class="Keyword">VISIBLE</a>  <a id="2858" href="Agda.Builtin.Reflection.html#2762" class="InductiveConstructor">visible</a>    <a id="2869" class="Symbol">#-}</a>
+<a id="2873" class="Symbol">{-#</a> <a id="2877" class="Keyword">BUILTIN</a> <a id="2885" class="Keyword">HIDDEN</a>   <a id="2894" href="Agda.Builtin.Reflection.html#2770" class="InductiveConstructor">hidden</a>     <a id="2905" class="Symbol">#-}</a>
+<a id="2909" class="Symbol">{-#</a> <a id="2913" class="Keyword">BUILTIN</a> <a id="2921" class="Keyword">INSTANCE</a> <a id="2930" href="Agda.Builtin.Reflection.html#2777" class="InductiveConstructor">instance′</a>  <a id="2941" class="Symbol">#-}</a>
+
+<a id="2946" class="Comment">-- Arguments can be relevant or irrelevant.</a>
+<a id="2990" class="Keyword">data</a> <a id="Relevance"></a><a id="2995" href="Agda.Builtin.Reflection.html#2995" class="Datatype">Relevance</a> <a id="3005" class="Symbol">:</a> <a id="3007" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3011" class="Keyword">where</a>
+  <a id="Relevance.relevant"></a><a id="3019" href="Agda.Builtin.Reflection.html#3019" class="InductiveConstructor">relevant</a> <a id="Relevance.irrelevant"></a><a id="3028" href="Agda.Builtin.Reflection.html#3028" class="InductiveConstructor">irrelevant</a> <a id="3039" class="Symbol">:</a> <a id="3041" href="Agda.Builtin.Reflection.html#2995" class="Datatype">Relevance</a>
+
+<a id="3052" class="Symbol">{-#</a> <a id="3056" class="Keyword">BUILTIN</a> <a id="3064" class="Keyword">RELEVANCE</a>  <a id="3075" href="Agda.Builtin.Reflection.html#2995" class="Datatype">Relevance</a>  <a id="3086" class="Symbol">#-}</a>
+<a id="3090" class="Symbol">{-#</a> <a id="3094" class="Keyword">BUILTIN</a> <a id="3102" class="Keyword">RELEVANT</a>   <a id="3113" href="Agda.Builtin.Reflection.html#3019" class="InductiveConstructor">relevant</a>   <a id="3124" class="Symbol">#-}</a>
+<a id="3128" class="Symbol">{-#</a> <a id="3132" class="Keyword">BUILTIN</a> <a id="3140" class="Keyword">IRRELEVANT</a> <a id="3151" href="Agda.Builtin.Reflection.html#3028" class="InductiveConstructor">irrelevant</a> <a id="3162" class="Symbol">#-}</a>
+
+<a id="3167" class="Comment">-- Arguments also have a quantity.</a>
+<a id="3202" class="Keyword">data</a> <a id="Quantity"></a><a id="3207" href="Agda.Builtin.Reflection.html#3207" class="Datatype">Quantity</a> <a id="3216" class="Symbol">:</a> <a id="3218" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3222" class="Keyword">where</a>
+  <a id="Quantity.quantity-0"></a><a id="3230" href="Agda.Builtin.Reflection.html#3230" class="InductiveConstructor">quantity-0</a> <a id="Quantity.quantity-ω"></a><a id="3241" href="Agda.Builtin.Reflection.html#3241" class="InductiveConstructor">quantity-ω</a> <a id="3252" class="Symbol">:</a> <a id="3254" href="Agda.Builtin.Reflection.html#3207" class="Datatype">Quantity</a>
+
+<a id="3264" class="Symbol">{-#</a> <a id="3268" class="Keyword">BUILTIN</a> <a id="3276" class="Keyword">QUANTITY</a>   <a id="3287" href="Agda.Builtin.Reflection.html#3207" class="Datatype">Quantity</a>   <a id="3298" class="Symbol">#-}</a>
+<a id="3302" class="Symbol">{-#</a> <a id="3306" class="Keyword">BUILTIN</a> <a id="3314" class="Keyword">QUANTITY-0</a> <a id="3325" href="Agda.Builtin.Reflection.html#3230" class="InductiveConstructor">quantity-0</a> <a id="3336" class="Symbol">#-}</a>
+<a id="3340" class="Symbol">{-#</a> <a id="3344" class="Keyword">BUILTIN</a> <a id="3352" class="Keyword">QUANTITY-ω</a> <a id="3363" href="Agda.Builtin.Reflection.html#3241" class="InductiveConstructor">quantity-ω</a> <a id="3374" class="Symbol">#-}</a>
+
+<a id="3379" class="Comment">-- Relevance and quantity are combined into a modality.</a>
+<a id="3435" class="Keyword">data</a> <a id="Modality"></a><a id="3440" href="Agda.Builtin.Reflection.html#3440" class="Datatype">Modality</a> <a id="3449" class="Symbol">:</a> <a id="3451" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3455" class="Keyword">where</a>
+  <a id="Modality.modality"></a><a id="3463" href="Agda.Builtin.Reflection.html#3463" class="InductiveConstructor">modality</a> <a id="3472" class="Symbol">:</a> <a id="3474" class="Symbol">(</a><a id="3475" href="Agda.Builtin.Reflection.html#3475" class="Bound">r</a> <a id="3477" class="Symbol">:</a> <a id="3479" href="Agda.Builtin.Reflection.html#2995" class="Datatype">Relevance</a><a id="3488" class="Symbol">)</a> <a id="3490" class="Symbol">(</a><a id="3491" href="Agda.Builtin.Reflection.html#3491" class="Bound">q</a> <a id="3493" class="Symbol">:</a> <a id="3495" href="Agda.Builtin.Reflection.html#3207" class="Datatype">Quantity</a><a id="3503" class="Symbol">)</a> <a id="3505" class="Symbol">→</a> <a id="3507" href="Agda.Builtin.Reflection.html#3440" class="Datatype">Modality</a>
+
+<a id="3517" class="Symbol">{-#</a> <a id="3521" class="Keyword">BUILTIN</a> <a id="3529" class="Keyword">MODALITY</a>             <a id="3550" href="Agda.Builtin.Reflection.html#3440" class="Datatype">Modality</a> <a id="3559" class="Symbol">#-}</a>
+<a id="3563" class="Symbol">{-#</a> <a id="3567" class="Keyword">BUILTIN</a> <a id="3575" class="Keyword">MODALITY-CONSTRUCTOR</a> <a id="3596" href="Agda.Builtin.Reflection.html#3463" class="InductiveConstructor">modality</a> <a id="3605" class="Symbol">#-}</a>
+
+<a id="3610" class="Keyword">data</a> <a id="ArgInfo"></a><a id="3615" href="Agda.Builtin.Reflection.html#3615" class="Datatype">ArgInfo</a> <a id="3623" class="Symbol">:</a> <a id="3625" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3629" class="Keyword">where</a>
+  <a id="ArgInfo.arg-info"></a><a id="3637" href="Agda.Builtin.Reflection.html#3637" class="InductiveConstructor">arg-info</a> <a id="3646" class="Symbol">:</a> <a id="3648" class="Symbol">(</a><a id="3649" href="Agda.Builtin.Reflection.html#3649" class="Bound">v</a> <a id="3651" class="Symbol">:</a> <a id="3653" href="Agda.Builtin.Reflection.html#2737" class="Datatype">Visibility</a><a id="3663" class="Symbol">)</a> <a id="3665" class="Symbol">(</a><a id="3666" href="Agda.Builtin.Reflection.html#3666" class="Bound">m</a> <a id="3668" class="Symbol">:</a> <a id="3670" href="Agda.Builtin.Reflection.html#3440" class="Datatype">Modality</a><a id="3678" class="Symbol">)</a> <a id="3680" class="Symbol">→</a> <a id="3682" href="Agda.Builtin.Reflection.html#3615" class="Datatype">ArgInfo</a>
+
+<a id="3691" class="Keyword">data</a> <a id="Arg"></a><a id="3696" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="3700" class="Symbol">{</a><a id="3701" href="Agda.Builtin.Reflection.html#3701" class="Bound">a</a><a id="3702" class="Symbol">}</a> <a id="3704" class="Symbol">(</a><a id="3705" href="Agda.Builtin.Reflection.html#3705" class="Bound">A</a> <a id="3707" class="Symbol">:</a> <a id="3709" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3713" href="Agda.Builtin.Reflection.html#3701" class="Bound">a</a><a id="3714" class="Symbol">)</a> <a id="3716" class="Symbol">:</a> <a id="3718" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3722" href="Agda.Builtin.Reflection.html#3701" class="Bound">a</a> <a id="3724" class="Keyword">where</a>
+  <a id="Arg.arg"></a><a id="3732" href="Agda.Builtin.Reflection.html#3732" class="InductiveConstructor">arg</a> <a id="3736" class="Symbol">:</a> <a id="3738" class="Symbol">(</a><a id="3739" href="Agda.Builtin.Reflection.html#3739" class="Bound">i</a> <a id="3741" class="Symbol">:</a> <a id="3743" href="Agda.Builtin.Reflection.html#3615" class="Datatype">ArgInfo</a><a id="3750" class="Symbol">)</a> <a id="3752" class="Symbol">(</a><a id="3753" href="Agda.Builtin.Reflection.html#3753" class="Bound">x</a> <a id="3755" class="Symbol">:</a> <a id="3757" href="Agda.Builtin.Reflection.html#3705" class="Bound">A</a><a id="3758" class="Symbol">)</a> <a id="3760" class="Symbol">→</a> <a id="3762" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="3766" href="Agda.Builtin.Reflection.html#3705" class="Bound">A</a>
+
+<a id="3769" class="Symbol">{-#</a> <a id="3773" class="Keyword">BUILTIN</a> <a id="3781" class="Keyword">ARGINFO</a>    <a id="3792" href="Agda.Builtin.Reflection.html#3615" class="Datatype">ArgInfo</a>  <a id="3801" class="Symbol">#-}</a>
+<a id="3805" class="Symbol">{-#</a> <a id="3809" class="Keyword">BUILTIN</a> <a id="3817" class="Keyword">ARGARGINFO</a> <a id="3828" href="Agda.Builtin.Reflection.html#3637" class="InductiveConstructor">arg-info</a> <a id="3837" class="Symbol">#-}</a>
+<a id="3841" class="Symbol">{-#</a> <a id="3845" class="Keyword">BUILTIN</a> <a id="3853" class="Keyword">ARG</a>        <a id="3864" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a>      <a id="3873" class="Symbol">#-}</a>
+<a id="3877" class="Symbol">{-#</a> <a id="3881" class="Keyword">BUILTIN</a> <a id="3889" class="Keyword">ARGARG</a>     <a id="3900" href="Agda.Builtin.Reflection.html#3732" class="InductiveConstructor">arg</a>      <a id="3909" class="Symbol">#-}</a>
+
+<a id="3914" class="Keyword">data</a> <a id="Blocker"></a><a id="3919" href="Agda.Builtin.Reflection.html#3919" class="Datatype">Blocker</a> <a id="3927" class="Symbol">:</a> <a id="3929" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3933" class="Keyword">where</a>
+  <a id="Blocker.blockerAny"></a><a id="3941" href="Agda.Builtin.Reflection.html#3941" class="InductiveConstructor">blockerAny</a>  <a id="3953" class="Symbol">:</a> <a id="3955" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3960" href="Agda.Builtin.Reflection.html#3919" class="Datatype">Blocker</a> <a id="3968" class="Symbol">→</a> <a id="3970" href="Agda.Builtin.Reflection.html#3919" class="Datatype">Blocker</a>
+  <a id="Blocker.blockerAll"></a><a id="3980" href="Agda.Builtin.Reflection.html#3980" class="InductiveConstructor">blockerAll</a>  <a id="3992" class="Symbol">:</a> <a id="3994" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3999" href="Agda.Builtin.Reflection.html#3919" class="Datatype">Blocker</a> <a id="4007" class="Symbol">→</a> <a id="4009" href="Agda.Builtin.Reflection.html#3919" class="Datatype">Blocker</a>
+  <a id="Blocker.blockerMeta"></a><a id="4019" href="Agda.Builtin.Reflection.html#4019" class="InductiveConstructor">blockerMeta</a> <a id="4031" class="Symbol">:</a> <a id="4033" href="Agda.Builtin.Reflection.html#2457" class="Postulate">Meta</a> <a id="4038" class="Symbol">→</a> <a id="4040" href="Agda.Builtin.Reflection.html#3919" class="Datatype">Blocker</a>
+
+<a id="4049" class="Symbol">{-#</a> <a id="4053" class="Keyword">BUILTIN</a> <a id="4061" class="Keyword">AGDABLOCKER</a>     <a id="4077" href="Agda.Builtin.Reflection.html#3919" class="Datatype">Blocker</a> <a id="4085" class="Symbol">#-}</a>
+<a id="4089" class="Symbol">{-#</a> <a id="4093" class="Keyword">BUILTIN</a> <a id="4101" class="Keyword">AGDABLOCKERANY</a>  <a id="4117" href="Agda.Builtin.Reflection.html#3941" class="InductiveConstructor">blockerAny</a> <a id="4128" class="Symbol">#-}</a>
+<a id="4132" class="Symbol">{-#</a> <a id="4136" class="Keyword">BUILTIN</a> <a id="4144" class="Keyword">AGDABLOCKERALL</a>  <a id="4160" href="Agda.Builtin.Reflection.html#3980" class="InductiveConstructor">blockerAll</a> <a id="4171" class="Symbol">#-}</a>
+<a id="4175" class="Symbol">{-#</a> <a id="4179" class="Keyword">BUILTIN</a> <a id="4187" class="Keyword">AGDABLOCKERMETA</a> <a id="4203" href="Agda.Builtin.Reflection.html#4019" class="InductiveConstructor">blockerMeta</a> <a id="4215" class="Symbol">#-}</a>
+
+<a id="4220" class="Comment">-- Name abstraction --</a>
+
+<a id="4244" class="Keyword">data</a> <a id="Abs"></a><a id="4249" href="Agda.Builtin.Reflection.html#4249" class="Datatype">Abs</a> <a id="4253" class="Symbol">{</a><a id="4254" href="Agda.Builtin.Reflection.html#4254" class="Bound">a</a><a id="4255" class="Symbol">}</a> <a id="4257" class="Symbol">(</a><a id="4258" href="Agda.Builtin.Reflection.html#4258" class="Bound">A</a> <a id="4260" class="Symbol">:</a> <a id="4262" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4266" href="Agda.Builtin.Reflection.html#4254" class="Bound">a</a><a id="4267" class="Symbol">)</a> <a id="4269" class="Symbol">:</a> <a id="4271" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4275" href="Agda.Builtin.Reflection.html#4254" class="Bound">a</a> <a id="4277" class="Keyword">where</a>
+  <a id="Abs.abs"></a><a id="4285" href="Agda.Builtin.Reflection.html#4285" class="InductiveConstructor">abs</a> <a id="4289" class="Symbol">:</a> <a id="4291" class="Symbol">(</a><a id="4292" href="Agda.Builtin.Reflection.html#4292" class="Bound">s</a> <a id="4294" class="Symbol">:</a> <a id="4296" href="Agda.Builtin.String.html#335" class="Postulate">String</a><a id="4302" class="Symbol">)</a> <a id="4304" class="Symbol">(</a><a id="4305" href="Agda.Builtin.Reflection.html#4305" class="Bound">x</a> <a id="4307" class="Symbol">:</a> <a id="4309" href="Agda.Builtin.Reflection.html#4258" class="Bound">A</a><a id="4310" class="Symbol">)</a> <a id="4312" class="Symbol">→</a> <a id="4314" href="Agda.Builtin.Reflection.html#4249" class="Datatype">Abs</a> <a id="4318" href="Agda.Builtin.Reflection.html#4258" class="Bound">A</a>
+
+<a id="4321" class="Symbol">{-#</a> <a id="4325" class="Keyword">BUILTIN</a> <a id="4333" class="Keyword">ABS</a>    <a id="4340" href="Agda.Builtin.Reflection.html#4249" class="Datatype">Abs</a> <a id="4344" class="Symbol">#-}</a>
+<a id="4348" class="Symbol">{-#</a> <a id="4352" class="Keyword">BUILTIN</a> <a id="4360" class="Keyword">ABSABS</a> <a id="4367" href="Agda.Builtin.Reflection.html#4285" class="InductiveConstructor">abs</a> <a id="4371" class="Symbol">#-}</a>
+
+<a id="4376" class="Comment">-- Literals --</a>
+
+<a id="4392" class="Keyword">data</a> <a id="Literal"></a><a id="4397" href="Agda.Builtin.Reflection.html#4397" class="Datatype">Literal</a> <a id="4405" class="Symbol">:</a> <a id="4407" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4411" class="Keyword">where</a>
+  <a id="Literal.nat"></a><a id="4419" href="Agda.Builtin.Reflection.html#4419" class="InductiveConstructor">nat</a>    <a id="4426" class="Symbol">:</a> <a id="4428" class="Symbol">(</a><a id="4429" href="Agda.Builtin.Reflection.html#4429" class="Bound">n</a> <a id="4431" class="Symbol">:</a> <a id="4433" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="4436" class="Symbol">)</a>    <a id="4441" class="Symbol">→</a> <a id="4443" href="Agda.Builtin.Reflection.html#4397" class="Datatype">Literal</a>
+  <a id="Literal.word64"></a><a id="4453" href="Agda.Builtin.Reflection.html#4453" class="InductiveConstructor">word64</a> <a id="4460" class="Symbol">:</a> <a id="4462" class="Symbol">(</a><a id="4463" href="Agda.Builtin.Reflection.html#4463" class="Bound">n</a> <a id="4465" class="Symbol">:</a> <a id="4467" href="Agda.Builtin.Word.html#208" class="Postulate">Word64</a><a id="4473" class="Symbol">)</a> <a id="4475" class="Symbol">→</a> <a id="4477" href="Agda.Builtin.Reflection.html#4397" class="Datatype">Literal</a>
+  <a id="Literal.float"></a><a id="4487" href="Agda.Builtin.Reflection.html#4487" class="InductiveConstructor">float</a>  <a id="4494" class="Symbol">:</a> <a id="4496" class="Symbol">(</a><a id="4497" href="Agda.Builtin.Reflection.html#4497" class="Bound">x</a> <a id="4499" class="Symbol">:</a> <a id="4501" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a><a id="4506" class="Symbol">)</a>  <a id="4509" class="Symbol">→</a> <a id="4511" href="Agda.Builtin.Reflection.html#4397" class="Datatype">Literal</a>
+  <a id="Literal.char"></a><a id="4521" href="Agda.Builtin.Reflection.html#4521" class="InductiveConstructor">char</a>   <a id="4528" class="Symbol">:</a> <a id="4530" class="Symbol">(</a><a id="4531" href="Agda.Builtin.Reflection.html#4531" class="Bound">c</a> <a id="4533" class="Symbol">:</a> <a id="4535" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a><a id="4539" class="Symbol">)</a>   <a id="4543" class="Symbol">→</a> <a id="4545" href="Agda.Builtin.Reflection.html#4397" class="Datatype">Literal</a>
+  <a id="Literal.string"></a><a id="4555" href="Agda.Builtin.Reflection.html#4555" class="InductiveConstructor">string</a> <a id="4562" class="Symbol">:</a> <a id="4564" class="Symbol">(</a><a id="4565" href="Agda.Builtin.Reflection.html#4565" class="Bound">s</a> <a id="4567" class="Symbol">:</a> <a id="4569" href="Agda.Builtin.String.html#335" class="Postulate">String</a><a id="4575" class="Symbol">)</a> <a id="4577" class="Symbol">→</a> <a id="4579" href="Agda.Builtin.Reflection.html#4397" class="Datatype">Literal</a>
+  <a id="Literal.name"></a><a id="4589" href="Agda.Builtin.Reflection.html#4589" class="InductiveConstructor">name</a>   <a id="4596" class="Symbol">:</a> <a id="4598" class="Symbol">(</a><a id="4599" href="Agda.Builtin.Reflection.html#4599" class="Bound">x</a> <a id="4601" class="Symbol">:</a> <a id="4603" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a><a id="4607" class="Symbol">)</a>   <a id="4611" class="Symbol">→</a> <a id="4613" href="Agda.Builtin.Reflection.html#4397" class="Datatype">Literal</a>
+  <a id="Literal.meta"></a><a id="4623" href="Agda.Builtin.Reflection.html#4623" class="InductiveConstructor">meta</a>   <a id="4630" class="Symbol">:</a> <a id="4632" class="Symbol">(</a><a id="4633" href="Agda.Builtin.Reflection.html#4633" class="Bound">x</a> <a id="4635" class="Symbol">:</a> <a id="4637" href="Agda.Builtin.Reflection.html#2457" class="Postulate">Meta</a><a id="4641" class="Symbol">)</a>   <a id="4645" class="Symbol">→</a> <a id="4647" href="Agda.Builtin.Reflection.html#4397" class="Datatype">Literal</a>
+
+<a id="4656" class="Symbol">{-#</a> <a id="4660" class="Keyword">BUILTIN</a> <a id="4668" class="Keyword">AGDALITERAL</a>   <a id="4682" href="Agda.Builtin.Reflection.html#4397" class="Datatype">Literal</a> <a id="4690" class="Symbol">#-}</a>
+<a id="4694" class="Symbol">{-#</a> <a id="4698" class="Keyword">BUILTIN</a> <a id="4706" class="Keyword">AGDALITNAT</a>    <a id="4720" href="Agda.Builtin.Reflection.html#4419" class="InductiveConstructor">nat</a>     <a id="4728" class="Symbol">#-}</a>
+<a id="4732" class="Symbol">{-#</a> <a id="4736" class="Keyword">BUILTIN</a> <a id="4744" class="Keyword">AGDALITWORD64</a> <a id="4758" href="Agda.Builtin.Reflection.html#4453" class="InductiveConstructor">word64</a>  <a id="4766" class="Symbol">#-}</a>
+<a id="4770" class="Symbol">{-#</a> <a id="4774" class="Keyword">BUILTIN</a> <a id="4782" class="Keyword">AGDALITFLOAT</a>  <a id="4796" href="Agda.Builtin.Reflection.html#4487" class="InductiveConstructor">float</a>   <a id="4804" class="Symbol">#-}</a>
+<a id="4808" class="Symbol">{-#</a> <a id="4812" class="Keyword">BUILTIN</a> <a id="4820" class="Keyword">AGDALITCHAR</a>   <a id="4834" href="Agda.Builtin.Reflection.html#4521" class="InductiveConstructor">char</a>    <a id="4842" class="Symbol">#-}</a>
+<a id="4846" class="Symbol">{-#</a> <a id="4850" class="Keyword">BUILTIN</a> <a id="4858" class="Keyword">AGDALITSTRING</a> <a id="4872" href="Agda.Builtin.Reflection.html#4555" class="InductiveConstructor">string</a>  <a id="4880" class="Symbol">#-}</a>
+<a id="4884" class="Symbol">{-#</a> <a id="4888" class="Keyword">BUILTIN</a> <a id="4896" class="Keyword">AGDALITQNAME</a>  <a id="4910" href="Agda.Builtin.Reflection.html#4589" class="InductiveConstructor">name</a>    <a id="4918" class="Symbol">#-}</a>
+<a id="4922" class="Symbol">{-#</a> <a id="4926" class="Keyword">BUILTIN</a> <a id="4934" class="Keyword">AGDALITMETA</a>   <a id="4948" href="Agda.Builtin.Reflection.html#4623" class="InductiveConstructor">meta</a>    <a id="4956" class="Symbol">#-}</a>
+
+
+<a id="4962" class="Comment">-- Terms and patterns --</a>
+
+<a id="4988" class="Keyword">data</a> <a id="Term"></a><a id="4993" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>    <a id="5001" class="Symbol">:</a> <a id="5003" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="5007" class="Keyword">data</a> <a id="Sort"></a><a id="5012" href="Agda.Builtin.Reflection.html#5012" class="Datatype">Sort</a>    <a id="5020" class="Symbol">:</a> <a id="5022" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="5026" class="Keyword">data</a> <a id="Pattern"></a><a id="5031" href="Agda.Builtin.Reflection.html#5031" class="Datatype">Pattern</a> <a id="5039" class="Symbol">:</a> <a id="5041" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="5045" class="Keyword">data</a> <a id="Clause"></a><a id="5050" href="Agda.Builtin.Reflection.html#5050" class="Datatype">Clause</a>  <a id="5058" class="Symbol">:</a> <a id="5060" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="Type"></a><a id="5064" href="Agda.Builtin.Reflection.html#5064" class="Function">Type</a> <a id="5069" class="Symbol">=</a> <a id="5071" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+<a id="Telescope"></a><a id="5076" href="Agda.Builtin.Reflection.html#5076" class="Function">Telescope</a> <a id="5086" class="Symbol">=</a> <a id="5088" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="5093" class="Symbol">(</a><a id="5094" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a> <a id="5096" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="5103" class="Symbol">λ</a> <a id="5105" href="Agda.Builtin.Reflection.html#5105" class="Bound">_</a> <a id="5107" class="Symbol">→</a> <a id="5109" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="5113" href="Agda.Builtin.Reflection.html#5064" class="Function">Type</a><a id="5117" class="Symbol">)</a>
+
+<a id="5120" class="Keyword">data</a> <a id="5125" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a> <a id="5130" class="Keyword">where</a>
+  <a id="Term.var"></a><a id="5138" href="Agda.Builtin.Reflection.html#5138" class="InductiveConstructor">var</a>       <a id="5148" class="Symbol">:</a> <a id="5150" class="Symbol">(</a><a id="5151" href="Agda.Builtin.Reflection.html#5151" class="Bound">x</a> <a id="5153" class="Symbol">:</a> <a id="5155" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="5158" class="Symbol">)</a> <a id="5160" class="Symbol">(</a><a id="5161" href="Agda.Builtin.Reflection.html#5161" class="Bound">args</a> <a id="5166" class="Symbol">:</a> <a id="5168" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="5173" class="Symbol">(</a><a id="5174" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="5178" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a><a id="5182" class="Symbol">))</a> <a id="5185" class="Symbol">→</a> <a id="5187" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="Term.con"></a><a id="5194" href="Agda.Builtin.Reflection.html#5194" class="InductiveConstructor">con</a>       <a id="5204" class="Symbol">:</a> <a id="5206" class="Symbol">(</a><a id="5207" href="Agda.Builtin.Reflection.html#5207" class="Bound">c</a> <a id="5209" class="Symbol">:</a> <a id="5211" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a><a id="5215" class="Symbol">)</a> <a id="5217" class="Symbol">(</a><a id="5218" href="Agda.Builtin.Reflection.html#5218" class="Bound">args</a> <a id="5223" class="Symbol">:</a> <a id="5225" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="5230" class="Symbol">(</a><a id="5231" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="5235" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a><a id="5239" class="Symbol">))</a> <a id="5242" class="Symbol">→</a> <a id="5244" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="Term.def"></a><a id="5251" href="Agda.Builtin.Reflection.html#5251" class="InductiveConstructor">def</a>       <a id="5261" class="Symbol">:</a> <a id="5263" class="Symbol">(</a><a id="5264" href="Agda.Builtin.Reflection.html#5264" class="Bound">f</a> <a id="5266" class="Symbol">:</a> <a id="5268" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a><a id="5272" class="Symbol">)</a> <a id="5274" class="Symbol">(</a><a id="5275" href="Agda.Builtin.Reflection.html#5275" class="Bound">args</a> <a id="5280" class="Symbol">:</a> <a id="5282" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="5287" class="Symbol">(</a><a id="5288" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="5292" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a><a id="5296" class="Symbol">))</a> <a id="5299" class="Symbol">→</a> <a id="5301" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="Term.lam"></a><a id="5308" href="Agda.Builtin.Reflection.html#5308" class="InductiveConstructor">lam</a>       <a id="5318" class="Symbol">:</a> <a id="5320" class="Symbol">(</a><a id="5321" href="Agda.Builtin.Reflection.html#5321" class="Bound">v</a> <a id="5323" class="Symbol">:</a> <a id="5325" href="Agda.Builtin.Reflection.html#2737" class="Datatype">Visibility</a><a id="5335" class="Symbol">)</a> <a id="5337" class="Symbol">(</a><a id="5338" href="Agda.Builtin.Reflection.html#5338" class="Bound">t</a> <a id="5340" class="Symbol">:</a> <a id="5342" href="Agda.Builtin.Reflection.html#4249" class="Datatype">Abs</a> <a id="5346" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a><a id="5350" class="Symbol">)</a> <a id="5352" class="Symbol">→</a> <a id="5354" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="Term.pat-lam"></a><a id="5361" href="Agda.Builtin.Reflection.html#5361" class="InductiveConstructor">pat-lam</a>   <a id="5371" class="Symbol">:</a> <a id="5373" class="Symbol">(</a><a id="5374" href="Agda.Builtin.Reflection.html#5374" class="Bound">cs</a> <a id="5377" class="Symbol">:</a> <a id="5379" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="5384" href="Agda.Builtin.Reflection.html#5050" class="Datatype">Clause</a><a id="5390" class="Symbol">)</a> <a id="5392" class="Symbol">(</a><a id="5393" href="Agda.Builtin.Reflection.html#5393" class="Bound">args</a> <a id="5398" class="Symbol">:</a> <a id="5400" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="5405" class="Symbol">(</a><a id="5406" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="5410" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a><a id="5414" class="Symbol">))</a> <a id="5417" class="Symbol">→</a> <a id="5419" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="Term.pi"></a><a id="5426" href="Agda.Builtin.Reflection.html#5426" class="InductiveConstructor">pi</a>        <a id="5436" class="Symbol">:</a> <a id="5438" class="Symbol">(</a><a id="5439" href="Agda.Builtin.Reflection.html#5439" class="Bound">a</a> <a id="5441" class="Symbol">:</a> <a id="5443" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="5447" href="Agda.Builtin.Reflection.html#5064" class="Function">Type</a><a id="5451" class="Symbol">)</a> <a id="5453" class="Symbol">(</a><a id="5454" href="Agda.Builtin.Reflection.html#5454" class="Bound">b</a> <a id="5456" class="Symbol">:</a> <a id="5458" href="Agda.Builtin.Reflection.html#4249" class="Datatype">Abs</a> <a id="5462" href="Agda.Builtin.Reflection.html#5064" class="Function">Type</a><a id="5466" class="Symbol">)</a> <a id="5468" class="Symbol">→</a> <a id="5470" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="Term.agda-sort"></a><a id="5477" href="Agda.Builtin.Reflection.html#5477" class="InductiveConstructor">agda-sort</a> <a id="5487" class="Symbol">:</a> <a id="5489" class="Symbol">(</a><a id="5490" href="Agda.Builtin.Reflection.html#5490" class="Bound">s</a> <a id="5492" class="Symbol">:</a> <a id="5494" href="Agda.Builtin.Reflection.html#5012" class="Datatype">Sort</a><a id="5498" class="Symbol">)</a> <a id="5500" class="Symbol">→</a> <a id="5502" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="Term.lit"></a><a id="5509" href="Agda.Builtin.Reflection.html#5509" class="InductiveConstructor">lit</a>       <a id="5519" class="Symbol">:</a> <a id="5521" class="Symbol">(</a><a id="5522" href="Agda.Builtin.Reflection.html#5522" class="Bound">l</a> <a id="5524" class="Symbol">:</a> <a id="5526" href="Agda.Builtin.Reflection.html#4397" class="Datatype">Literal</a><a id="5533" class="Symbol">)</a> <a id="5535" class="Symbol">→</a> <a id="5537" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="Term.meta"></a><a id="5544" href="Agda.Builtin.Reflection.html#5544" class="InductiveConstructor">meta</a>      <a id="5554" class="Symbol">:</a> <a id="5556" class="Symbol">(</a><a id="5557" href="Agda.Builtin.Reflection.html#5557" class="Bound">x</a> <a id="5559" class="Symbol">:</a> <a id="5561" href="Agda.Builtin.Reflection.html#2457" class="Postulate">Meta</a><a id="5565" class="Symbol">)</a> <a id="5567" class="Symbol">→</a> <a id="5569" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="5574" class="Symbol">(</a><a id="5575" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="5579" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a><a id="5583" class="Symbol">)</a> <a id="5585" class="Symbol">→</a> <a id="5587" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="Term.unknown"></a><a id="5594" href="Agda.Builtin.Reflection.html#5594" class="InductiveConstructor">unknown</a>   <a id="5604" class="Symbol">:</a> <a id="5606" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+
+<a id="5612" class="Keyword">data</a> <a id="5617" href="Agda.Builtin.Reflection.html#5012" class="Datatype">Sort</a> <a id="5622" class="Keyword">where</a>
+  <a id="Sort.set"></a><a id="5630" href="Agda.Builtin.Reflection.html#5630" class="InductiveConstructor">set</a>     <a id="5638" class="Symbol">:</a> <a id="5640" class="Symbol">(</a><a id="5641" href="Agda.Builtin.Reflection.html#5641" class="Bound">t</a> <a id="5643" class="Symbol">:</a> <a id="5645" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a><a id="5649" class="Symbol">)</a> <a id="5651" class="Symbol">→</a> <a id="5653" href="Agda.Builtin.Reflection.html#5012" class="Datatype">Sort</a>
+  <a id="Sort.lit"></a><a id="5660" href="Agda.Builtin.Reflection.html#5660" class="InductiveConstructor">lit</a>     <a id="5668" class="Symbol">:</a> <a id="5670" class="Symbol">(</a><a id="5671" href="Agda.Builtin.Reflection.html#5671" class="Bound">n</a> <a id="5673" class="Symbol">:</a> <a id="5675" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="5678" class="Symbol">)</a> <a id="5680" class="Symbol">→</a> <a id="5682" href="Agda.Builtin.Reflection.html#5012" class="Datatype">Sort</a>
+  <a id="Sort.prop"></a><a id="5689" href="Agda.Builtin.Reflection.html#5689" class="InductiveConstructor">prop</a>    <a id="5697" class="Symbol">:</a> <a id="5699" class="Symbol">(</a><a id="5700" href="Agda.Builtin.Reflection.html#5700" class="Bound">t</a> <a id="5702" class="Symbol">:</a> <a id="5704" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a><a id="5708" class="Symbol">)</a> <a id="5710" class="Symbol">→</a> <a id="5712" href="Agda.Builtin.Reflection.html#5012" class="Datatype">Sort</a>
+  <a id="Sort.propLit"></a><a id="5719" href="Agda.Builtin.Reflection.html#5719" class="InductiveConstructor">propLit</a> <a id="5727" class="Symbol">:</a> <a id="5729" class="Symbol">(</a><a id="5730" href="Agda.Builtin.Reflection.html#5730" class="Bound">n</a> <a id="5732" class="Symbol">:</a> <a id="5734" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="5737" class="Symbol">)</a> <a id="5739" class="Symbol">→</a> <a id="5741" href="Agda.Builtin.Reflection.html#5012" class="Datatype">Sort</a>
+  <a id="Sort.inf"></a><a id="5748" href="Agda.Builtin.Reflection.html#5748" class="InductiveConstructor">inf</a>     <a id="5756" class="Symbol">:</a> <a id="5758" class="Symbol">(</a><a id="5759" href="Agda.Builtin.Reflection.html#5759" class="Bound">n</a> <a id="5761" class="Symbol">:</a> <a id="5763" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="5766" class="Symbol">)</a> <a id="5768" class="Symbol">→</a> <a id="5770" href="Agda.Builtin.Reflection.html#5012" class="Datatype">Sort</a>
+  <a id="Sort.unknown"></a><a id="5777" href="Agda.Builtin.Reflection.html#5777" class="InductiveConstructor">unknown</a> <a id="5785" class="Symbol">:</a> <a id="5787" href="Agda.Builtin.Reflection.html#5012" class="Datatype">Sort</a>
+
+<a id="5793" class="Keyword">data</a> <a id="5798" href="Agda.Builtin.Reflection.html#5031" class="Datatype">Pattern</a> <a id="5806" class="Keyword">where</a>
+  <a id="Pattern.con"></a><a id="5814" href="Agda.Builtin.Reflection.html#5814" class="InductiveConstructor">con</a>    <a id="5821" class="Symbol">:</a> <a id="5823" class="Symbol">(</a><a id="5824" href="Agda.Builtin.Reflection.html#5824" class="Bound">c</a> <a id="5826" class="Symbol">:</a> <a id="5828" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a><a id="5832" class="Symbol">)</a> <a id="5834" class="Symbol">(</a><a id="5835" href="Agda.Builtin.Reflection.html#5835" class="Bound">ps</a> <a id="5838" class="Symbol">:</a> <a id="5840" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="5845" class="Symbol">(</a><a id="5846" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="5850" href="Agda.Builtin.Reflection.html#5031" class="Datatype">Pattern</a><a id="5857" class="Symbol">))</a> <a id="5860" class="Symbol">→</a> <a id="5862" href="Agda.Builtin.Reflection.html#5031" class="Datatype">Pattern</a>
+  <a id="Pattern.dot"></a><a id="5872" href="Agda.Builtin.Reflection.html#5872" class="InductiveConstructor">dot</a>    <a id="5879" class="Symbol">:</a> <a id="5881" class="Symbol">(</a><a id="5882" href="Agda.Builtin.Reflection.html#5882" class="Bound">t</a> <a id="5884" class="Symbol">:</a> <a id="5886" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a><a id="5890" class="Symbol">)</a>    <a id="5895" class="Symbol">→</a> <a id="5897" href="Agda.Builtin.Reflection.html#5031" class="Datatype">Pattern</a>
+  <a id="Pattern.var"></a><a id="5907" href="Agda.Builtin.Reflection.html#5907" class="InductiveConstructor">var</a>    <a id="5914" class="Symbol">:</a> <a id="5916" class="Symbol">(</a><a id="5917" href="Agda.Builtin.Reflection.html#5917" class="Bound">x</a> <a id="5919" class="Symbol">:</a> <a id="5921" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="5924" class="Symbol">)</a>     <a id="5930" class="Symbol">→</a> <a id="5932" href="Agda.Builtin.Reflection.html#5031" class="Datatype">Pattern</a>
+  <a id="Pattern.lit"></a><a id="5942" href="Agda.Builtin.Reflection.html#5942" class="InductiveConstructor">lit</a>    <a id="5949" class="Symbol">:</a> <a id="5951" class="Symbol">(</a><a id="5952" href="Agda.Builtin.Reflection.html#5952" class="Bound">l</a> <a id="5954" class="Symbol">:</a> <a id="5956" href="Agda.Builtin.Reflection.html#4397" class="Datatype">Literal</a><a id="5963" class="Symbol">)</a> <a id="5965" class="Symbol">→</a> <a id="5967" href="Agda.Builtin.Reflection.html#5031" class="Datatype">Pattern</a>
+  <a id="Pattern.proj"></a><a id="5977" href="Agda.Builtin.Reflection.html#5977" class="InductiveConstructor">proj</a>   <a id="5984" class="Symbol">:</a> <a id="5986" class="Symbol">(</a><a id="5987" href="Agda.Builtin.Reflection.html#5987" class="Bound">f</a> <a id="5989" class="Symbol">:</a> <a id="5991" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a><a id="5995" class="Symbol">)</a>    <a id="6000" class="Symbol">→</a> <a id="6002" href="Agda.Builtin.Reflection.html#5031" class="Datatype">Pattern</a>
+  <a id="Pattern.absurd"></a><a id="6012" href="Agda.Builtin.Reflection.html#6012" class="InductiveConstructor">absurd</a> <a id="6019" class="Symbol">:</a> <a id="6021" class="Symbol">(</a><a id="6022" href="Agda.Builtin.Reflection.html#6022" class="Bound">x</a> <a id="6024" class="Symbol">:</a> <a id="6026" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="6029" class="Symbol">)</a>     <a id="6035" class="Symbol">→</a> <a id="6037" href="Agda.Builtin.Reflection.html#5031" class="Datatype">Pattern</a>  <a id="6046" class="Comment">-- absurd patterns counts as variables</a>
+
+<a id="6086" class="Keyword">data</a> <a id="6091" href="Agda.Builtin.Reflection.html#5050" class="Datatype">Clause</a> <a id="6098" class="Keyword">where</a>
+  <a id="Clause.clause"></a><a id="6106" href="Agda.Builtin.Reflection.html#6106" class="InductiveConstructor">clause</a>        <a id="6120" class="Symbol">:</a> <a id="6122" class="Symbol">(</a><a id="6123" href="Agda.Builtin.Reflection.html#6123" class="Bound">tel</a> <a id="6127" class="Symbol">:</a> <a id="6129" href="Agda.Builtin.Reflection.html#5076" class="Function">Telescope</a><a id="6138" class="Symbol">)</a> <a id="6140" class="Symbol">(</a><a id="6141" href="Agda.Builtin.Reflection.html#6141" class="Bound">ps</a> <a id="6144" class="Symbol">:</a> <a id="6146" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="6151" class="Symbol">(</a><a id="6152" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="6156" href="Agda.Builtin.Reflection.html#5031" class="Datatype">Pattern</a><a id="6163" class="Symbol">))</a> <a id="6166" class="Symbol">(</a><a id="6167" href="Agda.Builtin.Reflection.html#6167" class="Bound">t</a> <a id="6169" class="Symbol">:</a> <a id="6171" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a><a id="6175" class="Symbol">)</a> <a id="6177" class="Symbol">→</a> <a id="6179" href="Agda.Builtin.Reflection.html#5050" class="Datatype">Clause</a>
+  <a id="Clause.absurd-clause"></a><a id="6188" href="Agda.Builtin.Reflection.html#6188" class="InductiveConstructor">absurd-clause</a> <a id="6202" class="Symbol">:</a> <a id="6204" class="Symbol">(</a><a id="6205" href="Agda.Builtin.Reflection.html#6205" class="Bound">tel</a> <a id="6209" class="Symbol">:</a> <a id="6211" href="Agda.Builtin.Reflection.html#5076" class="Function">Telescope</a><a id="6220" class="Symbol">)</a> <a id="6222" class="Symbol">(</a><a id="6223" href="Agda.Builtin.Reflection.html#6223" class="Bound">ps</a> <a id="6226" class="Symbol">:</a> <a id="6228" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="6233" class="Symbol">(</a><a id="6234" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="6238" href="Agda.Builtin.Reflection.html#5031" class="Datatype">Pattern</a><a id="6245" class="Symbol">))</a> <a id="6248" class="Symbol">→</a> <a id="6250" href="Agda.Builtin.Reflection.html#5050" class="Datatype">Clause</a>
+
+<a id="6258" class="Symbol">{-#</a> <a id="6262" class="Keyword">BUILTIN</a> <a id="6270" class="Keyword">AGDATERM</a>      <a id="6284" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>    <a id="6292" class="Symbol">#-}</a>
+<a id="6296" class="Symbol">{-#</a> <a id="6300" class="Keyword">BUILTIN</a> <a id="6308" class="Keyword">AGDASORT</a>      <a id="6322" href="Agda.Builtin.Reflection.html#5012" class="Datatype">Sort</a>    <a id="6330" class="Symbol">#-}</a>
+<a id="6334" class="Symbol">{-#</a> <a id="6338" class="Keyword">BUILTIN</a> <a id="6346" class="Keyword">AGDAPATTERN</a>   <a id="6360" href="Agda.Builtin.Reflection.html#5031" class="Datatype">Pattern</a> <a id="6368" class="Symbol">#-}</a>
+<a id="6372" class="Symbol">{-#</a> <a id="6376" class="Keyword">BUILTIN</a> <a id="6384" class="Keyword">AGDACLAUSE</a>    <a id="6398" href="Agda.Builtin.Reflection.html#5050" class="Datatype">Clause</a>  <a id="6406" class="Symbol">#-}</a>
+
+<a id="6411" class="Symbol">{-#</a> <a id="6415" class="Keyword">BUILTIN</a> <a id="6423" class="Keyword">AGDATERMVAR</a>         <a id="6443" href="Agda.Builtin.Reflection.html#5138" class="InductiveConstructor">var</a>       <a id="6453" class="Symbol">#-}</a>
+<a id="6457" class="Symbol">{-#</a> <a id="6461" class="Keyword">BUILTIN</a> <a id="6469" class="Keyword">AGDATERMCON</a>         <a id="6489" href="Agda.Builtin.Reflection.html#5194" class="InductiveConstructor">con</a>       <a id="6499" class="Symbol">#-}</a>
+<a id="6503" class="Symbol">{-#</a> <a id="6507" class="Keyword">BUILTIN</a> <a id="6515" class="Keyword">AGDATERMDEF</a>         <a id="6535" href="Agda.Builtin.Reflection.html#5251" class="InductiveConstructor">def</a>       <a id="6545" class="Symbol">#-}</a>
+<a id="6549" class="Symbol">{-#</a> <a id="6553" class="Keyword">BUILTIN</a> <a id="6561" class="Keyword">AGDATERMMETA</a>        <a id="6581" href="Agda.Builtin.Reflection.html#5544" class="InductiveConstructor">meta</a>      <a id="6591" class="Symbol">#-}</a>
+<a id="6595" class="Symbol">{-#</a> <a id="6599" class="Keyword">BUILTIN</a> <a id="6607" class="Keyword">AGDATERMLAM</a>         <a id="6627" href="Agda.Builtin.Reflection.html#5308" class="InductiveConstructor">lam</a>       <a id="6637" class="Symbol">#-}</a>
+<a id="6641" class="Symbol">{-#</a> <a id="6645" class="Keyword">BUILTIN</a> <a id="6653" class="Keyword">AGDATERMEXTLAM</a>      <a id="6673" href="Agda.Builtin.Reflection.html#5361" class="InductiveConstructor">pat-lam</a>   <a id="6683" class="Symbol">#-}</a>
+<a id="6687" class="Symbol">{-#</a> <a id="6691" class="Keyword">BUILTIN</a> <a id="6699" class="Keyword">AGDATERMPI</a>          <a id="6719" href="Agda.Builtin.Reflection.html#5426" class="InductiveConstructor">pi</a>        <a id="6729" class="Symbol">#-}</a>
+<a id="6733" class="Symbol">{-#</a> <a id="6737" class="Keyword">BUILTIN</a> <a id="6745" class="Keyword">AGDATERMSORT</a>        <a id="6765" href="Agda.Builtin.Reflection.html#5477" class="InductiveConstructor">agda-sort</a> <a id="6775" class="Symbol">#-}</a>
+<a id="6779" class="Symbol">{-#</a> <a id="6783" class="Keyword">BUILTIN</a> <a id="6791" class="Keyword">AGDATERMLIT</a>         <a id="6811" href="Agda.Builtin.Reflection.html#5509" class="InductiveConstructor">lit</a>       <a id="6821" class="Symbol">#-}</a>
+<a id="6825" class="Symbol">{-#</a> <a id="6829" class="Keyword">BUILTIN</a> <a id="6837" class="Keyword">AGDATERMUNSUPPORTED</a> <a id="6857" href="Agda.Builtin.Reflection.html#5594" class="InductiveConstructor">unknown</a>   <a id="6867" class="Symbol">#-}</a>
+
+<a id="6872" class="Symbol">{-#</a> <a id="6876" class="Keyword">BUILTIN</a> <a id="6884" class="Keyword">AGDASORTSET</a>         <a id="6904" href="Agda.Builtin.Reflection.html#5630" class="InductiveConstructor">set</a>     <a id="6912" class="Symbol">#-}</a>
+<a id="6916" class="Symbol">{-#</a> <a id="6920" class="Keyword">BUILTIN</a> <a id="6928" class="Keyword">AGDASORTLIT</a>         <a id="6948" href="Agda.Builtin.Reflection.html#5660" class="InductiveConstructor">lit</a>     <a id="6956" class="Symbol">#-}</a>
+<a id="6960" class="Symbol">{-#</a> <a id="6964" class="Keyword">BUILTIN</a> <a id="6972" class="Keyword">AGDASORTPROP</a>        <a id="6992" href="Agda.Builtin.Reflection.html#5689" class="InductiveConstructor">prop</a>    <a id="7000" class="Symbol">#-}</a>
+<a id="7004" class="Symbol">{-#</a> <a id="7008" class="Keyword">BUILTIN</a> <a id="7016" class="Keyword">AGDASORTPROPLIT</a>     <a id="7036" href="Agda.Builtin.Reflection.html#5719" class="InductiveConstructor">propLit</a> <a id="7044" class="Symbol">#-}</a>
+<a id="7048" class="Symbol">{-#</a> <a id="7052" class="Keyword">BUILTIN</a> <a id="7060" class="Keyword">AGDASORTINF</a>         <a id="7080" href="Agda.Builtin.Reflection.html#5748" class="InductiveConstructor">inf</a>     <a id="7088" class="Symbol">#-}</a>
+<a id="7092" class="Symbol">{-#</a> <a id="7096" class="Keyword">BUILTIN</a> <a id="7104" class="Keyword">AGDASORTUNSUPPORTED</a> <a id="7124" href="Agda.Builtin.Reflection.html#5777" class="InductiveConstructor">unknown</a> <a id="7132" class="Symbol">#-}</a>
+
+<a id="7137" class="Symbol">{-#</a> <a id="7141" class="Keyword">BUILTIN</a> <a id="7149" class="Keyword">AGDAPATCON</a>    <a id="7163" href="Agda.Builtin.Reflection.html#5814" class="InductiveConstructor">con</a>     <a id="7171" class="Symbol">#-}</a>
+<a id="7175" class="Symbol">{-#</a> <a id="7179" class="Keyword">BUILTIN</a> <a id="7187" class="Keyword">AGDAPATDOT</a>    <a id="7201" href="Agda.Builtin.Reflection.html#5872" class="InductiveConstructor">dot</a>     <a id="7209" class="Symbol">#-}</a>
+<a id="7213" class="Symbol">{-#</a> <a id="7217" class="Keyword">BUILTIN</a> <a id="7225" class="Keyword">AGDAPATVAR</a>    <a id="7239" href="Agda.Builtin.Reflection.html#5907" class="InductiveConstructor">var</a>     <a id="7247" class="Symbol">#-}</a>
+<a id="7251" class="Symbol">{-#</a> <a id="7255" class="Keyword">BUILTIN</a> <a id="7263" class="Keyword">AGDAPATLIT</a>    <a id="7277" href="Agda.Builtin.Reflection.html#5942" class="InductiveConstructor">lit</a>     <a id="7285" class="Symbol">#-}</a>
+<a id="7289" class="Symbol">{-#</a> <a id="7293" class="Keyword">BUILTIN</a> <a id="7301" class="Keyword">AGDAPATPROJ</a>   <a id="7315" href="Agda.Builtin.Reflection.html#5977" class="InductiveConstructor">proj</a>    <a id="7323" class="Symbol">#-}</a>
+<a id="7327" class="Symbol">{-#</a> <a id="7331" class="Keyword">BUILTIN</a> <a id="7339" class="Keyword">AGDAPATABSURD</a> <a id="7353" href="Agda.Builtin.Reflection.html#6012" class="InductiveConstructor">absurd</a>  <a id="7361" class="Symbol">#-}</a>
+
+<a id="7366" class="Symbol">{-#</a> <a id="7370" class="Keyword">BUILTIN</a> <a id="7378" class="Keyword">AGDACLAUSECLAUSE</a> <a id="7395" href="Agda.Builtin.Reflection.html#6106" class="InductiveConstructor">clause</a>        <a id="7409" class="Symbol">#-}</a>
+<a id="7413" class="Symbol">{-#</a> <a id="7417" class="Keyword">BUILTIN</a> <a id="7425" class="Keyword">AGDACLAUSEABSURD</a> <a id="7442" href="Agda.Builtin.Reflection.html#6188" class="InductiveConstructor">absurd-clause</a> <a id="7456" class="Symbol">#-}</a>
+
+<a id="7461" class="Comment">-- Definitions --</a>
+
+<a id="7480" class="Keyword">data</a> <a id="Definition"></a><a id="7485" href="Agda.Builtin.Reflection.html#7485" class="Datatype">Definition</a> <a id="7496" class="Symbol">:</a> <a id="7498" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="7502" class="Keyword">where</a>
+  <a id="Definition.function"></a><a id="7510" href="Agda.Builtin.Reflection.html#7510" class="InductiveConstructor">function</a>    <a id="7522" class="Symbol">:</a> <a id="7524" class="Symbol">(</a><a id="7525" href="Agda.Builtin.Reflection.html#7525" class="Bound">cs</a> <a id="7528" class="Symbol">:</a> <a id="7530" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="7535" href="Agda.Builtin.Reflection.html#5050" class="Datatype">Clause</a><a id="7541" class="Symbol">)</a> <a id="7543" class="Symbol">→</a> <a id="7545" href="Agda.Builtin.Reflection.html#7485" class="Datatype">Definition</a>
+  <a id="Definition.data-type"></a><a id="7558" href="Agda.Builtin.Reflection.html#7558" class="InductiveConstructor">data-type</a>   <a id="7570" class="Symbol">:</a> <a id="7572" class="Symbol">(</a><a id="7573" href="Agda.Builtin.Reflection.html#7573" class="Bound">pars</a> <a id="7578" class="Symbol">:</a> <a id="7580" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="7583" class="Symbol">)</a> <a id="7585" class="Symbol">(</a><a id="7586" href="Agda.Builtin.Reflection.html#7586" class="Bound">cs</a> <a id="7589" class="Symbol">:</a> <a id="7591" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="7596" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a><a id="7600" class="Symbol">)</a> <a id="7602" class="Symbol">→</a> <a id="7604" href="Agda.Builtin.Reflection.html#7485" class="Datatype">Definition</a>
+  <a id="Definition.record-type"></a><a id="7617" href="Agda.Builtin.Reflection.html#7617" class="InductiveConstructor">record-type</a> <a id="7629" class="Symbol">:</a> <a id="7631" class="Symbol">(</a><a id="7632" href="Agda.Builtin.Reflection.html#7632" class="Bound">c</a> <a id="7634" class="Symbol">:</a> <a id="7636" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a><a id="7640" class="Symbol">)</a> <a id="7642" class="Symbol">(</a><a id="7643" href="Agda.Builtin.Reflection.html#7643" class="Bound">fs</a> <a id="7646" class="Symbol">:</a> <a id="7648" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="7653" class="Symbol">(</a><a id="7654" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="7658" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a><a id="7662" class="Symbol">))</a> <a id="7665" class="Symbol">→</a> <a id="7667" href="Agda.Builtin.Reflection.html#7485" class="Datatype">Definition</a>
+  <a id="Definition.data-cons"></a><a id="7680" href="Agda.Builtin.Reflection.html#7680" class="InductiveConstructor">data-cons</a>   <a id="7692" class="Symbol">:</a> <a id="7694" class="Symbol">(</a><a id="7695" href="Agda.Builtin.Reflection.html#7695" class="Bound">d</a> <a id="7697" class="Symbol">:</a> <a id="7699" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a><a id="7703" class="Symbol">)</a> <a id="7705" class="Symbol">→</a> <a id="7707" href="Agda.Builtin.Reflection.html#7485" class="Datatype">Definition</a>
+  <a id="Definition.axiom"></a><a id="7720" href="Agda.Builtin.Reflection.html#7720" class="InductiveConstructor">axiom</a>       <a id="7732" class="Symbol">:</a> <a id="7734" href="Agda.Builtin.Reflection.html#7485" class="Datatype">Definition</a>
+  <a id="Definition.prim-fun"></a><a id="7747" href="Agda.Builtin.Reflection.html#7747" class="InductiveConstructor">prim-fun</a>    <a id="7759" class="Symbol">:</a> <a id="7761" href="Agda.Builtin.Reflection.html#7485" class="Datatype">Definition</a>
+
+<a id="7773" class="Symbol">{-#</a> <a id="7777" class="Keyword">BUILTIN</a> <a id="7785" class="Keyword">AGDADEFINITION</a>                <a id="7815" href="Agda.Builtin.Reflection.html#7485" class="Datatype">Definition</a>  <a id="7827" class="Symbol">#-}</a>
+<a id="7831" class="Symbol">{-#</a> <a id="7835" class="Keyword">BUILTIN</a> <a id="7843" class="Keyword">AGDADEFINITIONFUNDEF</a>          <a id="7873" href="Agda.Builtin.Reflection.html#7510" class="InductiveConstructor">function</a>    <a id="7885" class="Symbol">#-}</a>
+<a id="7889" class="Symbol">{-#</a> <a id="7893" class="Keyword">BUILTIN</a> <a id="7901" class="Keyword">AGDADEFINITIONDATADEF</a>         <a id="7931" href="Agda.Builtin.Reflection.html#7558" class="InductiveConstructor">data-type</a>   <a id="7943" class="Symbol">#-}</a>
+<a id="7947" class="Symbol">{-#</a> <a id="7951" class="Keyword">BUILTIN</a> <a id="7959" class="Keyword">AGDADEFINITIONRECORDDEF</a>       <a id="7989" href="Agda.Builtin.Reflection.html#7617" class="InductiveConstructor">record-type</a> <a id="8001" class="Symbol">#-}</a>
+<a id="8005" class="Symbol">{-#</a> <a id="8009" class="Keyword">BUILTIN</a> <a id="8017" class="Keyword">AGDADEFINITIONDATACONSTRUCTOR</a> <a id="8047" href="Agda.Builtin.Reflection.html#7680" class="InductiveConstructor">data-cons</a>   <a id="8059" class="Symbol">#-}</a>
+<a id="8063" class="Symbol">{-#</a> <a id="8067" class="Keyword">BUILTIN</a> <a id="8075" class="Keyword">AGDADEFINITIONPOSTULATE</a>       <a id="8105" href="Agda.Builtin.Reflection.html#7720" class="InductiveConstructor">axiom</a>       <a id="8117" class="Symbol">#-}</a>
+<a id="8121" class="Symbol">{-#</a> <a id="8125" class="Keyword">BUILTIN</a> <a id="8133" class="Keyword">AGDADEFINITIONPRIMITIVE</a>       <a id="8163" href="Agda.Builtin.Reflection.html#7747" class="InductiveConstructor">prim-fun</a>    <a id="8175" class="Symbol">#-}</a>
+
+<a id="8180" class="Comment">-- Errors --</a>
+
+<a id="8194" class="Keyword">data</a> <a id="ErrorPart"></a><a id="8199" href="Agda.Builtin.Reflection.html#8199" class="Datatype">ErrorPart</a> <a id="8209" class="Symbol">:</a> <a id="8211" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="8215" class="Keyword">where</a>
+  <a id="ErrorPart.strErr"></a><a id="8223" href="Agda.Builtin.Reflection.html#8223" class="InductiveConstructor">strErr</a>  <a id="8231" class="Symbol">:</a> <a id="8233" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="8240" class="Symbol">→</a> <a id="8242" href="Agda.Builtin.Reflection.html#8199" class="Datatype">ErrorPart</a>
+  <a id="ErrorPart.termErr"></a><a id="8254" href="Agda.Builtin.Reflection.html#8254" class="InductiveConstructor">termErr</a> <a id="8262" class="Symbol">:</a> <a id="8264" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a> <a id="8269" class="Symbol">→</a> <a id="8271" href="Agda.Builtin.Reflection.html#8199" class="Datatype">ErrorPart</a>
+  <a id="ErrorPart.pattErr"></a><a id="8283" href="Agda.Builtin.Reflection.html#8283" class="InductiveConstructor">pattErr</a> <a id="8291" class="Symbol">:</a> <a id="8293" href="Agda.Builtin.Reflection.html#5031" class="Datatype">Pattern</a> <a id="8301" class="Symbol">→</a> <a id="8303" href="Agda.Builtin.Reflection.html#8199" class="Datatype">ErrorPart</a>
+  <a id="ErrorPart.nameErr"></a><a id="8315" href="Agda.Builtin.Reflection.html#8315" class="InductiveConstructor">nameErr</a> <a id="8323" class="Symbol">:</a> <a id="8325" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="8330" class="Symbol">→</a> <a id="8332" href="Agda.Builtin.Reflection.html#8199" class="Datatype">ErrorPart</a>
+
+<a id="8343" class="Symbol">{-#</a> <a id="8347" class="Keyword">BUILTIN</a> <a id="8355" class="Keyword">AGDAERRORPART</a>       <a id="8375" href="Agda.Builtin.Reflection.html#8199" class="Datatype">ErrorPart</a> <a id="8385" class="Symbol">#-}</a>
+<a id="8389" class="Symbol">{-#</a> <a id="8393" class="Keyword">BUILTIN</a> <a id="8401" class="Keyword">AGDAERRORPARTSTRING</a> <a id="8421" href="Agda.Builtin.Reflection.html#8223" class="InductiveConstructor">strErr</a>    <a id="8431" class="Symbol">#-}</a>
+<a id="8435" class="Symbol">{-#</a> <a id="8439" class="Keyword">BUILTIN</a> <a id="8447" class="Keyword">AGDAERRORPARTTERM</a>   <a id="8467" href="Agda.Builtin.Reflection.html#8254" class="InductiveConstructor">termErr</a>   <a id="8477" class="Symbol">#-}</a>
+<a id="8481" class="Symbol">{-#</a> <a id="8485" class="Keyword">BUILTIN</a> <a id="8493" class="Keyword">AGDAERRORPARTPATT</a>   <a id="8513" href="Agda.Builtin.Reflection.html#8283" class="InductiveConstructor">pattErr</a>   <a id="8523" class="Symbol">#-}</a>
+<a id="8527" class="Symbol">{-#</a> <a id="8531" class="Keyword">BUILTIN</a> <a id="8539" class="Keyword">AGDAERRORPARTNAME</a>   <a id="8559" href="Agda.Builtin.Reflection.html#8315" class="InductiveConstructor">nameErr</a>   <a id="8569" class="Symbol">#-}</a>
+
+<a id="8574" class="Comment">-- TC monad --</a>
+
+<a id="8590" class="Keyword">postulate</a>
+  <a id="TC"></a><a id="8602" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a>               <a id="8619" class="Symbol">:</a> <a id="8621" class="Symbol">∀</a> <a id="8623" class="Symbol">{</a><a id="8624" href="Agda.Builtin.Reflection.html#8624" class="Bound">a</a><a id="8625" class="Symbol">}</a> <a id="8627" class="Symbol">→</a> <a id="8629" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="8633" href="Agda.Builtin.Reflection.html#8624" class="Bound">a</a> <a id="8635" class="Symbol">→</a> <a id="8637" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="8641" href="Agda.Builtin.Reflection.html#8624" class="Bound">a</a>
+  <a id="returnTC"></a><a id="8645" href="Agda.Builtin.Reflection.html#8645" class="Postulate">returnTC</a>         <a id="8662" class="Symbol">:</a> <a id="8664" class="Symbol">∀</a> <a id="8666" class="Symbol">{</a><a id="8667" href="Agda.Builtin.Reflection.html#8667" class="Bound">a</a><a id="8668" class="Symbol">}</a> <a id="8670" class="Symbol">{</a><a id="8671" href="Agda.Builtin.Reflection.html#8671" class="Bound">A</a> <a id="8673" class="Symbol">:</a> <a id="8675" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="8679" href="Agda.Builtin.Reflection.html#8667" class="Bound">a</a><a id="8680" class="Symbol">}</a> <a id="8682" class="Symbol">→</a> <a id="8684" href="Agda.Builtin.Reflection.html#8671" class="Bound">A</a> <a id="8686" class="Symbol">→</a> <a id="8688" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="8691" href="Agda.Builtin.Reflection.html#8671" class="Bound">A</a>
+  <a id="bindTC"></a><a id="8695" href="Agda.Builtin.Reflection.html#8695" class="Postulate">bindTC</a>           <a id="8712" class="Symbol">:</a> <a id="8714" class="Symbol">∀</a> <a id="8716" class="Symbol">{</a><a id="8717" href="Agda.Builtin.Reflection.html#8717" class="Bound">a</a> <a id="8719" href="Agda.Builtin.Reflection.html#8719" class="Bound">b</a><a id="8720" class="Symbol">}</a> <a id="8722" class="Symbol">{</a><a id="8723" href="Agda.Builtin.Reflection.html#8723" class="Bound">A</a> <a id="8725" class="Symbol">:</a> <a id="8727" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="8731" href="Agda.Builtin.Reflection.html#8717" class="Bound">a</a><a id="8732" class="Symbol">}</a> <a id="8734" class="Symbol">{</a><a id="8735" href="Agda.Builtin.Reflection.html#8735" class="Bound">B</a> <a id="8737" class="Symbol">:</a> <a id="8739" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="8743" href="Agda.Builtin.Reflection.html#8719" class="Bound">b</a><a id="8744" class="Symbol">}</a> <a id="8746" class="Symbol">→</a> <a id="8748" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="8751" href="Agda.Builtin.Reflection.html#8723" class="Bound">A</a> <a id="8753" class="Symbol">→</a> <a id="8755" class="Symbol">(</a><a id="8756" href="Agda.Builtin.Reflection.html#8723" class="Bound">A</a> <a id="8758" class="Symbol">→</a> <a id="8760" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="8763" href="Agda.Builtin.Reflection.html#8735" class="Bound">B</a><a id="8764" class="Symbol">)</a> <a id="8766" class="Symbol">→</a> <a id="8768" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="8771" href="Agda.Builtin.Reflection.html#8735" class="Bound">B</a>
+  <a id="unify"></a><a id="8775" href="Agda.Builtin.Reflection.html#8775" class="Postulate">unify</a>            <a id="8792" class="Symbol">:</a> <a id="8794" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a> <a id="8799" class="Symbol">→</a> <a id="8801" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a> <a id="8806" class="Symbol">→</a> <a id="8808" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="8811" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="typeError"></a><a id="8815" href="Agda.Builtin.Reflection.html#8815" class="Postulate">typeError</a>        <a id="8832" class="Symbol">:</a> <a id="8834" class="Symbol">∀</a> <a id="8836" class="Symbol">{</a><a id="8837" href="Agda.Builtin.Reflection.html#8837" class="Bound">a</a><a id="8838" class="Symbol">}</a> <a id="8840" class="Symbol">{</a><a id="8841" href="Agda.Builtin.Reflection.html#8841" class="Bound">A</a> <a id="8843" class="Symbol">:</a> <a id="8845" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="8849" href="Agda.Builtin.Reflection.html#8837" class="Bound">a</a><a id="8850" class="Symbol">}</a> <a id="8852" class="Symbol">→</a> <a id="8854" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="8859" href="Agda.Builtin.Reflection.html#8199" class="Datatype">ErrorPart</a> <a id="8869" class="Symbol">→</a> <a id="8871" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="8874" href="Agda.Builtin.Reflection.html#8841" class="Bound">A</a>
+  <a id="inferType"></a><a id="8878" href="Agda.Builtin.Reflection.html#8878" class="Postulate">inferType</a>        <a id="8895" class="Symbol">:</a> <a id="8897" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a> <a id="8902" class="Symbol">→</a> <a id="8904" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="8907" href="Agda.Builtin.Reflection.html#5064" class="Function">Type</a>
+  <a id="checkType"></a><a id="8914" href="Agda.Builtin.Reflection.html#8914" class="Postulate">checkType</a>        <a id="8931" class="Symbol">:</a> <a id="8933" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a> <a id="8938" class="Symbol">→</a> <a id="8940" href="Agda.Builtin.Reflection.html#5064" class="Function">Type</a> <a id="8945" class="Symbol">→</a> <a id="8947" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="8950" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="normalise"></a><a id="8957" href="Agda.Builtin.Reflection.html#8957" class="Postulate">normalise</a>        <a id="8974" class="Symbol">:</a> <a id="8976" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a> <a id="8981" class="Symbol">→</a> <a id="8983" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="8986" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="reduce"></a><a id="8993" href="Agda.Builtin.Reflection.html#8993" class="Postulate">reduce</a>           <a id="9010" class="Symbol">:</a> <a id="9012" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a> <a id="9017" class="Symbol">→</a> <a id="9019" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9022" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="catchTC"></a><a id="9029" href="Agda.Builtin.Reflection.html#9029" class="Postulate">catchTC</a>          <a id="9046" class="Symbol">:</a> <a id="9048" class="Symbol">∀</a> <a id="9050" class="Symbol">{</a><a id="9051" href="Agda.Builtin.Reflection.html#9051" class="Bound">a</a><a id="9052" class="Symbol">}</a> <a id="9054" class="Symbol">{</a><a id="9055" href="Agda.Builtin.Reflection.html#9055" class="Bound">A</a> <a id="9057" class="Symbol">:</a> <a id="9059" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="9063" href="Agda.Builtin.Reflection.html#9051" class="Bound">a</a><a id="9064" class="Symbol">}</a> <a id="9066" class="Symbol">→</a> <a id="9068" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9071" href="Agda.Builtin.Reflection.html#9055" class="Bound">A</a> <a id="9073" class="Symbol">→</a> <a id="9075" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9078" href="Agda.Builtin.Reflection.html#9055" class="Bound">A</a> <a id="9080" class="Symbol">→</a> <a id="9082" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9085" href="Agda.Builtin.Reflection.html#9055" class="Bound">A</a>
+  <a id="quoteTC"></a><a id="9089" href="Agda.Builtin.Reflection.html#9089" class="Postulate">quoteTC</a>          <a id="9106" class="Symbol">:</a> <a id="9108" class="Symbol">∀</a> <a id="9110" class="Symbol">{</a><a id="9111" href="Agda.Builtin.Reflection.html#9111" class="Bound">a</a><a id="9112" class="Symbol">}</a> <a id="9114" class="Symbol">{</a><a id="9115" href="Agda.Builtin.Reflection.html#9115" class="Bound">A</a> <a id="9117" class="Symbol">:</a> <a id="9119" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="9123" href="Agda.Builtin.Reflection.html#9111" class="Bound">a</a><a id="9124" class="Symbol">}</a> <a id="9126" class="Symbol">→</a> <a id="9128" href="Agda.Builtin.Reflection.html#9115" class="Bound">A</a> <a id="9130" class="Symbol">→</a> <a id="9132" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9135" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="unquoteTC"></a><a id="9142" href="Agda.Builtin.Reflection.html#9142" class="Postulate">unquoteTC</a>        <a id="9159" class="Symbol">:</a> <a id="9161" class="Symbol">∀</a> <a id="9163" class="Symbol">{</a><a id="9164" href="Agda.Builtin.Reflection.html#9164" class="Bound">a</a><a id="9165" class="Symbol">}</a> <a id="9167" class="Symbol">{</a><a id="9168" href="Agda.Builtin.Reflection.html#9168" class="Bound">A</a> <a id="9170" class="Symbol">:</a> <a id="9172" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="9176" href="Agda.Builtin.Reflection.html#9164" class="Bound">a</a><a id="9177" class="Symbol">}</a> <a id="9179" class="Symbol">→</a> <a id="9181" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a> <a id="9186" class="Symbol">→</a> <a id="9188" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9191" href="Agda.Builtin.Reflection.html#9168" class="Bound">A</a>
+  <a id="quoteωTC"></a><a id="9195" href="Agda.Builtin.Reflection.html#9195" class="Postulate">quoteωTC</a>         <a id="9212" class="Symbol">:</a> <a id="9214" class="Symbol">∀</a> <a id="9216" class="Symbol">{</a><a id="9217" href="Agda.Builtin.Reflection.html#9217" class="Bound">A</a> <a id="9219" class="Symbol">:</a> <a id="9221" href="Agda.Primitive.html#512" class="Primitive">Setω</a><a id="9225" class="Symbol">}</a> <a id="9227" class="Symbol">→</a> <a id="9229" href="Agda.Builtin.Reflection.html#9217" class="Bound">A</a> <a id="9231" class="Symbol">→</a> <a id="9233" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9236" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="getContext"></a><a id="9243" href="Agda.Builtin.Reflection.html#9243" class="Postulate">getContext</a>       <a id="9260" class="Symbol">:</a> <a id="9262" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9265" href="Agda.Builtin.Reflection.html#5076" class="Function">Telescope</a>
+  <a id="extendContext"></a><a id="9277" href="Agda.Builtin.Reflection.html#9277" class="Postulate">extendContext</a>    <a id="9294" class="Symbol">:</a> <a id="9296" class="Symbol">∀</a> <a id="9298" class="Symbol">{</a><a id="9299" href="Agda.Builtin.Reflection.html#9299" class="Bound">a</a><a id="9300" class="Symbol">}</a> <a id="9302" class="Symbol">{</a><a id="9303" href="Agda.Builtin.Reflection.html#9303" class="Bound">A</a> <a id="9305" class="Symbol">:</a> <a id="9307" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="9311" href="Agda.Builtin.Reflection.html#9299" class="Bound">a</a><a id="9312" class="Symbol">}</a> <a id="9314" class="Symbol">→</a> <a id="9316" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="9323" class="Symbol">→</a> <a id="9325" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="9329" href="Agda.Builtin.Reflection.html#5064" class="Function">Type</a> <a id="9334" class="Symbol">→</a> <a id="9336" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9339" href="Agda.Builtin.Reflection.html#9303" class="Bound">A</a> <a id="9341" class="Symbol">→</a> <a id="9343" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9346" href="Agda.Builtin.Reflection.html#9303" class="Bound">A</a>
+  <a id="inContext"></a><a id="9350" href="Agda.Builtin.Reflection.html#9350" class="Postulate">inContext</a>        <a id="9367" class="Symbol">:</a> <a id="9369" class="Symbol">∀</a> <a id="9371" class="Symbol">{</a><a id="9372" href="Agda.Builtin.Reflection.html#9372" class="Bound">a</a><a id="9373" class="Symbol">}</a> <a id="9375" class="Symbol">{</a><a id="9376" href="Agda.Builtin.Reflection.html#9376" class="Bound">A</a> <a id="9378" class="Symbol">:</a> <a id="9380" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="9384" href="Agda.Builtin.Reflection.html#9372" class="Bound">a</a><a id="9385" class="Symbol">}</a> <a id="9387" class="Symbol">→</a> <a id="9389" href="Agda.Builtin.Reflection.html#5076" class="Function">Telescope</a> <a id="9399" class="Symbol">→</a> <a id="9401" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9404" href="Agda.Builtin.Reflection.html#9376" class="Bound">A</a> <a id="9406" class="Symbol">→</a> <a id="9408" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9411" href="Agda.Builtin.Reflection.html#9376" class="Bound">A</a>
+  <a id="freshName"></a><a id="9415" href="Agda.Builtin.Reflection.html#9415" class="Postulate">freshName</a>        <a id="9432" class="Symbol">:</a> <a id="9434" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="9441" class="Symbol">→</a> <a id="9443" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9446" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a>
+  <a id="declareDef"></a><a id="9453" href="Agda.Builtin.Reflection.html#9453" class="Postulate">declareDef</a>       <a id="9470" class="Symbol">:</a> <a id="9472" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="9476" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="9481" class="Symbol">→</a> <a id="9483" href="Agda.Builtin.Reflection.html#5064" class="Function">Type</a> <a id="9488" class="Symbol">→</a> <a id="9490" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9493" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="declarePostulate"></a><a id="9497" href="Agda.Builtin.Reflection.html#9497" class="Postulate">declarePostulate</a> <a id="9514" class="Symbol">:</a> <a id="9516" href="Agda.Builtin.Reflection.html#3696" class="Datatype">Arg</a> <a id="9520" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="9525" class="Symbol">→</a> <a id="9527" href="Agda.Builtin.Reflection.html#5064" class="Function">Type</a> <a id="9532" class="Symbol">→</a> <a id="9534" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9537" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="declareData"></a><a id="9541" href="Agda.Builtin.Reflection.html#9541" class="Postulate">declareData</a>      <a id="9558" class="Symbol">:</a> <a id="9560" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="9565" class="Symbol">→</a> <a id="9567" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="9571" class="Symbol">→</a> <a id="9573" href="Agda.Builtin.Reflection.html#5064" class="Function">Type</a> <a id="9578" class="Symbol">→</a> <a id="9580" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9583" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="defineData"></a><a id="9587" href="Agda.Builtin.Reflection.html#9587" class="Postulate">defineData</a>       <a id="9604" class="Symbol">:</a> <a id="9606" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="9611" class="Symbol">→</a> <a id="9613" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="9618" class="Symbol">(</a><a id="9619" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a> <a id="9621" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="9626" class="Symbol">(λ</a> <a id="9629" href="Agda.Builtin.Reflection.html#9629" class="Bound">_</a> <a id="9631" class="Symbol">→</a> <a id="9633" href="Agda.Builtin.Reflection.html#5064" class="Function">Type</a><a id="9637" class="Symbol">))</a> <a id="9640" class="Symbol">→</a> <a id="9642" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9645" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="defineFun"></a><a id="9649" href="Agda.Builtin.Reflection.html#9649" class="Postulate">defineFun</a>        <a id="9666" class="Symbol">:</a> <a id="9668" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="9673" class="Symbol">→</a> <a id="9675" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="9680" href="Agda.Builtin.Reflection.html#5050" class="Datatype">Clause</a> <a id="9687" class="Symbol">→</a> <a id="9689" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9692" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="getType"></a><a id="9696" href="Agda.Builtin.Reflection.html#9696" class="Postulate">getType</a>          <a id="9713" class="Symbol">:</a> <a id="9715" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="9720" class="Symbol">→</a> <a id="9722" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9725" href="Agda.Builtin.Reflection.html#5064" class="Function">Type</a>
+  <a id="getDefinition"></a><a id="9732" href="Agda.Builtin.Reflection.html#9732" class="Postulate">getDefinition</a>    <a id="9749" class="Symbol">:</a> <a id="9751" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="9756" class="Symbol">→</a> <a id="9758" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9761" href="Agda.Builtin.Reflection.html#7485" class="Datatype">Definition</a>
+  <a id="blockTC"></a><a id="9774" href="Agda.Builtin.Reflection.html#9774" class="Postulate">blockTC</a>          <a id="9791" class="Symbol">:</a> <a id="9793" class="Symbol">∀</a> <a id="9795" class="Symbol">{</a><a id="9796" href="Agda.Builtin.Reflection.html#9796" class="Bound">a</a><a id="9797" class="Symbol">}</a> <a id="9799" class="Symbol">{</a><a id="9800" href="Agda.Builtin.Reflection.html#9800" class="Bound">A</a> <a id="9802" class="Symbol">:</a> <a id="9804" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="9808" href="Agda.Builtin.Reflection.html#9796" class="Bound">a</a><a id="9809" class="Symbol">}</a> <a id="9811" class="Symbol">→</a> <a id="9813" href="Agda.Builtin.Reflection.html#3919" class="Datatype">Blocker</a> <a id="9821" class="Symbol">→</a> <a id="9823" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9826" href="Agda.Builtin.Reflection.html#9800" class="Bound">A</a>
+  <a id="commitTC"></a><a id="9830" href="Agda.Builtin.Reflection.html#9830" class="Postulate">commitTC</a>         <a id="9847" class="Symbol">:</a> <a id="9849" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9852" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="isMacro"></a><a id="9856" href="Agda.Builtin.Reflection.html#9856" class="Postulate">isMacro</a>          <a id="9873" class="Symbol">:</a> <a id="9875" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="9880" class="Symbol">→</a> <a id="9882" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9885" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="pragmaForeign"></a><a id="9892" href="Agda.Builtin.Reflection.html#9892" class="Postulate">pragmaForeign</a>    <a id="9909" class="Symbol">:</a> <a id="9911" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="9918" class="Symbol">→</a> <a id="9920" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="9927" class="Symbol">→</a> <a id="9929" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9932" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="pragmaCompile"></a><a id="9936" href="Agda.Builtin.Reflection.html#9936" class="Postulate">pragmaCompile</a>    <a id="9953" class="Symbol">:</a> <a id="9955" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="9962" class="Symbol">→</a> <a id="9964" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="9969" class="Symbol">→</a> <a id="9971" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="9978" class="Symbol">→</a> <a id="9980" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="9983" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+
+  <a id="9988" class="Comment">-- If &#39;true&#39;, makes the following primitives also normalise</a>
+  <a id="10050" class="Comment">-- their results: inferType, checkType, quoteTC, getType, and getContext</a>
+  <a id="withNormalisation"></a><a id="10125" href="Agda.Builtin.Reflection.html#10125" class="Postulate">withNormalisation</a> <a id="10143" class="Symbol">:</a> <a id="10145" class="Symbol">∀</a> <a id="10147" class="Symbol">{</a><a id="10148" href="Agda.Builtin.Reflection.html#10148" class="Bound">a</a><a id="10149" class="Symbol">}</a> <a id="10151" class="Symbol">{</a><a id="10152" href="Agda.Builtin.Reflection.html#10152" class="Bound">A</a> <a id="10154" class="Symbol">:</a> <a id="10156" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="10160" href="Agda.Builtin.Reflection.html#10148" class="Bound">a</a><a id="10161" class="Symbol">}</a> <a id="10163" class="Symbol">→</a> <a id="10165" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="10170" class="Symbol">→</a> <a id="10172" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="10175" href="Agda.Builtin.Reflection.html#10152" class="Bound">A</a> <a id="10177" class="Symbol">→</a> <a id="10179" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="10182" href="Agda.Builtin.Reflection.html#10152" class="Bound">A</a>
+  <a id="askNormalisation"></a><a id="10186" href="Agda.Builtin.Reflection.html#10186" class="Postulate">askNormalisation</a>  <a id="10204" class="Symbol">:</a> <a id="10206" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="10209" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+
+  <a id="10217" class="Comment">-- If &#39;true&#39;, makes the following primitives to reconstruct hidden arguments:</a>
+  <a id="10297" class="Comment">-- getDefinition, normalise, reduce, inferType, checkType and getContext</a>
+  <a id="withReconstructed"></a><a id="10372" href="Agda.Builtin.Reflection.html#10372" class="Postulate">withReconstructed</a> <a id="10390" class="Symbol">:</a> <a id="10392" class="Symbol">∀</a> <a id="10394" class="Symbol">{</a><a id="10395" href="Agda.Builtin.Reflection.html#10395" class="Bound">a</a><a id="10396" class="Symbol">}</a> <a id="10398" class="Symbol">{</a><a id="10399" href="Agda.Builtin.Reflection.html#10399" class="Bound">A</a> <a id="10401" class="Symbol">:</a> <a id="10403" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="10407" href="Agda.Builtin.Reflection.html#10395" class="Bound">a</a><a id="10408" class="Symbol">}</a> <a id="10410" class="Symbol">→</a> <a id="10412" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="10417" class="Symbol">→</a> <a id="10419" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="10422" href="Agda.Builtin.Reflection.html#10399" class="Bound">A</a> <a id="10424" class="Symbol">→</a> <a id="10426" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="10429" href="Agda.Builtin.Reflection.html#10399" class="Bound">A</a>
+  <a id="askReconstructed"></a><a id="10433" href="Agda.Builtin.Reflection.html#10433" class="Postulate">askReconstructed</a>  <a id="10451" class="Symbol">:</a> <a id="10453" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="10456" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+
+  <a id="10464" class="Comment">-- Whether implicit arguments at the end should be turned into metavariables</a>
+  <a id="withExpandLast"></a><a id="10543" href="Agda.Builtin.Reflection.html#10543" class="Postulate">withExpandLast</a> <a id="10558" class="Symbol">:</a> <a id="10560" class="Symbol">∀</a> <a id="10562" class="Symbol">{</a><a id="10563" href="Agda.Builtin.Reflection.html#10563" class="Bound">a</a><a id="10564" class="Symbol">}</a> <a id="10566" class="Symbol">{</a><a id="10567" href="Agda.Builtin.Reflection.html#10567" class="Bound">A</a> <a id="10569" class="Symbol">:</a> <a id="10571" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="10575" href="Agda.Builtin.Reflection.html#10563" class="Bound">a</a><a id="10576" class="Symbol">}</a> <a id="10578" class="Symbol">→</a> <a id="10580" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="10585" class="Symbol">→</a> <a id="10587" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="10590" href="Agda.Builtin.Reflection.html#10567" class="Bound">A</a> <a id="10592" class="Symbol">→</a> <a id="10594" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="10597" href="Agda.Builtin.Reflection.html#10567" class="Bound">A</a>
+  <a id="askExpandLast"></a><a id="10601" href="Agda.Builtin.Reflection.html#10601" class="Postulate">askExpandLast</a>  <a id="10616" class="Symbol">:</a> <a id="10618" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="10621" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+
+  <a id="10629" class="Comment">-- White/blacklist specific definitions for reduction while executing the TC computation</a>
+  <a id="10720" class="Comment">-- &#39;true&#39; for whitelist, &#39;false&#39; for blacklist</a>
+  <a id="withReduceDefs"></a><a id="10769" href="Agda.Builtin.Reflection.html#10769" class="Postulate">withReduceDefs</a> <a id="10784" class="Symbol">:</a> <a id="10786" class="Symbol">∀</a> <a id="10788" class="Symbol">{</a><a id="10789" href="Agda.Builtin.Reflection.html#10789" class="Bound">a</a><a id="10790" class="Symbol">}</a> <a id="10792" class="Symbol">{</a><a id="10793" href="Agda.Builtin.Reflection.html#10793" class="Bound">A</a> <a id="10795" class="Symbol">:</a> <a id="10797" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="10801" href="Agda.Builtin.Reflection.html#10789" class="Bound">a</a><a id="10802" class="Symbol">}</a> <a id="10804" class="Symbol">→</a> <a id="10806" class="Symbol">(</a><a id="10807" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a> <a id="10809" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="10814" class="Symbol">λ</a> <a id="10816" href="Agda.Builtin.Reflection.html#10816" class="Bound">_</a> <a id="10818" class="Symbol">→</a> <a id="10820" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="10825" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a><a id="10829" class="Symbol">)</a> <a id="10831" class="Symbol">→</a> <a id="10833" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="10836" href="Agda.Builtin.Reflection.html#10793" class="Bound">A</a> <a id="10838" class="Symbol">→</a> <a id="10840" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="10843" href="Agda.Builtin.Reflection.html#10793" class="Bound">A</a>
+  <a id="askReduceDefs"></a><a id="10847" href="Agda.Builtin.Reflection.html#10847" class="Postulate">askReduceDefs</a>  <a id="10862" class="Symbol">:</a> <a id="10864" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="10867" class="Symbol">(</a><a id="10868" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a> <a id="10870" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="10875" class="Symbol">λ</a> <a id="10877" href="Agda.Builtin.Reflection.html#10877" class="Bound">_</a> <a id="10879" class="Symbol">→</a> <a id="10881" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="10886" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a><a id="10890" class="Symbol">)</a>
+
+  <a id="formatErrorParts"></a><a id="10895" href="Agda.Builtin.Reflection.html#10895" class="Postulate">formatErrorParts</a> <a id="10912" class="Symbol">:</a> <a id="10914" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="10919" href="Agda.Builtin.Reflection.html#8199" class="Datatype">ErrorPart</a> <a id="10929" class="Symbol">→</a> <a id="10931" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="10934" href="Agda.Builtin.String.html#335" class="Postulate">String</a>
+  <a id="10943" class="Comment">-- Prints the third argument if the corresponding verbosity level is turned</a>
+  <a id="11021" class="Comment">-- on (with the -v flag to Agda).</a>
+  <a id="debugPrint"></a><a id="11057" href="Agda.Builtin.Reflection.html#11057" class="Postulate">debugPrint</a> <a id="11068" class="Symbol">:</a> <a id="11070" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="11077" class="Symbol">→</a> <a id="11079" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="11083" class="Symbol">→</a> <a id="11085" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="11090" href="Agda.Builtin.Reflection.html#8199" class="Datatype">ErrorPart</a> <a id="11100" class="Symbol">→</a> <a id="11102" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="11105" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+
+  <a id="11110" class="Comment">-- Fail if the given computation gives rise to new, unsolved</a>
+  <a id="11173" class="Comment">-- &quot;blocking&quot; constraints.</a>
+  <a id="noConstraints"></a><a id="11202" href="Agda.Builtin.Reflection.html#11202" class="Postulate">noConstraints</a> <a id="11216" class="Symbol">:</a> <a id="11218" class="Symbol">∀</a> <a id="11220" class="Symbol">{</a><a id="11221" href="Agda.Builtin.Reflection.html#11221" class="Bound">a</a><a id="11222" class="Symbol">}</a> <a id="11224" class="Symbol">{</a><a id="11225" href="Agda.Builtin.Reflection.html#11225" class="Bound">A</a> <a id="11227" class="Symbol">:</a> <a id="11229" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="11233" href="Agda.Builtin.Reflection.html#11221" class="Bound">a</a><a id="11234" class="Symbol">}</a> <a id="11236" class="Symbol">→</a> <a id="11238" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="11241" href="Agda.Builtin.Reflection.html#11225" class="Bound">A</a> <a id="11243" class="Symbol">→</a> <a id="11245" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="11248" href="Agda.Builtin.Reflection.html#11225" class="Bound">A</a>
+
+  <a id="11253" class="Comment">-- Run the given TC action and return the first component. Resets to</a>
+  <a id="11324" class="Comment">-- the old TC state if the second component is &#39;false&#39;, or keep the</a>
+  <a id="11394" class="Comment">-- new TC state if it is &#39;true&#39;.</a>
+  <a id="runSpeculative"></a><a id="11429" href="Agda.Builtin.Reflection.html#11429" class="Postulate">runSpeculative</a> <a id="11444" class="Symbol">:</a> <a id="11446" class="Symbol">∀</a> <a id="11448" class="Symbol">{</a><a id="11449" href="Agda.Builtin.Reflection.html#11449" class="Bound">a</a><a id="11450" class="Symbol">}</a> <a id="11452" class="Symbol">{</a><a id="11453" href="Agda.Builtin.Reflection.html#11453" class="Bound">A</a> <a id="11455" class="Symbol">:</a> <a id="11457" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="11461" href="Agda.Builtin.Reflection.html#11449" class="Bound">a</a><a id="11462" class="Symbol">}</a> <a id="11464" class="Symbol">→</a> <a id="11466" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="11469" class="Symbol">(</a><a id="11470" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a> <a id="11472" href="Agda.Builtin.Reflection.html#11453" class="Bound">A</a> <a id="11474" class="Symbol">λ</a> <a id="11476" href="Agda.Builtin.Reflection.html#11476" class="Bound">_</a> <a id="11478" class="Symbol">→</a> <a id="11480" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="11484" class="Symbol">)</a> <a id="11486" class="Symbol">→</a> <a id="11488" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="11491" href="Agda.Builtin.Reflection.html#11453" class="Bound">A</a>
+
+  <a id="11496" class="Comment">-- Get a list of all possible instance candidates for the given meta</a>
+  <a id="11567" class="Comment">-- variable (it does not have to be an instance meta).</a>
+  <a id="getInstances"></a><a id="11624" href="Agda.Builtin.Reflection.html#11624" class="Postulate">getInstances</a> <a id="11637" class="Symbol">:</a> <a id="11639" href="Agda.Builtin.Reflection.html#2457" class="Postulate">Meta</a> <a id="11644" class="Symbol">→</a> <a id="11646" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="11649" class="Symbol">(</a><a id="11650" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="11655" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a><a id="11659" class="Symbol">)</a>
+
+<a id="11662" class="Symbol">{-#</a> <a id="11666" class="Keyword">BUILTIN</a> <a id="11674" class="Keyword">AGDATCM</a>                           <a id="11708" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a>                         <a id="11735" class="Symbol">#-}</a>
+<a id="11739" class="Symbol">{-#</a> <a id="11743" class="Keyword">BUILTIN</a> <a id="11751" class="Keyword">AGDATCMRETURN</a>                     <a id="11785" href="Agda.Builtin.Reflection.html#8645" class="Postulate">returnTC</a>                   <a id="11812" class="Symbol">#-}</a>
+<a id="11816" class="Symbol">{-#</a> <a id="11820" class="Keyword">BUILTIN</a> <a id="11828" class="Keyword">AGDATCMBIND</a>                       <a id="11862" href="Agda.Builtin.Reflection.html#8695" class="Postulate">bindTC</a>                     <a id="11889" class="Symbol">#-}</a>
+<a id="11893" class="Symbol">{-#</a> <a id="11897" class="Keyword">BUILTIN</a> <a id="11905" class="Keyword">AGDATCMUNIFY</a>                      <a id="11939" href="Agda.Builtin.Reflection.html#8775" class="Postulate">unify</a>                      <a id="11966" class="Symbol">#-}</a>
+<a id="11970" class="Symbol">{-#</a> <a id="11974" class="Keyword">BUILTIN</a> <a id="11982" class="Keyword">AGDATCMTYPEERROR</a>                  <a id="12016" href="Agda.Builtin.Reflection.html#8815" class="Postulate">typeError</a>                  <a id="12043" class="Symbol">#-}</a>
+<a id="12047" class="Symbol">{-#</a> <a id="12051" class="Keyword">BUILTIN</a> <a id="12059" class="Keyword">AGDATCMINFERTYPE</a>                  <a id="12093" href="Agda.Builtin.Reflection.html#8878" class="Postulate">inferType</a>                  <a id="12120" class="Symbol">#-}</a>
+<a id="12124" class="Symbol">{-#</a> <a id="12128" class="Keyword">BUILTIN</a> <a id="12136" class="Keyword">AGDATCMCHECKTYPE</a>                  <a id="12170" href="Agda.Builtin.Reflection.html#8914" class="Postulate">checkType</a>                  <a id="12197" class="Symbol">#-}</a>
+<a id="12201" class="Symbol">{-#</a> <a id="12205" class="Keyword">BUILTIN</a> <a id="12213" class="Keyword">AGDATCMNORMALISE</a>                  <a id="12247" href="Agda.Builtin.Reflection.html#8957" class="Postulate">normalise</a>                  <a id="12274" class="Symbol">#-}</a>
+<a id="12278" class="Symbol">{-#</a> <a id="12282" class="Keyword">BUILTIN</a> <a id="12290" class="Keyword">AGDATCMREDUCE</a>                     <a id="12324" href="Agda.Builtin.Reflection.html#8993" class="Postulate">reduce</a>                     <a id="12351" class="Symbol">#-}</a>
+<a id="12355" class="Symbol">{-#</a> <a id="12359" class="Keyword">BUILTIN</a> <a id="12367" class="Keyword">AGDATCMCATCHERROR</a>                 <a id="12401" href="Agda.Builtin.Reflection.html#9029" class="Postulate">catchTC</a>                    <a id="12428" class="Symbol">#-}</a>
+<a id="12432" class="Symbol">{-#</a> <a id="12436" class="Keyword">BUILTIN</a> <a id="12444" class="Keyword">AGDATCMQUOTETERM</a>                  <a id="12478" href="Agda.Builtin.Reflection.html#9089" class="Postulate">quoteTC</a>                    <a id="12505" class="Symbol">#-}</a>
+<a id="12509" class="Symbol">{-#</a> <a id="12513" class="Keyword">BUILTIN</a> <a id="12521" class="Keyword">AGDATCMUNQUOTETERM</a>                <a id="12555" href="Agda.Builtin.Reflection.html#9142" class="Postulate">unquoteTC</a>                  <a id="12582" class="Symbol">#-}</a>
+<a id="12586" class="Symbol">{-#</a> <a id="12590" class="Keyword">BUILTIN</a> <a id="12598" class="Keyword">AGDATCMQUOTEOMEGATERM</a>             <a id="12632" href="Agda.Builtin.Reflection.html#9195" class="Postulate">quoteωTC</a>                   <a id="12659" class="Symbol">#-}</a>
+<a id="12663" class="Symbol">{-#</a> <a id="12667" class="Keyword">BUILTIN</a> <a id="12675" class="Keyword">AGDATCMGETCONTEXT</a>                 <a id="12709" href="Agda.Builtin.Reflection.html#9243" class="Postulate">getContext</a>                 <a id="12736" class="Symbol">#-}</a>
+<a id="12740" class="Symbol">{-#</a> <a id="12744" class="Keyword">BUILTIN</a> <a id="12752" class="Keyword">AGDATCMEXTENDCONTEXT</a>              <a id="12786" href="Agda.Builtin.Reflection.html#9277" class="Postulate">extendContext</a>              <a id="12813" class="Symbol">#-}</a>
+<a id="12817" class="Symbol">{-#</a> <a id="12821" class="Keyword">BUILTIN</a> <a id="12829" class="Keyword">AGDATCMINCONTEXT</a>                  <a id="12863" href="Agda.Builtin.Reflection.html#9350" class="Postulate">inContext</a>                  <a id="12890" class="Symbol">#-}</a>
+<a id="12894" class="Symbol">{-#</a> <a id="12898" class="Keyword">BUILTIN</a> <a id="12906" class="Keyword">AGDATCMFRESHNAME</a>                  <a id="12940" href="Agda.Builtin.Reflection.html#9415" class="Postulate">freshName</a>                  <a id="12967" class="Symbol">#-}</a>
+<a id="12971" class="Symbol">{-#</a> <a id="12975" class="Keyword">BUILTIN</a> <a id="12983" class="Keyword">AGDATCMDECLAREDEF</a>                 <a id="13017" href="Agda.Builtin.Reflection.html#9453" class="Postulate">declareDef</a>                 <a id="13044" class="Symbol">#-}</a>
+<a id="13048" class="Symbol">{-#</a> <a id="13052" class="Keyword">BUILTIN</a> <a id="13060" class="Keyword">AGDATCMDECLAREPOSTULATE</a>           <a id="13094" href="Agda.Builtin.Reflection.html#9497" class="Postulate">declarePostulate</a>           <a id="13121" class="Symbol">#-}</a>
+<a id="13125" class="Symbol">{-#</a> <a id="13129" class="Keyword">BUILTIN</a> <a id="13137" class="Keyword">AGDATCMDECLAREDATA</a>                <a id="13171" href="Agda.Builtin.Reflection.html#9541" class="Postulate">declareData</a>                <a id="13198" class="Symbol">#-}</a>
+<a id="13202" class="Symbol">{-#</a> <a id="13206" class="Keyword">BUILTIN</a> <a id="13214" class="Keyword">AGDATCMDEFINEDATA</a>                 <a id="13248" href="Agda.Builtin.Reflection.html#9587" class="Postulate">defineData</a>                 <a id="13275" class="Symbol">#-}</a>
+<a id="13279" class="Symbol">{-#</a> <a id="13283" class="Keyword">BUILTIN</a> <a id="13291" class="Keyword">AGDATCMDEFINEFUN</a>                  <a id="13325" href="Agda.Builtin.Reflection.html#9649" class="Postulate">defineFun</a>                  <a id="13352" class="Symbol">#-}</a>
+<a id="13356" class="Symbol">{-#</a> <a id="13360" class="Keyword">BUILTIN</a> <a id="13368" class="Keyword">AGDATCMGETTYPE</a>                    <a id="13402" href="Agda.Builtin.Reflection.html#9696" class="Postulate">getType</a>                    <a id="13429" class="Symbol">#-}</a>
+<a id="13433" class="Symbol">{-#</a> <a id="13437" class="Keyword">BUILTIN</a> <a id="13445" class="Keyword">AGDATCMGETDEFINITION</a>              <a id="13479" href="Agda.Builtin.Reflection.html#9732" class="Postulate">getDefinition</a>              <a id="13506" class="Symbol">#-}</a>
+<a id="13510" class="Symbol">{-#</a> <a id="13514" class="Keyword">BUILTIN</a> <a id="13522" class="Keyword">AGDATCMBLOCK</a>                      <a id="13556" href="Agda.Builtin.Reflection.html#9774" class="Postulate">blockTC</a>                    <a id="13583" class="Symbol">#-}</a>
+<a id="13587" class="Symbol">{-#</a> <a id="13591" class="Keyword">BUILTIN</a> <a id="13599" class="Keyword">AGDATCMCOMMIT</a>                     <a id="13633" href="Agda.Builtin.Reflection.html#9830" class="Postulate">commitTC</a>                   <a id="13660" class="Symbol">#-}</a>
+<a id="13664" class="Symbol">{-#</a> <a id="13668" class="Keyword">BUILTIN</a> <a id="13676" class="Keyword">AGDATCMISMACRO</a>                    <a id="13710" href="Agda.Builtin.Reflection.html#9856" class="Postulate">isMacro</a>                    <a id="13737" class="Symbol">#-}</a>
+<a id="13741" class="Symbol">{-#</a> <a id="13745" class="Keyword">BUILTIN</a> <a id="13753" class="Keyword">AGDATCMPRAGMAFOREIGN</a>              <a id="13787" href="Agda.Builtin.Reflection.html#9892" class="Postulate">pragmaForeign</a>              <a id="13814" class="Symbol">#-}</a>
+<a id="13818" class="Symbol">{-#</a> <a id="13822" class="Keyword">BUILTIN</a> <a id="13830" class="Keyword">AGDATCMPRAGMACOMPILE</a>              <a id="13864" href="Agda.Builtin.Reflection.html#9936" class="Postulate">pragmaCompile</a>              <a id="13891" class="Symbol">#-}</a>
+<a id="13895" class="Symbol">{-#</a> <a id="13899" class="Keyword">BUILTIN</a> <a id="13907" class="Keyword">AGDATCMWITHNORMALISATION</a>          <a id="13941" href="Agda.Builtin.Reflection.html#10125" class="Postulate">withNormalisation</a>          <a id="13968" class="Symbol">#-}</a>
+<a id="13972" class="Symbol">{-#</a> <a id="13976" class="Keyword">BUILTIN</a> <a id="13984" class="Keyword">AGDATCMWITHRECONSTRUCTED</a>          <a id="14018" href="Agda.Builtin.Reflection.html#10372" class="Postulate">withReconstructed</a>          <a id="14045" class="Symbol">#-}</a>
+<a id="14049" class="Symbol">{-#</a> <a id="14053" class="Keyword">BUILTIN</a> <a id="14061" class="Keyword">AGDATCMWITHEXPANDLAST</a>             <a id="14095" href="Agda.Builtin.Reflection.html#10543" class="Postulate">withExpandLast</a>             <a id="14122" class="Symbol">#-}</a>
+<a id="14126" class="Symbol">{-#</a> <a id="14130" class="Keyword">BUILTIN</a> <a id="14138" class="Keyword">AGDATCMWITHREDUCEDEFS</a>             <a id="14172" href="Agda.Builtin.Reflection.html#10769" class="Postulate">withReduceDefs</a>             <a id="14199" class="Symbol">#-}</a>
+<a id="14203" class="Symbol">{-#</a> <a id="14207" class="Keyword">BUILTIN</a> <a id="14215" class="Keyword">AGDATCMASKNORMALISATION</a>           <a id="14249" href="Agda.Builtin.Reflection.html#10186" class="Postulate">askNormalisation</a>           <a id="14276" class="Symbol">#-}</a>
+<a id="14280" class="Symbol">{-#</a> <a id="14284" class="Keyword">BUILTIN</a> <a id="14292" class="Keyword">AGDATCMASKRECONSTRUCTED</a>           <a id="14326" href="Agda.Builtin.Reflection.html#10433" class="Postulate">askReconstructed</a>           <a id="14353" class="Symbol">#-}</a>
+<a id="14357" class="Symbol">{-#</a> <a id="14361" class="Keyword">BUILTIN</a> <a id="14369" class="Keyword">AGDATCMASKEXPANDLAST</a>              <a id="14403" href="Agda.Builtin.Reflection.html#10601" class="Postulate">askExpandLast</a>              <a id="14430" class="Symbol">#-}</a>
+<a id="14434" class="Symbol">{-#</a> <a id="14438" class="Keyword">BUILTIN</a> <a id="14446" class="Keyword">AGDATCMASKREDUCEDEFS</a>              <a id="14480" href="Agda.Builtin.Reflection.html#10847" class="Postulate">askReduceDefs</a>              <a id="14507" class="Symbol">#-}</a>
+<a id="14511" class="Symbol">{-#</a> <a id="14515" class="Keyword">BUILTIN</a> <a id="14523" class="Keyword">AGDATCMFORMATERRORPARTS</a>           <a id="14557" href="Agda.Builtin.Reflection.html#10895" class="Postulate">formatErrorParts</a>           <a id="14584" class="Symbol">#-}</a>
+<a id="14588" class="Symbol">{-#</a> <a id="14592" class="Keyword">BUILTIN</a> <a id="14600" class="Keyword">AGDATCMDEBUGPRINT</a>                 <a id="14634" href="Agda.Builtin.Reflection.html#11057" class="Postulate">debugPrint</a>                 <a id="14661" class="Symbol">#-}</a>
+<a id="14665" class="Symbol">{-#</a> <a id="14669" class="Keyword">BUILTIN</a> <a id="14677" class="Keyword">AGDATCMNOCONSTRAINTS</a>              <a id="14711" href="Agda.Builtin.Reflection.html#11202" class="Postulate">noConstraints</a>              <a id="14738" class="Symbol">#-}</a>
+<a id="14742" class="Symbol">{-#</a> <a id="14746" class="Keyword">BUILTIN</a> <a id="14754" class="Keyword">AGDATCMRUNSPECULATIVE</a>             <a id="14788" href="Agda.Builtin.Reflection.html#11429" class="Postulate">runSpeculative</a>             <a id="14815" class="Symbol">#-}</a>
+<a id="14819" class="Symbol">{-#</a> <a id="14823" class="Keyword">BUILTIN</a> <a id="14831" class="Keyword">AGDATCMGETINSTANCES</a>               <a id="14865" href="Agda.Builtin.Reflection.html#11624" class="Postulate">getInstances</a>               <a id="14892" class="Symbol">#-}</a>
+
+<a id="14897" class="Comment">-- All the TC primitives are compiled to functions that return</a>
+<a id="14960" class="Comment">-- undefined, rather than just undefined, in an attempt to make sure</a>
+<a id="15029" class="Comment">-- that code will run properly.</a>
+<a id="15061" class="Symbol">{-#</a> <a id="15065" class="Keyword">COMPILE</a> <a id="15073" class="Keyword">JS</a> <a id="15076" href="Agda.Builtin.Reflection.html#8645" class="Postulate">returnTC</a>          <a id="15094" class="Pragma">=</a> <a id="15096" class="Pragma">_</a> <a id="15098" class="Pragma">=&gt;</a> <a id="15101" class="Pragma">_</a> <a id="15103" class="Pragma">=&gt;</a> <a id="15106" class="Pragma">_</a> <a id="15108" class="Pragma">=&gt;</a>      <a id="15116" class="Pragma">undefined</a> <a id="15126" class="Symbol">#-}</a>
+<a id="15130" class="Symbol">{-#</a> <a id="15134" class="Keyword">COMPILE</a> <a id="15142" class="Keyword">JS</a> <a id="15145" href="Agda.Builtin.Reflection.html#8695" class="Postulate">bindTC</a>            <a id="15163" class="Pragma">=</a> <a id="15165" class="Pragma">_</a> <a id="15167" class="Pragma">=&gt;</a> <a id="15170" class="Pragma">_</a> <a id="15172" class="Pragma">=&gt;</a> <a id="15175" class="Pragma">_</a> <a id="15177" class="Pragma">=&gt;</a> <a id="15180" class="Pragma">_</a> <a id="15182" class="Pragma">=&gt;</a>
+                                   <a id="15220" class="Pragma">_</a> <a id="15222" class="Pragma">=&gt;</a> <a id="15225" class="Pragma">_</a> <a id="15227" class="Pragma">=&gt;</a>           <a id="15240" class="Pragma">undefined</a> <a id="15250" class="Symbol">#-}</a>
+<a id="15254" class="Symbol">{-#</a> <a id="15258" class="Keyword">COMPILE</a> <a id="15266" class="Keyword">JS</a> <a id="15269" href="Agda.Builtin.Reflection.html#8775" class="Postulate">unify</a>             <a id="15287" class="Pragma">=</a> <a id="15289" class="Pragma">_</a> <a id="15291" class="Pragma">=&gt;</a> <a id="15294" class="Pragma">_</a> <a id="15296" class="Pragma">=&gt;</a>           <a id="15309" class="Pragma">undefined</a> <a id="15319" class="Symbol">#-}</a>
+<a id="15323" class="Symbol">{-#</a> <a id="15327" class="Keyword">COMPILE</a> <a id="15335" class="Keyword">JS</a> <a id="15338" href="Agda.Builtin.Reflection.html#8815" class="Postulate">typeError</a>         <a id="15356" class="Pragma">=</a> <a id="15358" class="Pragma">_</a> <a id="15360" class="Pragma">=&gt;</a> <a id="15363" class="Pragma">_</a> <a id="15365" class="Pragma">=&gt;</a> <a id="15368" class="Pragma">_</a> <a id="15370" class="Pragma">=&gt;</a>      <a id="15378" class="Pragma">undefined</a> <a id="15388" class="Symbol">#-}</a>
+<a id="15392" class="Symbol">{-#</a> <a id="15396" class="Keyword">COMPILE</a> <a id="15404" class="Keyword">JS</a> <a id="15407" href="Agda.Builtin.Reflection.html#8878" class="Postulate">inferType</a>         <a id="15425" class="Pragma">=</a> <a id="15427" class="Pragma">_</a> <a id="15429" class="Pragma">=&gt;</a>                <a id="15447" class="Pragma">undefined</a> <a id="15457" class="Symbol">#-}</a>
+<a id="15461" class="Symbol">{-#</a> <a id="15465" class="Keyword">COMPILE</a> <a id="15473" class="Keyword">JS</a> <a id="15476" href="Agda.Builtin.Reflection.html#8914" class="Postulate">checkType</a>         <a id="15494" class="Pragma">=</a> <a id="15496" class="Pragma">_</a> <a id="15498" class="Pragma">=&gt;</a> <a id="15501" class="Pragma">_</a> <a id="15503" class="Pragma">=&gt;</a>           <a id="15516" class="Pragma">undefined</a> <a id="15526" class="Symbol">#-}</a>
+<a id="15530" class="Symbol">{-#</a> <a id="15534" class="Keyword">COMPILE</a> <a id="15542" class="Keyword">JS</a> <a id="15545" href="Agda.Builtin.Reflection.html#8957" class="Postulate">normalise</a>         <a id="15563" class="Pragma">=</a> <a id="15565" class="Pragma">_</a> <a id="15567" class="Pragma">=&gt;</a>                <a id="15585" class="Pragma">undefined</a> <a id="15595" class="Symbol">#-}</a>
+<a id="15599" class="Symbol">{-#</a> <a id="15603" class="Keyword">COMPILE</a> <a id="15611" class="Keyword">JS</a> <a id="15614" href="Agda.Builtin.Reflection.html#8993" class="Postulate">reduce</a>            <a id="15632" class="Pragma">=</a> <a id="15634" class="Pragma">_</a> <a id="15636" class="Pragma">=&gt;</a>                <a id="15654" class="Pragma">undefined</a> <a id="15664" class="Symbol">#-}</a>
+<a id="15668" class="Symbol">{-#</a> <a id="15672" class="Keyword">COMPILE</a> <a id="15680" class="Keyword">JS</a> <a id="15683" href="Agda.Builtin.Reflection.html#9029" class="Postulate">catchTC</a>           <a id="15701" class="Pragma">=</a> <a id="15703" class="Pragma">_</a> <a id="15705" class="Pragma">=&gt;</a> <a id="15708" class="Pragma">_</a> <a id="15710" class="Pragma">=&gt;</a> <a id="15713" class="Pragma">_</a> <a id="15715" class="Pragma">=&gt;</a> <a id="15718" class="Pragma">_</a> <a id="15720" class="Pragma">=&gt;</a> <a id="15723" class="Pragma">undefined</a> <a id="15733" class="Symbol">#-}</a>
+<a id="15737" class="Symbol">{-#</a> <a id="15741" class="Keyword">COMPILE</a> <a id="15749" class="Keyword">JS</a> <a id="15752" href="Agda.Builtin.Reflection.html#9089" class="Postulate">quoteTC</a>           <a id="15770" class="Pragma">=</a> <a id="15772" class="Pragma">_</a> <a id="15774" class="Pragma">=&gt;</a> <a id="15777" class="Pragma">_</a> <a id="15779" class="Pragma">=&gt;</a> <a id="15782" class="Pragma">_</a> <a id="15784" class="Pragma">=&gt;</a>      <a id="15792" class="Pragma">undefined</a> <a id="15802" class="Symbol">#-}</a>
+<a id="15806" class="Symbol">{-#</a> <a id="15810" class="Keyword">COMPILE</a> <a id="15818" class="Keyword">JS</a> <a id="15821" href="Agda.Builtin.Reflection.html#9142" class="Postulate">unquoteTC</a>         <a id="15839" class="Pragma">=</a> <a id="15841" class="Pragma">_</a> <a id="15843" class="Pragma">=&gt;</a> <a id="15846" class="Pragma">_</a> <a id="15848" class="Pragma">=&gt;</a> <a id="15851" class="Pragma">_</a> <a id="15853" class="Pragma">=&gt;</a>      <a id="15861" class="Pragma">undefined</a> <a id="15871" class="Symbol">#-}</a>
+<a id="15875" class="Symbol">{-#</a> <a id="15879" class="Keyword">COMPILE</a> <a id="15887" class="Keyword">JS</a> <a id="15890" href="Agda.Builtin.Reflection.html#9195" class="Postulate">quoteωTC</a>          <a id="15908" class="Pragma">=</a> <a id="15910" class="Pragma">_</a> <a id="15912" class="Pragma">=&gt;</a> <a id="15915" class="Pragma">_</a> <a id="15917" class="Pragma">=&gt;</a>           <a id="15930" class="Pragma">undefined</a> <a id="15940" class="Symbol">#-}</a>
+<a id="15944" class="Symbol">{-#</a> <a id="15948" class="Keyword">COMPILE</a> <a id="15956" class="Keyword">JS</a> <a id="15959" href="Agda.Builtin.Reflection.html#9243" class="Postulate">getContext</a>        <a id="15977" class="Pragma">=</a>                     <a id="15999" class="Pragma">undefined</a> <a id="16009" class="Symbol">#-}</a>
+<a id="16013" class="Symbol">{-#</a> <a id="16017" class="Keyword">COMPILE</a> <a id="16025" class="Keyword">JS</a> <a id="16028" href="Agda.Builtin.Reflection.html#9277" class="Postulate">extendContext</a>     <a id="16046" class="Pragma">=</a> <a id="16048" class="Pragma">_</a> <a id="16050" class="Pragma">=&gt;</a> <a id="16053" class="Pragma">_</a> <a id="16055" class="Pragma">=&gt;</a> <a id="16058" class="Pragma">_</a> <a id="16060" class="Pragma">=&gt;</a> <a id="16063" class="Pragma">_</a> <a id="16065" class="Pragma">=&gt;</a> <a id="16068" class="Pragma">_</a> <a id="16070" class="Pragma">=&gt;</a> <a id="16073" class="Pragma">undefined</a> <a id="16083" class="Symbol">#-}</a>
+<a id="16087" class="Symbol">{-#</a> <a id="16091" class="Keyword">COMPILE</a> <a id="16099" class="Keyword">JS</a> <a id="16102" href="Agda.Builtin.Reflection.html#9350" class="Postulate">inContext</a>         <a id="16120" class="Pragma">=</a> <a id="16122" class="Pragma">_</a> <a id="16124" class="Pragma">=&gt;</a> <a id="16127" class="Pragma">_</a> <a id="16129" class="Pragma">=&gt;</a> <a id="16132" class="Pragma">_</a> <a id="16134" class="Pragma">=&gt;</a> <a id="16137" class="Pragma">_</a> <a id="16139" class="Pragma">=&gt;</a> <a id="16142" class="Pragma">undefined</a> <a id="16152" class="Symbol">#-}</a>
+<a id="16156" class="Symbol">{-#</a> <a id="16160" class="Keyword">COMPILE</a> <a id="16168" class="Keyword">JS</a> <a id="16171" href="Agda.Builtin.Reflection.html#9415" class="Postulate">freshName</a>         <a id="16189" class="Pragma">=</a> <a id="16191" class="Pragma">_</a> <a id="16193" class="Pragma">=&gt;</a>                <a id="16211" class="Pragma">undefined</a> <a id="16221" class="Symbol">#-}</a>
+<a id="16225" class="Symbol">{-#</a> <a id="16229" class="Keyword">COMPILE</a> <a id="16237" class="Keyword">JS</a> <a id="16240" href="Agda.Builtin.Reflection.html#9453" class="Postulate">declareDef</a>        <a id="16258" class="Pragma">=</a> <a id="16260" class="Pragma">_</a> <a id="16262" class="Pragma">=&gt;</a> <a id="16265" class="Pragma">_</a> <a id="16267" class="Pragma">=&gt;</a>           <a id="16280" class="Pragma">undefined</a> <a id="16290" class="Symbol">#-}</a>
+<a id="16294" class="Symbol">{-#</a> <a id="16298" class="Keyword">COMPILE</a> <a id="16306" class="Keyword">JS</a> <a id="16309" href="Agda.Builtin.Reflection.html#9497" class="Postulate">declarePostulate</a>  <a id="16327" class="Pragma">=</a> <a id="16329" class="Pragma">_</a> <a id="16331" class="Pragma">=&gt;</a> <a id="16334" class="Pragma">_</a> <a id="16336" class="Pragma">=&gt;</a>           <a id="16349" class="Pragma">undefined</a> <a id="16359" class="Symbol">#-}</a>
+<a id="16363" class="Symbol">{-#</a> <a id="16367" class="Keyword">COMPILE</a> <a id="16375" class="Keyword">JS</a> <a id="16378" href="Agda.Builtin.Reflection.html#9541" class="Postulate">declareData</a>       <a id="16396" class="Pragma">=</a> <a id="16398" class="Pragma">_</a> <a id="16400" class="Pragma">=&gt;</a> <a id="16403" class="Pragma">_</a> <a id="16405" class="Pragma">=&gt;</a> <a id="16408" class="Pragma">_</a> <a id="16410" class="Pragma">=&gt;</a>      <a id="16418" class="Pragma">undefined</a> <a id="16428" class="Symbol">#-}</a>
+<a id="16432" class="Symbol">{-#</a> <a id="16436" class="Keyword">COMPILE</a> <a id="16444" class="Keyword">JS</a> <a id="16447" href="Agda.Builtin.Reflection.html#9587" class="Postulate">defineData</a>        <a id="16465" class="Pragma">=</a> <a id="16467" class="Pragma">_</a> <a id="16469" class="Pragma">=&gt;</a> <a id="16472" class="Pragma">_</a> <a id="16474" class="Pragma">=&gt;</a>           <a id="16487" class="Pragma">undefined</a> <a id="16497" class="Symbol">#-}</a>
+<a id="16501" class="Symbol">{-#</a> <a id="16505" class="Keyword">COMPILE</a> <a id="16513" class="Keyword">JS</a> <a id="16516" href="Agda.Builtin.Reflection.html#9649" class="Postulate">defineFun</a>         <a id="16534" class="Pragma">=</a> <a id="16536" class="Pragma">_</a> <a id="16538" class="Pragma">=&gt;</a> <a id="16541" class="Pragma">_</a> <a id="16543" class="Pragma">=&gt;</a>           <a id="16556" class="Pragma">undefined</a> <a id="16566" class="Symbol">#-}</a>
+<a id="16570" class="Symbol">{-#</a> <a id="16574" class="Keyword">COMPILE</a> <a id="16582" class="Keyword">JS</a> <a id="16585" href="Agda.Builtin.Reflection.html#9696" class="Postulate">getType</a>           <a id="16603" class="Pragma">=</a> <a id="16605" class="Pragma">_</a> <a id="16607" class="Pragma">=&gt;</a>                <a id="16625" class="Pragma">undefined</a> <a id="16635" class="Symbol">#-}</a>
+<a id="16639" class="Symbol">{-#</a> <a id="16643" class="Keyword">COMPILE</a> <a id="16651" class="Keyword">JS</a> <a id="16654" href="Agda.Builtin.Reflection.html#9732" class="Postulate">getDefinition</a>     <a id="16672" class="Pragma">=</a> <a id="16674" class="Pragma">_</a> <a id="16676" class="Pragma">=&gt;</a>                <a id="16694" class="Pragma">undefined</a> <a id="16704" class="Symbol">#-}</a>
+<a id="16708" class="Symbol">{-#</a> <a id="16712" class="Keyword">COMPILE</a> <a id="16720" class="Keyword">JS</a> <a id="16723" href="Agda.Builtin.Reflection.html#9774" class="Postulate">blockTC</a>           <a id="16741" class="Pragma">=</a> <a id="16743" class="Pragma">_</a> <a id="16745" class="Pragma">=&gt;</a> <a id="16748" class="Pragma">_</a> <a id="16750" class="Pragma">=&gt;</a>           <a id="16763" class="Pragma">undefined</a> <a id="16773" class="Symbol">#-}</a>
+<a id="16777" class="Symbol">{-#</a> <a id="16781" class="Keyword">COMPILE</a> <a id="16789" class="Keyword">JS</a> <a id="16792" href="Agda.Builtin.Reflection.html#9830" class="Postulate">commitTC</a>          <a id="16810" class="Pragma">=</a>                     <a id="16832" class="Pragma">undefined</a> <a id="16842" class="Symbol">#-}</a>
+<a id="16846" class="Symbol">{-#</a> <a id="16850" class="Keyword">COMPILE</a> <a id="16858" class="Keyword">JS</a> <a id="16861" href="Agda.Builtin.Reflection.html#9856" class="Postulate">isMacro</a>           <a id="16879" class="Pragma">=</a> <a id="16881" class="Pragma">_</a> <a id="16883" class="Pragma">=&gt;</a>                <a id="16901" class="Pragma">undefined</a> <a id="16911" class="Symbol">#-}</a>
+<a id="16915" class="Symbol">{-#</a> <a id="16919" class="Keyword">COMPILE</a> <a id="16927" class="Keyword">JS</a> <a id="16930" href="Agda.Builtin.Reflection.html#9892" class="Postulate">pragmaForeign</a>     <a id="16948" class="Pragma">=</a> <a id="16950" class="Pragma">_</a> <a id="16952" class="Pragma">=&gt;</a> <a id="16955" class="Pragma">_</a> <a id="16957" class="Pragma">=&gt;</a>           <a id="16970" class="Pragma">undefined</a> <a id="16980" class="Symbol">#-}</a>
+<a id="16984" class="Symbol">{-#</a> <a id="16988" class="Keyword">COMPILE</a> <a id="16996" class="Keyword">JS</a> <a id="16999" href="Agda.Builtin.Reflection.html#9936" class="Postulate">pragmaCompile</a>     <a id="17017" class="Pragma">=</a> <a id="17019" class="Pragma">_</a> <a id="17021" class="Pragma">=&gt;</a> <a id="17024" class="Pragma">_</a> <a id="17026" class="Pragma">=&gt;</a> <a id="17029" class="Pragma">_</a> <a id="17031" class="Pragma">=&gt;</a>      <a id="17039" class="Pragma">undefined</a> <a id="17049" class="Symbol">#-}</a>
+<a id="17053" class="Symbol">{-#</a> <a id="17057" class="Keyword">COMPILE</a> <a id="17065" class="Keyword">JS</a> <a id="17068" href="Agda.Builtin.Reflection.html#10125" class="Postulate">withNormalisation</a> <a id="17086" class="Pragma">=</a> <a id="17088" class="Pragma">_</a> <a id="17090" class="Pragma">=&gt;</a> <a id="17093" class="Pragma">_</a> <a id="17095" class="Pragma">=&gt;</a> <a id="17098" class="Pragma">_</a> <a id="17100" class="Pragma">=&gt;</a> <a id="17103" class="Pragma">_</a> <a id="17105" class="Pragma">=&gt;</a> <a id="17108" class="Pragma">undefined</a> <a id="17118" class="Symbol">#-}</a>
+<a id="17122" class="Symbol">{-#</a> <a id="17126" class="Keyword">COMPILE</a> <a id="17134" class="Keyword">JS</a> <a id="17137" href="Agda.Builtin.Reflection.html#10372" class="Postulate">withReconstructed</a> <a id="17155" class="Pragma">=</a> <a id="17157" class="Pragma">_</a> <a id="17159" class="Pragma">=&gt;</a> <a id="17162" class="Pragma">_</a> <a id="17164" class="Pragma">=&gt;</a> <a id="17167" class="Pragma">_</a> <a id="17169" class="Pragma">=&gt;</a> <a id="17172" class="Pragma">_</a> <a id="17174" class="Pragma">=&gt;</a> <a id="17177" class="Pragma">undefined</a> <a id="17187" class="Symbol">#-}</a>
+<a id="17191" class="Symbol">{-#</a> <a id="17195" class="Keyword">COMPILE</a> <a id="17203" class="Keyword">JS</a> <a id="17206" href="Agda.Builtin.Reflection.html#10543" class="Postulate">withExpandLast</a>    <a id="17224" class="Pragma">=</a> <a id="17226" class="Pragma">_</a> <a id="17228" class="Pragma">=&gt;</a> <a id="17231" class="Pragma">_</a> <a id="17233" class="Pragma">=&gt;</a> <a id="17236" class="Pragma">_</a> <a id="17238" class="Pragma">=&gt;</a> <a id="17241" class="Pragma">_</a> <a id="17243" class="Pragma">=&gt;</a> <a id="17246" class="Pragma">undefined</a> <a id="17256" class="Symbol">#-}</a>
+<a id="17260" class="Symbol">{-#</a> <a id="17264" class="Keyword">COMPILE</a> <a id="17272" class="Keyword">JS</a> <a id="17275" href="Agda.Builtin.Reflection.html#10769" class="Postulate">withReduceDefs</a>    <a id="17293" class="Pragma">=</a> <a id="17295" class="Pragma">_</a> <a id="17297" class="Pragma">=&gt;</a> <a id="17300" class="Pragma">_</a> <a id="17302" class="Pragma">=&gt;</a> <a id="17305" class="Pragma">_</a> <a id="17307" class="Pragma">=&gt;</a> <a id="17310" class="Pragma">_</a> <a id="17312" class="Pragma">=&gt;</a> <a id="17315" class="Pragma">undefined</a> <a id="17325" class="Symbol">#-}</a>
+<a id="17329" class="Symbol">{-#</a> <a id="17333" class="Keyword">COMPILE</a> <a id="17341" class="Keyword">JS</a> <a id="17344" href="Agda.Builtin.Reflection.html#10186" class="Postulate">askNormalisation</a>  <a id="17362" class="Pragma">=</a>                     <a id="17384" class="Pragma">undefined</a> <a id="17394" class="Symbol">#-}</a>
+<a id="17398" class="Symbol">{-#</a> <a id="17402" class="Keyword">COMPILE</a> <a id="17410" class="Keyword">JS</a> <a id="17413" href="Agda.Builtin.Reflection.html#10433" class="Postulate">askReconstructed</a>  <a id="17431" class="Pragma">=</a>                     <a id="17453" class="Pragma">undefined</a> <a id="17463" class="Symbol">#-}</a>
+<a id="17467" class="Symbol">{-#</a> <a id="17471" class="Keyword">COMPILE</a> <a id="17479" class="Keyword">JS</a> <a id="17482" href="Agda.Builtin.Reflection.html#10601" class="Postulate">askExpandLast</a>     <a id="17500" class="Pragma">=</a>                     <a id="17522" class="Pragma">undefined</a> <a id="17532" class="Symbol">#-}</a>
+<a id="17536" class="Symbol">{-#</a> <a id="17540" class="Keyword">COMPILE</a> <a id="17548" class="Keyword">JS</a> <a id="17551" href="Agda.Builtin.Reflection.html#10847" class="Postulate">askReduceDefs</a>     <a id="17569" class="Pragma">=</a>                     <a id="17591" class="Pragma">undefined</a> <a id="17601" class="Symbol">#-}</a>
+<a id="17605" class="Symbol">{-#</a> <a id="17609" class="Keyword">COMPILE</a> <a id="17617" class="Keyword">JS</a> <a id="17620" href="Agda.Builtin.Reflection.html#11057" class="Postulate">debugPrint</a>        <a id="17638" class="Pragma">=</a> <a id="17640" class="Pragma">_</a> <a id="17642" class="Pragma">=&gt;</a> <a id="17645" class="Pragma">_</a> <a id="17647" class="Pragma">=&gt;</a> <a id="17650" class="Pragma">_</a> <a id="17652" class="Pragma">=&gt;</a>      <a id="17660" class="Pragma">undefined</a> <a id="17670" class="Symbol">#-}</a>
+<a id="17674" class="Symbol">{-#</a> <a id="17678" class="Keyword">COMPILE</a> <a id="17686" class="Keyword">JS</a> <a id="17689" href="Agda.Builtin.Reflection.html#11202" class="Postulate">noConstraints</a>     <a id="17707" class="Pragma">=</a> <a id="17709" class="Pragma">_</a> <a id="17711" class="Pragma">=&gt;</a> <a id="17714" class="Pragma">_</a> <a id="17716" class="Pragma">=&gt;</a> <a id="17719" class="Pragma">_</a> <a id="17721" class="Pragma">=&gt;</a>      <a id="17729" class="Pragma">undefined</a> <a id="17739" class="Symbol">#-}</a>
+<a id="17743" class="Symbol">{-#</a> <a id="17747" class="Keyword">COMPILE</a> <a id="17755" class="Keyword">JS</a> <a id="17758" href="Agda.Builtin.Reflection.html#11429" class="Postulate">runSpeculative</a>    <a id="17776" class="Pragma">=</a> <a id="17778" class="Pragma">_</a> <a id="17780" class="Pragma">=&gt;</a> <a id="17783" class="Pragma">_</a> <a id="17785" class="Pragma">=&gt;</a> <a id="17788" class="Pragma">_</a> <a id="17790" class="Pragma">=&gt;</a>      <a id="17798" class="Pragma">undefined</a> <a id="17808" class="Symbol">#-}</a>
+<a id="17812" class="Symbol">{-#</a> <a id="17816" class="Keyword">COMPILE</a> <a id="17824" class="Keyword">JS</a> <a id="17827" href="Agda.Builtin.Reflection.html#11624" class="Postulate">getInstances</a>      <a id="17845" class="Pragma">=</a> <a id="17847" class="Pragma">_</a> <a id="17849" class="Pragma">=&gt;</a>                <a id="17867" class="Pragma">undefined</a> <a id="17877" class="Symbol">#-}</a>
+
+<a id="17882" class="Keyword">private</a>
+  <a id="filter"></a><a id="17892" href="Agda.Builtin.Reflection.html#17892" class="Function">filter</a> <a id="17899" class="Symbol">:</a> <a id="17901" class="Symbol">(</a><a id="17902" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="17907" class="Symbol">→</a> <a id="17909" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="17913" class="Symbol">)</a> <a id="17915" class="Symbol">→</a> <a id="17917" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="17922" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="17927" class="Symbol">→</a> <a id="17929" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="17934" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a>
+  <a id="17941" href="Agda.Builtin.Reflection.html#17892" class="Function">filter</a> <a id="17948" href="Agda.Builtin.Reflection.html#17948" class="Bound">p</a> <a id="17950" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="17953" class="Symbol">=</a> <a id="17955" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+  <a id="17960" href="Agda.Builtin.Reflection.html#17892" class="Function">filter</a> <a id="17967" href="Agda.Builtin.Reflection.html#17967" class="Bound">p</a> <a id="17969" class="Symbol">(</a><a id="17970" href="Agda.Builtin.Reflection.html#17970" class="Bound">x</a> <a id="17972" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="17974" href="Agda.Builtin.Reflection.html#17974" class="Bound">xs</a><a id="17976" class="Symbol">)</a> <a id="17978" class="Keyword">with</a> <a id="17983" href="Agda.Builtin.Reflection.html#17967" class="Bound">p</a> <a id="17985" href="Agda.Builtin.Reflection.html#17970" class="Bound">x</a>
+  <a id="17989" class="Symbol">...</a> <a id="17993" class="Symbol">|</a> <a id="17995" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>  <a id="18001" class="Symbol">=</a> <a id="18003" class="Bound">x</a> <a id="18005" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="18007" href="Agda.Builtin.Reflection.html#17892" class="Function">filter</a> <a id="18014" class="Bound">p</a> <a id="18016" class="Bound">xs</a>
+  <a id="18021" class="Symbol">...</a> <a id="18025" class="Symbol">|</a> <a id="18027" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a> <a id="18033" class="Symbol">=</a> <a id="18035" href="Agda.Builtin.Reflection.html#17892" class="Function">filter</a> <a id="18042" class="Bound">p</a> <a id="18044" class="Bound">xs</a>
+
+  <a id="_∈_"></a><a id="18050" href="Agda.Builtin.Reflection.html#18050" class="Function Operator">_∈_</a> <a id="18054" class="Symbol">:</a> <a id="18056" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="18061" class="Symbol">→</a> <a id="18063" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="18068" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="18073" class="Symbol">→</a> <a id="18075" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="18082" href="Agda.Builtin.Reflection.html#18082" class="Bound">n</a> <a id="18084" href="Agda.Builtin.Reflection.html#18050" class="Function Operator">∈</a> <a id="18086" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>      <a id="18094" class="Symbol">=</a> <a id="18096" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a>
+  <a id="18104" href="Agda.Builtin.Reflection.html#18104" class="Bound">n</a> <a id="18106" href="Agda.Builtin.Reflection.html#18050" class="Function Operator">∈</a> <a id="18108" class="Symbol">(</a><a id="18109" href="Agda.Builtin.Reflection.html#18109" class="Bound">n&#39;</a> <a id="18112" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="18114" href="Agda.Builtin.Reflection.html#18114" class="Bound">l</a><a id="18115" class="Symbol">)</a> <a id="18117" class="Keyword">with</a> <a id="18122" href="Agda.Builtin.Reflection.html#539" class="Primitive">primQNameEquality</a> <a id="18140" href="Agda.Builtin.Reflection.html#18104" class="Bound">n</a> <a id="18142" href="Agda.Builtin.Reflection.html#18109" class="Bound">n&#39;</a>
+  <a id="18147" class="Symbol">...</a> <a id="18151" class="Symbol">|</a> <a id="18153" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>  <a id="18159" class="Symbol">=</a> <a id="18161" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>
+  <a id="18168" class="Symbol">...</a> <a id="18172" class="Symbol">|</a> <a id="18174" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a> <a id="18180" class="Symbol">=</a> <a id="18182" class="Bound">n</a> <a id="18184" href="Agda.Builtin.Reflection.html#18050" class="Function Operator">∈</a> <a id="18186" class="Bound">l</a>
+
+  <a id="_∉_"></a><a id="18191" href="Agda.Builtin.Reflection.html#18191" class="Function Operator">_∉_</a> <a id="18195" class="Symbol">:</a> <a id="18197" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="18202" class="Symbol">→</a> <a id="18204" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="18209" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="18214" class="Symbol">→</a> <a id="18216" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="18223" href="Agda.Builtin.Reflection.html#18223" class="Bound">n</a> <a id="18225" href="Agda.Builtin.Reflection.html#18191" class="Function Operator">∉</a> <a id="18227" href="Agda.Builtin.Reflection.html#18227" class="Bound">l</a> <a id="18229" class="Keyword">with</a> <a id="18234" href="Agda.Builtin.Reflection.html#18223" class="Bound">n</a> <a id="18236" href="Agda.Builtin.Reflection.html#18050" class="Function Operator">∈</a> <a id="18238" href="Agda.Builtin.Reflection.html#18227" class="Bound">l</a>
+  <a id="18242" class="Symbol">...</a> <a id="18246" class="Symbol">|</a> <a id="18248" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>  <a id="18254" class="Symbol">=</a> <a id="18256" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a>
+  <a id="18264" class="Symbol">...</a> <a id="18268" class="Symbol">|</a> <a id="18270" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a> <a id="18276" class="Symbol">=</a> <a id="18278" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>
+
+  <a id="_++_"></a><a id="18286" href="Agda.Builtin.Reflection.html#18286" class="Function Operator">_++_</a> <a id="18291" class="Symbol">:</a> <a id="18293" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="18298" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="18303" class="Symbol">→</a> <a id="18305" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="18310" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="18315" class="Symbol">→</a> <a id="18317" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="18322" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a>
+  <a id="18329" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="18332" href="Agda.Builtin.Reflection.html#18286" class="Function Operator">++</a> <a id="18335" href="Agda.Builtin.Reflection.html#18335" class="Bound">l</a>       <a id="18343" class="Symbol">=</a> <a id="18345" href="Agda.Builtin.Reflection.html#18335" class="Bound">l</a>
+  <a id="18349" class="Symbol">(</a><a id="18350" href="Agda.Builtin.Reflection.html#18350" class="Bound">x</a> <a id="18352" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="18354" href="Agda.Builtin.Reflection.html#18354" class="Bound">xs</a><a id="18356" class="Symbol">)</a> <a id="18358" href="Agda.Builtin.Reflection.html#18286" class="Function Operator">++</a> <a id="18361" href="Agda.Builtin.Reflection.html#18361" class="Bound">l</a> <a id="18363" class="Symbol">=</a> <a id="18365" href="Agda.Builtin.Reflection.html#18350" class="Bound">x</a> <a id="18367" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="18369" class="Symbol">(</a><a id="18370" href="Agda.Builtin.Reflection.html#18354" class="Bound">xs</a> <a id="18373" href="Agda.Builtin.Reflection.html#18286" class="Function Operator">++</a> <a id="18376" href="Agda.Builtin.Reflection.html#18361" class="Bound">l</a><a id="18377" class="Symbol">)</a>
+
+  <a id="combineReduceDefs"></a><a id="18382" href="Agda.Builtin.Reflection.html#18382" class="Function">combineReduceDefs</a> <a id="18400" class="Symbol">:</a> <a id="18402" class="Symbol">(</a><a id="18403" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a> <a id="18405" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="18410" class="Symbol">λ</a> <a id="18412" href="Agda.Builtin.Reflection.html#18412" class="Bound">_</a> <a id="18414" class="Symbol">→</a> <a id="18416" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="18421" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a><a id="18425" class="Symbol">)</a> <a id="18427" class="Symbol">→</a> <a id="18429" class="Symbol">(</a><a id="18430" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a> <a id="18432" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="18437" class="Symbol">λ</a> <a id="18439" href="Agda.Builtin.Reflection.html#18439" class="Bound">_</a> <a id="18441" class="Symbol">→</a> <a id="18443" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="18448" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a><a id="18452" class="Symbol">)</a> <a id="18454" class="Symbol">→</a> <a id="18456" class="Symbol">(</a><a id="18457" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a> <a id="18459" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="18464" class="Symbol">λ</a> <a id="18466" href="Agda.Builtin.Reflection.html#18466" class="Bound">_</a> <a id="18468" class="Symbol">→</a> <a id="18470" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="18475" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a><a id="18479" class="Symbol">)</a>
+  <a id="18483" href="Agda.Builtin.Reflection.html#18382" class="Function">combineReduceDefs</a> <a id="18501" class="Symbol">(</a><a id="18502" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>  <a id="18508" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18510" href="Agda.Builtin.Reflection.html#18510" class="Bound">defs₁</a><a id="18515" class="Symbol">)</a> <a id="18517" class="Symbol">(</a><a id="18518" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>  <a id="18524" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18526" href="Agda.Builtin.Reflection.html#18526" class="Bound">defs₂</a><a id="18531" class="Symbol">)</a> <a id="18533" class="Symbol">=</a> <a id="18535" class="Symbol">(</a><a id="18536" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>  <a id="18542" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18544" href="Agda.Builtin.Reflection.html#17892" class="Function">filter</a> <a id="18551" class="Symbol">(</a><a id="18552" href="Agda.Builtin.Reflection.html#18050" class="Function Operator">_∈</a> <a id="18555" href="Agda.Builtin.Reflection.html#18510" class="Bound">defs₁</a><a id="18560" class="Symbol">)</a> <a id="18562" href="Agda.Builtin.Reflection.html#18526" class="Bound">defs₂</a><a id="18567" class="Symbol">)</a>
+  <a id="18571" href="Agda.Builtin.Reflection.html#18382" class="Function">combineReduceDefs</a> <a id="18589" class="Symbol">(</a><a id="18590" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a> <a id="18596" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18598" href="Agda.Builtin.Reflection.html#18598" class="Bound">defs₁</a><a id="18603" class="Symbol">)</a> <a id="18605" class="Symbol">(</a><a id="18606" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>  <a id="18612" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18614" href="Agda.Builtin.Reflection.html#18614" class="Bound">defs₂</a><a id="18619" class="Symbol">)</a> <a id="18621" class="Symbol">=</a> <a id="18623" class="Symbol">(</a><a id="18624" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>  <a id="18630" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18632" href="Agda.Builtin.Reflection.html#17892" class="Function">filter</a> <a id="18639" class="Symbol">(</a><a id="18640" href="Agda.Builtin.Reflection.html#18191" class="Function Operator">_∉</a> <a id="18643" href="Agda.Builtin.Reflection.html#18598" class="Bound">defs₁</a><a id="18648" class="Symbol">)</a> <a id="18650" href="Agda.Builtin.Reflection.html#18614" class="Bound">defs₂</a><a id="18655" class="Symbol">)</a>
+  <a id="18659" href="Agda.Builtin.Reflection.html#18382" class="Function">combineReduceDefs</a> <a id="18677" class="Symbol">(</a><a id="18678" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>  <a id="18684" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18686" href="Agda.Builtin.Reflection.html#18686" class="Bound">defs₁</a><a id="18691" class="Symbol">)</a> <a id="18693" class="Symbol">(</a><a id="18694" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a> <a id="18700" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18702" href="Agda.Builtin.Reflection.html#18702" class="Bound">defs₂</a><a id="18707" class="Symbol">)</a> <a id="18709" class="Symbol">=</a> <a id="18711" class="Symbol">(</a><a id="18712" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>  <a id="18718" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18720" href="Agda.Builtin.Reflection.html#17892" class="Function">filter</a> <a id="18727" class="Symbol">(</a><a id="18728" href="Agda.Builtin.Reflection.html#18191" class="Function Operator">_∉</a> <a id="18731" href="Agda.Builtin.Reflection.html#18702" class="Bound">defs₂</a><a id="18736" class="Symbol">)</a> <a id="18738" href="Agda.Builtin.Reflection.html#18686" class="Bound">defs₁</a><a id="18743" class="Symbol">)</a>
+  <a id="18747" href="Agda.Builtin.Reflection.html#18382" class="Function">combineReduceDefs</a> <a id="18765" class="Symbol">(</a><a id="18766" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a> <a id="18772" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18774" href="Agda.Builtin.Reflection.html#18774" class="Bound">defs₁</a><a id="18779" class="Symbol">)</a> <a id="18781" class="Symbol">(</a><a id="18782" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a> <a id="18788" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18790" href="Agda.Builtin.Reflection.html#18790" class="Bound">defs₂</a><a id="18795" class="Symbol">)</a> <a id="18797" class="Symbol">=</a> <a id="18799" class="Symbol">(</a><a id="18800" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a> <a id="18806" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18808" href="Agda.Builtin.Reflection.html#18774" class="Bound">defs₁</a> <a id="18814" href="Agda.Builtin.Reflection.html#18286" class="Function Operator">++</a> <a id="18817" href="Agda.Builtin.Reflection.html#18790" class="Bound">defs₂</a><a id="18822" class="Symbol">)</a>
+
+<a id="onlyReduceDefs"></a><a id="18825" href="Agda.Builtin.Reflection.html#18825" class="Function">onlyReduceDefs</a> <a id="dontReduceDefs"></a><a id="18840" href="Agda.Builtin.Reflection.html#18840" class="Function">dontReduceDefs</a> <a id="18855" class="Symbol">:</a> <a id="18857" class="Symbol">∀</a> <a id="18859" class="Symbol">{</a><a id="18860" href="Agda.Builtin.Reflection.html#18860" class="Bound">a</a><a id="18861" class="Symbol">}</a> <a id="18863" class="Symbol">{</a><a id="18864" href="Agda.Builtin.Reflection.html#18864" class="Bound">A</a> <a id="18866" class="Symbol">:</a> <a id="18868" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="18872" href="Agda.Builtin.Reflection.html#18860" class="Bound">a</a><a id="18873" class="Symbol">}</a> <a id="18875" class="Symbol">→</a> <a id="18877" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="18882" href="Agda.Builtin.Reflection.html#488" class="Postulate">Name</a> <a id="18887" class="Symbol">→</a> <a id="18889" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="18892" href="Agda.Builtin.Reflection.html#18864" class="Bound">A</a> <a id="18894" class="Symbol">→</a> <a id="18896" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="18899" href="Agda.Builtin.Reflection.html#18864" class="Bound">A</a>
+<a id="18901" href="Agda.Builtin.Reflection.html#18825" class="Function">onlyReduceDefs</a> <a id="18916" href="Agda.Builtin.Reflection.html#18916" class="Bound">defs</a> <a id="18921" href="Agda.Builtin.Reflection.html#18921" class="Bound">x</a> <a id="18923" class="Symbol">=</a> <a id="18925" href="Agda.Builtin.Reflection.html#8695" class="Postulate">bindTC</a> <a id="18932" href="Agda.Builtin.Reflection.html#10847" class="Postulate">askReduceDefs</a> <a id="18946" class="Symbol">(λ</a> <a id="18949" href="Agda.Builtin.Reflection.html#18949" class="Bound">exDefs</a> <a id="18956" class="Symbol">→</a> <a id="18958" href="Agda.Builtin.Reflection.html#10769" class="Postulate">withReduceDefs</a> <a id="18973" class="Symbol">(</a><a id="18974" href="Agda.Builtin.Reflection.html#18382" class="Function">combineReduceDefs</a> <a id="18992" class="Symbol">(</a><a id="18993" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a>  <a id="18999" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="19001" href="Agda.Builtin.Reflection.html#18916" class="Bound">defs</a><a id="19005" class="Symbol">)</a> <a id="19007" href="Agda.Builtin.Reflection.html#18949" class="Bound">exDefs</a><a id="19013" class="Symbol">)</a> <a id="19015" href="Agda.Builtin.Reflection.html#18921" class="Bound">x</a><a id="19016" class="Symbol">)</a>
+<a id="19018" href="Agda.Builtin.Reflection.html#18840" class="Function">dontReduceDefs</a> <a id="19033" href="Agda.Builtin.Reflection.html#19033" class="Bound">defs</a> <a id="19038" href="Agda.Builtin.Reflection.html#19038" class="Bound">x</a> <a id="19040" class="Symbol">=</a> <a id="19042" href="Agda.Builtin.Reflection.html#8695" class="Postulate">bindTC</a> <a id="19049" href="Agda.Builtin.Reflection.html#10847" class="Postulate">askReduceDefs</a> <a id="19063" class="Symbol">(λ</a> <a id="19066" href="Agda.Builtin.Reflection.html#19066" class="Bound">exDefs</a> <a id="19073" class="Symbol">→</a> <a id="19075" href="Agda.Builtin.Reflection.html#10769" class="Postulate">withReduceDefs</a> <a id="19090" class="Symbol">(</a><a id="19091" href="Agda.Builtin.Reflection.html#18382" class="Function">combineReduceDefs</a> <a id="19109" class="Symbol">(</a><a id="19110" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a> <a id="19116" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="19118" href="Agda.Builtin.Reflection.html#19033" class="Bound">defs</a><a id="19122" class="Symbol">)</a> <a id="19124" href="Agda.Builtin.Reflection.html#19066" class="Bound">exDefs</a><a id="19130" class="Symbol">)</a> <a id="19132" href="Agda.Builtin.Reflection.html#19038" class="Bound">x</a><a id="19133" class="Symbol">)</a>
+
+<a id="blockOnMeta"></a><a id="19136" href="Agda.Builtin.Reflection.html#19136" class="Function">blockOnMeta</a>   <a id="19150" class="Symbol">:</a> <a id="19152" class="Symbol">∀</a> <a id="19154" class="Symbol">{</a><a id="19155" href="Agda.Builtin.Reflection.html#19155" class="Bound">a</a><a id="19156" class="Symbol">}</a> <a id="19158" class="Symbol">{</a><a id="19159" href="Agda.Builtin.Reflection.html#19159" class="Bound">A</a> <a id="19161" class="Symbol">:</a> <a id="19163" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="19167" href="Agda.Builtin.Reflection.html#19155" class="Bound">a</a><a id="19168" class="Symbol">}</a> <a id="19170" class="Symbol">→</a> <a id="19172" href="Agda.Builtin.Reflection.html#2457" class="Postulate">Meta</a> <a id="19177" class="Symbol">→</a> <a id="19179" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="19182" href="Agda.Builtin.Reflection.html#19159" class="Bound">A</a>
+<a id="19184" href="Agda.Builtin.Reflection.html#19136" class="Function">blockOnMeta</a> <a id="19196" href="Agda.Builtin.Reflection.html#19196" class="Bound">m</a> <a id="19198" class="Symbol">=</a> <a id="19200" href="Agda.Builtin.Reflection.html#9774" class="Postulate">blockTC</a> <a id="19208" class="Symbol">(</a><a id="19209" href="Agda.Builtin.Reflection.html#4019" class="InductiveConstructor">blockerMeta</a> <a id="19221" href="Agda.Builtin.Reflection.html#19196" class="Bound">m</a><a id="19222" class="Symbol">)</a>
+
+<a id="19225" class="Symbol">{-#</a> <a id="19229" class="Keyword">WARNING_ON_USAGE</a> <a id="19246" class="Pragma">onlyReduceDefs</a> <a id="19261" class="String">&quot;DEPRECATED: Use `withReduceDefs` instead of `onlyReduceDefs`&quot;</a> <a id="19324" class="Symbol">#-}</a>
+<a id="19328" class="Symbol">{-#</a> <a id="19332" class="Keyword">WARNING_ON_USAGE</a> <a id="19349" class="Pragma">dontReduceDefs</a> <a id="19364" class="String">&quot;DEPRECATED: Use `withReduceDefs` instead of `dontReduceDefs`&quot;</a> <a id="19427" class="Symbol">#-}</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.Sigma.html b/lib/Agda.Builtin.Sigma.html
new file mode 100644
index 00000000..1aa3a993
--- /dev/null
+++ b/lib/Agda.Builtin.Sigma.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.Sigma</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-sized-types</a> <a id="58" class="Pragma">--no-guardedness</a> <a id="75" class="Pragma">--level-universe</a> <a id="92" class="Symbol">#-}</a>
+
+<a id="97" class="Keyword">module</a> <a id="104" href="Agda.Builtin.Sigma.html" class="Module">Agda.Builtin.Sigma</a> <a id="123" class="Keyword">where</a>
+
+<a id="130" class="Keyword">open</a> <a id="135" class="Keyword">import</a> <a id="142" href="Agda.Primitive.html" class="Module">Agda.Primitive</a>
+
+<a id="158" class="Keyword">record</a> <a id="Σ"></a><a id="165" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a> <a id="167" class="Symbol">{</a><a id="168" href="Agda.Builtin.Sigma.html#168" class="Bound">a</a> <a id="170" href="Agda.Builtin.Sigma.html#170" class="Bound">b</a><a id="171" class="Symbol">}</a> <a id="173" class="Symbol">(</a><a id="174" href="Agda.Builtin.Sigma.html#174" class="Bound">A</a> <a id="176" class="Symbol">:</a> <a id="178" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="182" href="Agda.Builtin.Sigma.html#168" class="Bound">a</a><a id="183" class="Symbol">)</a> <a id="185" class="Symbol">(</a><a id="186" href="Agda.Builtin.Sigma.html#186" class="Bound">B</a> <a id="188" class="Symbol">:</a> <a id="190" href="Agda.Builtin.Sigma.html#174" class="Bound">A</a> <a id="192" class="Symbol">→</a> <a id="194" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="198" href="Agda.Builtin.Sigma.html#170" class="Bound">b</a><a id="199" class="Symbol">)</a> <a id="201" class="Symbol">:</a> <a id="203" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="207" class="Symbol">(</a><a id="208" href="Agda.Builtin.Sigma.html#168" class="Bound">a</a> <a id="210" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="212" href="Agda.Builtin.Sigma.html#170" class="Bound">b</a><a id="213" class="Symbol">)</a> <a id="215" class="Keyword">where</a>
+  <a id="223" class="Keyword">constructor</a> <a id="_,_"></a><a id="235" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a>
+  <a id="241" class="Keyword">field</a>
+    <a id="Σ.fst"></a><a id="251" href="Agda.Builtin.Sigma.html#251" class="Field">fst</a> <a id="255" class="Symbol">:</a> <a id="257" href="Agda.Builtin.Sigma.html#174" class="Bound">A</a>
+    <a id="Σ.snd"></a><a id="263" href="Agda.Builtin.Sigma.html#263" class="Field">snd</a> <a id="267" class="Symbol">:</a> <a id="269" href="Agda.Builtin.Sigma.html#186" class="Bound">B</a> <a id="271" href="Agda.Builtin.Sigma.html#251" class="Field">fst</a>
+
+<a id="276" class="Keyword">open</a> <a id="281" href="Agda.Builtin.Sigma.html#165" class="Module">Σ</a> <a id="283" class="Keyword">public</a>
+
+<a id="291" class="Keyword">infixr</a> <a id="298" class="Number">4</a> <a id="300" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a>
+
+<a id="305" class="Symbol">{-#</a> <a id="309" class="Keyword">BUILTIN</a> <a id="317" class="Keyword">SIGMA</a> <a id="323" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a> <a id="325" class="Symbol">#-}</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.Strict.html b/lib/Agda.Builtin.Strict.html
new file mode 100644
index 00000000..7b38c5c8
--- /dev/null
+++ b/lib/Agda.Builtin.Strict.html
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.Strict</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-sized-types</a> <a id="58" class="Pragma">--no-guardedness</a> <a id="75" class="Pragma">--level-universe</a> <a id="92" class="Symbol">#-}</a>
+
+<a id="97" class="Keyword">module</a> <a id="104" href="Agda.Builtin.Strict.html" class="Module">Agda.Builtin.Strict</a> <a id="124" class="Keyword">where</a>
+
+<a id="131" class="Keyword">open</a> <a id="136" class="Keyword">import</a> <a id="143" href="Agda.Builtin.Equality.html" class="Module">Agda.Builtin.Equality</a>
+
+<a id="166" class="Keyword">primitive</a>
+  <a id="primForce"></a><a id="178" href="Agda.Builtin.Strict.html#178" class="Primitive">primForce</a>      <a id="193" class="Symbol">:</a> <a id="195" class="Symbol">∀</a> <a id="197" class="Symbol">{</a><a id="198" href="Agda.Builtin.Strict.html#198" class="Bound">a</a> <a id="200" href="Agda.Builtin.Strict.html#200" class="Bound">b</a><a id="201" class="Symbol">}</a> <a id="203" class="Symbol">{</a><a id="204" href="Agda.Builtin.Strict.html#204" class="Bound">A</a> <a id="206" class="Symbol">:</a> <a id="208" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="212" href="Agda.Builtin.Strict.html#198" class="Bound">a</a><a id="213" class="Symbol">}</a> <a id="215" class="Symbol">{</a><a id="216" href="Agda.Builtin.Strict.html#216" class="Bound">B</a> <a id="218" class="Symbol">:</a> <a id="220" href="Agda.Builtin.Strict.html#204" class="Bound">A</a> <a id="222" class="Symbol">→</a> <a id="224" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="228" href="Agda.Builtin.Strict.html#200" class="Bound">b</a><a id="229" class="Symbol">}</a> <a id="231" class="Symbol">(</a><a id="232" href="Agda.Builtin.Strict.html#232" class="Bound">x</a> <a id="234" class="Symbol">:</a> <a id="236" href="Agda.Builtin.Strict.html#204" class="Bound">A</a><a id="237" class="Symbol">)</a> <a id="239" class="Symbol">→</a> <a id="241" class="Symbol">(∀</a> <a id="244" href="Agda.Builtin.Strict.html#244" class="Bound">x</a> <a id="246" class="Symbol">→</a> <a id="248" href="Agda.Builtin.Strict.html#216" class="Bound">B</a> <a id="250" href="Agda.Builtin.Strict.html#244" class="Bound">x</a><a id="251" class="Symbol">)</a> <a id="253" class="Symbol">→</a> <a id="255" href="Agda.Builtin.Strict.html#216" class="Bound">B</a> <a id="257" href="Agda.Builtin.Strict.html#232" class="Bound">x</a>
+  <a id="primForceLemma"></a><a id="261" href="Agda.Builtin.Strict.html#261" class="Primitive">primForceLemma</a> <a id="276" class="Symbol">:</a> <a id="278" class="Symbol">∀</a> <a id="280" class="Symbol">{</a><a id="281" href="Agda.Builtin.Strict.html#281" class="Bound">a</a> <a id="283" href="Agda.Builtin.Strict.html#283" class="Bound">b</a><a id="284" class="Symbol">}</a> <a id="286" class="Symbol">{</a><a id="287" href="Agda.Builtin.Strict.html#287" class="Bound">A</a> <a id="289" class="Symbol">:</a> <a id="291" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="295" href="Agda.Builtin.Strict.html#281" class="Bound">a</a><a id="296" class="Symbol">}</a> <a id="298" class="Symbol">{</a><a id="299" href="Agda.Builtin.Strict.html#299" class="Bound">B</a> <a id="301" class="Symbol">:</a> <a id="303" href="Agda.Builtin.Strict.html#287" class="Bound">A</a> <a id="305" class="Symbol">→</a> <a id="307" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="311" href="Agda.Builtin.Strict.html#283" class="Bound">b</a><a id="312" class="Symbol">}</a> <a id="314" class="Symbol">(</a><a id="315" href="Agda.Builtin.Strict.html#315" class="Bound">x</a> <a id="317" class="Symbol">:</a> <a id="319" href="Agda.Builtin.Strict.html#287" class="Bound">A</a><a id="320" class="Symbol">)</a> <a id="322" class="Symbol">(</a><a id="323" href="Agda.Builtin.Strict.html#323" class="Bound">f</a> <a id="325" class="Symbol">:</a> <a id="327" class="Symbol">∀</a> <a id="329" href="Agda.Builtin.Strict.html#329" class="Bound">x</a> <a id="331" class="Symbol">→</a> <a id="333" href="Agda.Builtin.Strict.html#299" class="Bound">B</a> <a id="335" href="Agda.Builtin.Strict.html#329" class="Bound">x</a><a id="336" class="Symbol">)</a> <a id="338" class="Symbol">→</a> <a id="340" href="Agda.Builtin.Strict.html#178" class="Primitive">primForce</a> <a id="350" href="Agda.Builtin.Strict.html#315" class="Bound">x</a> <a id="352" href="Agda.Builtin.Strict.html#323" class="Bound">f</a> <a id="354" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="356" href="Agda.Builtin.Strict.html#323" class="Bound">f</a> <a id="358" href="Agda.Builtin.Strict.html#315" class="Bound">x</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.String.html b/lib/Agda.Builtin.String.html
new file mode 100644
index 00000000..217bfdd4
--- /dev/null
+++ b/lib/Agda.Builtin.String.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.String</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-sized-types</a> <a id="58" class="Pragma">--no-guardedness</a> <a id="75" class="Pragma">--level-universe</a> <a id="92" class="Symbol">#-}</a>
+
+<a id="97" class="Keyword">module</a> <a id="104" href="Agda.Builtin.String.html" class="Module">Agda.Builtin.String</a> <a id="124" class="Keyword">where</a>
+
+<a id="131" class="Keyword">open</a> <a id="136" class="Keyword">import</a> <a id="143" href="Agda.Builtin.Bool.html" class="Module">Agda.Builtin.Bool</a>
+<a id="161" class="Keyword">open</a> <a id="166" class="Keyword">import</a> <a id="173" href="Agda.Builtin.Char.html" class="Module">Agda.Builtin.Char</a>
+<a id="191" class="Keyword">open</a> <a id="196" class="Keyword">import</a> <a id="203" href="Agda.Builtin.List.html" class="Module">Agda.Builtin.List</a>
+<a id="221" class="Keyword">open</a> <a id="226" class="Keyword">import</a> <a id="233" href="Agda.Builtin.Maybe.html" class="Module">Agda.Builtin.Maybe</a>
+<a id="252" class="Keyword">open</a> <a id="257" class="Keyword">import</a> <a id="264" href="Agda.Builtin.Nat.html" class="Module">Agda.Builtin.Nat</a> <a id="281" class="Keyword">using</a> <a id="287" class="Symbol">(</a><a id="288" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="291" class="Symbol">)</a>
+<a id="293" class="Keyword">open</a> <a id="298" class="Keyword">import</a> <a id="305" href="Agda.Builtin.Sigma.html" class="Module">Agda.Builtin.Sigma</a>
+
+<a id="325" class="Keyword">postulate</a> <a id="String"></a><a id="335" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="342" class="Symbol">:</a> <a id="344" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="348" class="Symbol">{-#</a> <a id="352" class="Keyword">BUILTIN</a> <a id="360" class="Keyword">STRING</a> <a id="367" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="374" class="Symbol">#-}</a>
+
+<a id="379" class="Keyword">primitive</a>
+  <a id="primStringUncons"></a><a id="391" href="Agda.Builtin.String.html#391" class="Primitive">primStringUncons</a>   <a id="410" class="Symbol">:</a> <a id="412" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="419" class="Symbol">→</a> <a id="421" href="Agda.Builtin.Maybe.html#135" class="Datatype">Maybe</a> <a id="427" class="Symbol">(</a><a id="428" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a> <a id="430" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="435" class="Symbol">(λ</a> <a id="438" href="Agda.Builtin.String.html#438" class="Bound">_</a> <a id="440" class="Symbol">→</a> <a id="442" href="Agda.Builtin.String.html#335" class="Postulate">String</a><a id="448" class="Symbol">))</a>
+  <a id="primStringToList"></a><a id="453" href="Agda.Builtin.String.html#453" class="Primitive">primStringToList</a>   <a id="472" class="Symbol">:</a> <a id="474" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="481" class="Symbol">→</a> <a id="483" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="488" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a>
+  <a id="primStringFromList"></a><a id="495" href="Agda.Builtin.String.html#495" class="Primitive">primStringFromList</a> <a id="514" class="Symbol">:</a> <a id="516" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="521" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="526" class="Symbol">→</a> <a id="528" href="Agda.Builtin.String.html#335" class="Postulate">String</a>
+  <a id="primStringAppend"></a><a id="537" href="Agda.Builtin.String.html#537" class="Primitive">primStringAppend</a>   <a id="556" class="Symbol">:</a> <a id="558" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="565" class="Symbol">→</a> <a id="567" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="574" class="Symbol">→</a> <a id="576" href="Agda.Builtin.String.html#335" class="Postulate">String</a>
+  <a id="primStringEquality"></a><a id="585" href="Agda.Builtin.String.html#585" class="Primitive">primStringEquality</a> <a id="604" class="Symbol">:</a> <a id="606" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="613" class="Symbol">→</a> <a id="615" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="622" class="Symbol">→</a> <a id="624" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="primShowChar"></a><a id="631" href="Agda.Builtin.String.html#631" class="Primitive">primShowChar</a>       <a id="650" class="Symbol">:</a> <a id="652" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="657" class="Symbol">→</a> <a id="659" href="Agda.Builtin.String.html#335" class="Postulate">String</a>
+  <a id="primShowString"></a><a id="668" href="Agda.Builtin.String.html#668" class="Primitive">primShowString</a>     <a id="687" class="Symbol">:</a> <a id="689" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="696" class="Symbol">→</a> <a id="698" href="Agda.Builtin.String.html#335" class="Postulate">String</a>
+  <a id="primShowNat"></a><a id="707" href="Agda.Builtin.String.html#707" class="Primitive">primShowNat</a>        <a id="726" class="Symbol">:</a> <a id="728" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="732" class="Symbol">→</a> <a id="734" href="Agda.Builtin.String.html#335" class="Postulate">String</a>
+
+<a id="742" class="Symbol">{-#</a> <a id="746" class="Keyword">COMPILE</a> <a id="754" class="Keyword">JS</a> <a id="757" href="Agda.Builtin.String.html#391" class="Primitive">primStringUncons</a> <a id="774" class="Pragma">=</a> <a id="776" class="Pragma">function(x)</a> <a id="788" class="Pragma">{</a>
+   <a id="793" class="Pragma">if</a> <a id="796" class="Pragma">(x</a> <a id="799" class="Pragma">===</a> <a id="803" class="Pragma">&quot;&quot;)</a> <a id="807" class="Pragma">{</a> <a id="809" class="Pragma">return</a> <a id="816" class="Pragma">z_jAgda_Agda_Builtin_Maybe[&quot;Maybe&quot;][&quot;nothing&quot;];</a> <a id="864" class="Pragma">};</a>
+   <a id="870" class="Pragma">return</a> <a id="877" class="Pragma">z_jAgda_Agda_Builtin_Maybe[&quot;Maybe&quot;][&quot;just&quot;](z_jAgda_Agda_Builtin_Sigma[&quot;_,_&quot;](x.charAt(0))(x.slice(1)));</a>
+   <a id="985" class="Pragma">}</a>
+ <a id="988" class="Symbol">#-}</a>
+<a id="992" class="Symbol">{-#</a> <a id="996" class="Keyword">COMPILE</a> <a id="1004" class="Keyword">JS</a> <a id="1007" href="Agda.Builtin.String.html#453" class="Primitive">primStringToList</a> <a id="1024" class="Pragma">=</a> <a id="1026" class="Pragma">function(x)</a> <a id="1038" class="Pragma">{</a> <a id="1040" class="Pragma">return</a> <a id="1047" class="Pragma">x.split(&quot;&quot;);</a> <a id="1060" class="Pragma">}</a> <a id="1062" class="Symbol">#-}</a>
+<a id="1066" class="Symbol">{-#</a> <a id="1070" class="Keyword">COMPILE</a> <a id="1078" class="Keyword">JS</a> <a id="1081" href="Agda.Builtin.String.html#495" class="Primitive">primStringFromList</a> <a id="1100" class="Pragma">=</a> <a id="1102" class="Pragma">function(x)</a> <a id="1114" class="Pragma">{</a> <a id="1116" class="Pragma">return</a> <a id="1123" class="Pragma">x.join(&quot;&quot;);</a> <a id="1135" class="Pragma">}</a> <a id="1137" class="Symbol">#-}</a>
+<a id="1141" class="Symbol">{-#</a> <a id="1145" class="Keyword">COMPILE</a> <a id="1153" class="Keyword">JS</a> <a id="1156" href="Agda.Builtin.String.html#537" class="Primitive">primStringAppend</a> <a id="1173" class="Pragma">=</a> <a id="1175" class="Pragma">function(x)</a> <a id="1187" class="Pragma">{</a> <a id="1189" class="Pragma">return</a> <a id="1196" class="Pragma">function(y)</a> <a id="1208" class="Pragma">{</a> <a id="1210" class="Pragma">return</a> <a id="1217" class="Pragma">x+y;</a> <a id="1222" class="Pragma">};</a> <a id="1225" class="Pragma">}</a> <a id="1227" class="Symbol">#-}</a>
+<a id="1231" class="Symbol">{-#</a> <a id="1235" class="Keyword">COMPILE</a> <a id="1243" class="Keyword">JS</a> <a id="1246" href="Agda.Builtin.String.html#585" class="Primitive">primStringEquality</a> <a id="1265" class="Pragma">=</a> <a id="1267" class="Pragma">function(x)</a> <a id="1279" class="Pragma">{</a> <a id="1281" class="Pragma">return</a> <a id="1288" class="Pragma">function(y)</a> <a id="1300" class="Pragma">{</a> <a id="1302" class="Pragma">return</a> <a id="1309" class="Pragma">x===y;</a> <a id="1316" class="Pragma">};</a> <a id="1319" class="Pragma">}</a> <a id="1321" class="Symbol">#-}</a>
+<a id="1325" class="Symbol">{-#</a> <a id="1329" class="Keyword">COMPILE</a> <a id="1337" class="Keyword">JS</a> <a id="1340" href="Agda.Builtin.String.html#631" class="Primitive">primShowChar</a> <a id="1353" class="Pragma">=</a> <a id="1355" class="Pragma">function(x)</a> <a id="1367" class="Pragma">{</a> <a id="1369" class="Pragma">return</a> <a id="1376" class="Pragma">JSON.stringify(x);</a> <a id="1395" class="Pragma">}</a> <a id="1397" class="Symbol">#-}</a>
+<a id="1401" class="Symbol">{-#</a> <a id="1405" class="Keyword">COMPILE</a> <a id="1413" class="Keyword">JS</a> <a id="1416" href="Agda.Builtin.String.html#668" class="Primitive">primShowString</a> <a id="1431" class="Pragma">=</a> <a id="1433" class="Pragma">function(x)</a> <a id="1445" class="Pragma">{</a> <a id="1447" class="Pragma">return</a> <a id="1454" class="Pragma">JSON.stringify(x);</a> <a id="1473" class="Pragma">}</a> <a id="1475" class="Symbol">#-}</a>
+<a id="1479" class="Symbol">{-#</a> <a id="1483" class="Keyword">COMPILE</a> <a id="1491" class="Keyword">JS</a> <a id="1494" href="Agda.Builtin.String.html#707" class="Primitive">primShowNat</a> <a id="1506" class="Pragma">=</a> <a id="1508" class="Pragma">function(x)</a> <a id="1520" class="Pragma">{</a> <a id="1522" class="Pragma">return</a> <a id="1529" class="Pragma">JSON.stringify(x);</a> <a id="1548" class="Pragma">}</a> <a id="1550" class="Symbol">#-}</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.Unit.html b/lib/Agda.Builtin.Unit.html
new file mode 100644
index 00000000..ef3fcda6
--- /dev/null
+++ b/lib/Agda.Builtin.Unit.html
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.Unit</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-universe-polymorphism</a>
+            <a id="80" class="Pragma">--no-sized-types</a> <a id="97" class="Pragma">--no-guardedness</a> <a id="114" class="Pragma">--level-universe</a> <a id="131" class="Symbol">#-}</a>
+
+<a id="136" class="Keyword">module</a> <a id="143" href="Agda.Builtin.Unit.html" class="Module">Agda.Builtin.Unit</a> <a id="161" class="Keyword">where</a>
+
+<a id="168" class="Keyword">record</a> <a id="⊤"></a><a id="175" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a> <a id="177" class="Symbol">:</a> <a id="179" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="183" class="Keyword">where</a>
+  <a id="191" class="Keyword">instance</a> <a id="200" class="Keyword">constructor</a> <a id="tt"></a><a id="212" href="Agda.Builtin.Unit.html#212" class="InductiveConstructor">tt</a>
+
+<a id="216" class="Symbol">{-#</a> <a id="220" class="Keyword">BUILTIN</a> <a id="228" class="Keyword">UNIT</a> <a id="233" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a> <a id="235" class="Symbol">#-}</a>
+<a id="239" class="Symbol">{-#</a> <a id="243" class="Keyword">COMPILE</a> <a id="251" class="Keyword">GHC</a> <a id="255" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a> <a id="257" class="Pragma">=</a> <a id="259" class="Pragma">data</a> <a id="264" class="Pragma">()</a> <a id="267" class="Pragma">(())</a> <a id="272" class="Symbol">#-}</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Builtin.Word.html b/lib/Agda.Builtin.Word.html
new file mode 100644
index 00000000..5267ee5b
--- /dev/null
+++ b/lib/Agda.Builtin.Word.html
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Builtin.Word</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--cubical-compatible</a> <a id="34" class="Pragma">--safe</a> <a id="41" class="Pragma">--no-universe-polymorphism</a>
+            <a id="80" class="Pragma">--no-sized-types</a> <a id="97" class="Pragma">--no-guardedness</a> <a id="114" class="Pragma">--level-universe</a> <a id="131" class="Symbol">#-}</a>
+
+<a id="136" class="Keyword">module</a> <a id="143" href="Agda.Builtin.Word.html" class="Module">Agda.Builtin.Word</a> <a id="161" class="Keyword">where</a>
+
+<a id="168" class="Keyword">open</a> <a id="173" class="Keyword">import</a> <a id="180" href="Agda.Builtin.Nat.html" class="Module">Agda.Builtin.Nat</a>
+
+<a id="198" class="Keyword">postulate</a> <a id="Word64"></a><a id="208" href="Agda.Builtin.Word.html#208" class="Postulate">Word64</a> <a id="215" class="Symbol">:</a> <a id="217" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="221" class="Symbol">{-#</a> <a id="225" class="Keyword">BUILTIN</a> <a id="233" class="Keyword">WORD64</a> <a id="240" href="Agda.Builtin.Word.html#208" class="Postulate">Word64</a> <a id="247" class="Symbol">#-}</a>
+
+<a id="252" class="Keyword">primitive</a>
+  <a id="primWord64ToNat"></a><a id="264" href="Agda.Builtin.Word.html#264" class="Primitive">primWord64ToNat</a>   <a id="282" class="Symbol">:</a> <a id="284" href="Agda.Builtin.Word.html#208" class="Postulate">Word64</a> <a id="291" class="Symbol">→</a> <a id="293" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="primWord64FromNat"></a><a id="299" href="Agda.Builtin.Word.html#299" class="Primitive">primWord64FromNat</a> <a id="317" class="Symbol">:</a> <a id="319" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="323" class="Symbol">→</a> <a id="325" href="Agda.Builtin.Word.html#208" class="Postulate">Word64</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.Primitive.html b/lib/Agda.Primitive.html
new file mode 100644
index 00000000..3f6bab08
--- /dev/null
+++ b/lib/Agda.Primitive.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Agda.Primitive</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Comment">-- The Agda primitives (preloaded).</a>
+
+<a id="38" class="Symbol">{-#</a> <a id="42" class="Keyword">OPTIONS</a> <a id="50" class="Pragma">--cubical-compatible</a> <a id="71" class="Pragma">--no-import-sorts</a> <a id="89" class="Pragma">--level-universe</a> <a id="106" class="Symbol">#-}</a>
+
+<a id="111" class="Keyword">module</a> <a id="118" href="Agda.Primitive.html" class="Module">Agda.Primitive</a> <a id="133" class="Keyword">where</a>
+
+<a id="140" class="Comment">------------------------------------------------------------------------</a>
+<a id="213" class="Comment">-- Universe levels</a>
+<a id="232" class="Comment">------------------------------------------------------------------------</a>
+
+<a id="306" class="Keyword">infixl</a> <a id="313" class="Number">6</a> <a id="315" href="Agda.Primitive.html#961" class="Primitive Operator">_⊔_</a>
+
+<a id="320" class="Symbol">{-#</a> <a id="324" class="Keyword">BUILTIN</a> <a id="332" class="Keyword">PROP</a>           <a id="Prop"></a><a id="347" href="Agda.Primitive.html#347" class="Primitive">Prop</a>      <a id="357" class="Symbol">#-}</a>
+<a id="361" class="Symbol">{-#</a> <a id="365" class="Keyword">BUILTIN</a> <a id="373" class="Keyword">TYPE</a>           <a id="Set"></a><a id="388" href="Agda.Primitive.html#388" class="Primitive">Set</a>       <a id="398" class="Symbol">#-}</a>
+<a id="402" class="Symbol">{-#</a> <a id="406" class="Keyword">BUILTIN</a> <a id="414" class="Keyword">STRICTSET</a>      <a id="SSet"></a><a id="429" href="Agda.Primitive.html#429" class="Primitive">SSet</a>      <a id="439" class="Symbol">#-}</a>
+
+<a id="444" class="Symbol">{-#</a> <a id="448" class="Keyword">BUILTIN</a> <a id="456" class="Keyword">PROPOMEGA</a>      <a id="Propω"></a><a id="471" href="Agda.Primitive.html#471" class="Primitive">Propω</a>     <a id="481" class="Symbol">#-}</a>
+<a id="485" class="Symbol">{-#</a> <a id="489" class="Keyword">BUILTIN</a> <a id="497" class="Keyword">SETOMEGA</a>       <a id="Setω"></a><a id="512" href="Agda.Primitive.html#512" class="Primitive">Setω</a>      <a id="522" class="Symbol">#-}</a>
+<a id="526" class="Symbol">{-#</a> <a id="530" class="Keyword">BUILTIN</a> <a id="538" class="Keyword">STRICTSETOMEGA</a> <a id="SSetω"></a><a id="553" href="Agda.Primitive.html#553" class="Primitive">SSetω</a>     <a id="563" class="Symbol">#-}</a>
+
+<a id="568" class="Symbol">{-#</a> <a id="572" class="Keyword">BUILTIN</a> <a id="580" class="Keyword">LEVELUNIV</a>      <a id="LevelUniv"></a><a id="595" href="Agda.Primitive.html#595" class="Primitive">LevelUniv</a> <a id="605" class="Symbol">#-}</a>
+
+<a id="610" class="Comment">-- Level is the first thing we need to define.</a>
+<a id="657" class="Comment">-- The other postulates can only be checked if built-in Level is known.</a>
+
+<a id="730" class="Keyword">postulate</a>
+  <a id="Level"></a><a id="742" href="Agda.Primitive.html#742" class="Postulate">Level</a> <a id="748" class="Symbol">:</a> <a id="750" href="Agda.Primitive.html#595" class="Primitive">LevelUniv</a>
+
+<a id="761" class="Comment">-- MAlonzo compiles Level to (). This should be safe, because it is</a>
+<a id="829" class="Comment">-- not possible to pattern match on levels.</a>
+
+<a id="874" class="Symbol">{-#</a> <a id="878" class="Keyword">BUILTIN</a> <a id="886" class="Keyword">LEVEL</a> <a id="892" href="Agda.Primitive.html#742" class="Postulate">Level</a> <a id="898" class="Symbol">#-}</a>
+
+<a id="903" class="Keyword">postulate</a>
+  <a id="lzero"></a><a id="915" href="Agda.Primitive.html#915" class="Postulate">lzero</a> <a id="921" class="Symbol">:</a> <a id="923" href="Agda.Primitive.html#742" class="Postulate">Level</a>
+  <a id="lsuc"></a><a id="931" href="Agda.Primitive.html#931" class="Postulate">lsuc</a>  <a id="937" class="Symbol">:</a> <a id="939" class="Symbol">(</a><a id="940" href="Agda.Primitive.html#940" class="Bound">ℓ</a> <a id="942" class="Symbol">:</a> <a id="944" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="949" class="Symbol">)</a> <a id="951" class="Symbol">→</a> <a id="953" href="Agda.Primitive.html#742" class="Postulate">Level</a>
+  <a id="_⊔_"></a><a id="961" href="Agda.Primitive.html#961" class="Postulate Operator">_⊔_</a>   <a id="967" class="Symbol">:</a> <a id="969" class="Symbol">(</a><a id="970" href="Agda.Primitive.html#970" class="Bound">ℓ₁</a> <a id="973" href="Agda.Primitive.html#973" class="Bound">ℓ₂</a> <a id="976" class="Symbol">:</a> <a id="978" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="983" class="Symbol">)</a> <a id="985" class="Symbol">→</a> <a id="987" href="Agda.Primitive.html#742" class="Postulate">Level</a>
+
+<a id="994" class="Symbol">{-#</a> <a id="998" class="Keyword">BUILTIN</a> <a id="1006" class="Keyword">LEVELZERO</a> <a id="1016" href="Agda.Primitive.html#915" class="Primitive">lzero</a> <a id="1022" class="Symbol">#-}</a>
+<a id="1026" class="Symbol">{-#</a> <a id="1030" class="Keyword">BUILTIN</a> <a id="1038" class="Keyword">LEVELSUC</a>  <a id="1048" href="Agda.Primitive.html#931" class="Primitive">lsuc</a>  <a id="1054" class="Symbol">#-}</a>
+<a id="1058" class="Symbol">{-#</a> <a id="1062" class="Keyword">BUILTIN</a> <a id="1070" class="Keyword">LEVELMAX</a>  <a id="1080" href="Agda.Primitive.html#961" class="Primitive Operator">_⊔_</a>   <a id="1086" class="Symbol">#-}</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Agda.css b/lib/Agda.css
new file mode 100644
index 00000000..86813a50
--- /dev/null
+++ b/lib/Agda.css
@@ -0,0 +1,41 @@
+/* Aspects. */
+.Agda .Comment       { color: #B22222 }
+.Agda .Background    {}
+.Agda .Markup        { color: #000000 }
+.Agda .Keyword       { color: #CD6600 }
+.Agda .String        { color: #B22222 }
+.Agda .Number        { color: #A020F0 }
+.Agda .Symbol        { color: #404040 }
+.Agda .PrimitiveType { color: #0000CD }
+.Agda .Pragma        { color: black   }
+.Agda .Operator      {}
+.Agda .Hole          { background: #B4EEB4 }
+
+/* NameKinds. */
+.Agda .Bound                  { color: black   }
+.Agda .Generalizable          { color: black   }
+.Agda .InductiveConstructor   { color: #008B00 }
+.Agda .CoinductiveConstructor { color: #8B7500 }
+.Agda .Datatype               { color: #0000CD }
+.Agda .Field                  { color: #EE1289 }
+.Agda .Function               { color: #0000CD }
+.Agda .Module                 { color: #A020F0 }
+.Agda .Postulate              { color: #0000CD }
+.Agda .Primitive              { color: #0000CD }
+.Agda .Record                 { color: #0000CD }
+
+/* OtherAspects. */
+.Agda .DottedPattern        {}
+.Agda .UnsolvedMeta         { color: black; background: yellow         }
+.Agda .UnsolvedConstraint   { color: black; background: yellow         }
+.Agda .TerminationProblem   { color: black; background: #FFA07A        }
+.Agda .IncompletePattern    { color: black; background: #F5DEB3        }
+.Agda .Error                { color: red;   text-decoration: underline }
+.Agda .TypeChecks           { color: black; background: #ADD8E6        }
+.Agda .Deadcode             { color: black; background: #808080        }
+.Agda .ShadowingInTelescope { color: black; background: #808080        }
+
+/* Standard attributes. */
+.Agda a { text-decoration: none }
+.Agda a[href]:hover { background-color: #B4EEB4 }
+.Agda [href].hover-highlight { background-color: #B4EEB4; }
diff --git a/lib/Haskell.Prelude.html b/lib/Haskell.Prelude.html
new file mode 100644
index 00000000..2a76cb63
--- /dev/null
+++ b/lib/Haskell.Prelude.html
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prelude</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--no-auto-inline</a> <a id="30" class="Symbol">#-}</a>
+<a id="34" class="Keyword">module</a> <a id="41" href="Haskell.Prelude.html" class="Module">Haskell.Prelude</a> <a id="57" class="Keyword">where</a>
+
+<a id="64" class="Keyword">open</a> <a id="69" class="Keyword">import</a> <a id="76" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="89" class="Keyword">open</a> <a id="94" href="Haskell.Prim.html" class="Module">Haskell.Prim</a> <a id="107" class="Keyword">public</a> <a id="114" class="Keyword">using</a>
+  <a id="122" class="Symbol">(</a> <a id="124" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="128" class="Symbol">;</a> <a id="130" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a><a id="134" class="Symbol">;</a> <a id="136" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a><a id="141" class="Symbol">;</a> <a id="143" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a><a id="147" class="Symbol">;</a> <a id="149" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a><a id="156" class="Symbol">;</a>
+    <a id="162" href="Agda.Builtin.List.html#147" class="Datatype">List</a><a id="166" class="Symbol">;</a> <a id="168" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a><a id="170" class="Symbol">;</a> <a id="172" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">_∷_</a><a id="175" class="Symbol">;</a> <a id="177" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="180" class="Symbol">;</a> <a id="182" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a><a id="186" class="Symbol">;</a> <a id="188" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a><a id="191" class="Symbol">;</a> <a id="193" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a><a id="194" class="Symbol">;</a> <a id="196" href="Agda.Builtin.Unit.html#212" class="InductiveConstructor">tt</a><a id="198" class="Symbol">;</a>
+    <a id="204" href="Haskell.Prim.html#3215" class="Datatype">TypeError</a><a id="213" class="Symbol">;</a> <a id="215" href="Haskell.Prim.html#2596" class="Datatype">⊥</a><a id="216" class="Symbol">;</a> <a id="218" href="Haskell.Prim.html#2275" class="Function">iNumberNat</a><a id="228" class="Symbol">;</a> <a id="230" href="Haskell.Prim.html#2981" class="Datatype">IsTrue</a><a id="236" class="Symbol">;</a> <a id="238" href="Haskell.Prim.html#3046" class="Datatype">IsFalse</a><a id="245" class="Symbol">;</a>
+    <a id="251" href="Haskell.Prim.html#2804" class="Datatype">All</a><a id="254" class="Symbol">;</a> <a id="256" href="Haskell.Prim.html#2886" class="InductiveConstructor">allNil</a><a id="262" class="Symbol">;</a> <a id="264" href="Haskell.Prim.html#2909" class="InductiveConstructor">allCons</a><a id="271" class="Symbol">;</a> <a id="273" href="Haskell.Prim.html#3115" class="Datatype">NonEmpty</a><a id="281" class="Symbol">;</a> <a id="283" href="Haskell.Prim.html#2428" class="Function">lengthNat</a><a id="292" class="Symbol">;</a>
+    <a id="298" href="Haskell.Prim.html#1296" class="Function">id</a><a id="300" class="Symbol">;</a> <a id="302" href="Haskell.Prim.html#1330" class="Function Operator">_∘_</a><a id="305" class="Symbol">;</a> <a id="307" href="Haskell.Prim.html#1480" class="Function Operator">_$_</a><a id="310" class="Symbol">;</a> <a id="312" href="Haskell.Prim.html#1383" class="Function">flip</a><a id="316" class="Symbol">;</a> <a id="318" href="Haskell.Prim.html#1434" class="Function">const</a><a id="323" class="Symbol">;</a>
+    <a id="329" href="Haskell.Prim.html#1713" class="Function Operator">if_then_else_</a><a id="342" class="Symbol">;</a> <a id="344" href="Haskell.Prim.html#1609" class="Function Operator">case_of_</a><a id="352" class="Symbol">;</a>
+    <a id="358" href="Agda.Builtin.FromNat.html#196" class="Record">Number</a><a id="364" class="Symbol">;</a> <a id="366" href="Agda.Builtin.FromNat.html#281" class="Field">fromNat</a><a id="373" class="Symbol">;</a> <a id="375" href="Agda.Builtin.FromNeg.html#196" class="Record">Negative</a><a id="383" class="Symbol">;</a> <a id="385" href="Agda.Builtin.FromNeg.html#283" class="Field">fromNeg</a><a id="392" class="Symbol">;</a>
+    <a id="398" href="Agda.Builtin.FromString.html#202" class="Record">IsString</a><a id="406" class="Symbol">;</a> <a id="408" href="Agda.Builtin.FromString.html#292" class="Field">fromString</a><a id="418" class="Symbol">;</a>
+    <a id="424" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a><a id="427" class="Symbol">;</a> <a id="429" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">refl</a><a id="433" class="Symbol">;</a>
+    <a id="439" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="440" class="Symbol">;</a> <a id="442" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="443" class="Symbol">;</a> <a id="445" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="446" class="Symbol">;</a> <a id="448" href="Haskell.Prim.html#1197" class="Generalizable">d</a><a id="449" class="Symbol">;</a> <a id="451" href="Haskell.Prim.html#1199" class="Generalizable">e</a><a id="452" class="Symbol">;</a> <a id="454" href="Haskell.Prim.html#1209" class="Generalizable">f</a><a id="455" class="Symbol">;</a> <a id="457" href="Haskell.Prim.html#1211" class="Generalizable">m</a><a id="458" class="Symbol">;</a> <a id="460" href="Haskell.Prim.html#1213" class="Generalizable">s</a><a id="461" class="Symbol">;</a> <a id="463" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="465" class="Symbol">)</a>
+
+<a id="468" class="Keyword">open</a> <a id="473" class="Keyword">import</a> <a id="480" href="Haskell.Prim.Absurd.html" class="Module">Haskell.Prim.Absurd</a>      <a id="505" class="Keyword">public</a>
+<a id="512" class="Keyword">open</a> <a id="517" class="Keyword">import</a> <a id="524" href="Haskell.Prim.Applicative.html" class="Module">Haskell.Prim.Applicative</a> <a id="549" class="Keyword">public</a>
+<a id="556" class="Keyword">open</a> <a id="561" class="Keyword">import</a> <a id="568" href="Haskell.Prim.Bool.html" class="Module">Haskell.Prim.Bool</a>        <a id="593" class="Keyword">public</a>
+<a id="600" class="Keyword">open</a> <a id="605" class="Keyword">import</a> <a id="612" href="Haskell.Prim.Bounded.html" class="Module">Haskell.Prim.Bounded</a>     <a id="637" class="Keyword">public</a>
+<a id="644" class="Keyword">open</a> <a id="649" class="Keyword">import</a> <a id="656" href="Haskell.Prim.Char.html" class="Module">Haskell.Prim.Char</a>        <a id="681" class="Keyword">public</a>
+<a id="688" class="Keyword">open</a> <a id="693" class="Keyword">import</a> <a id="700" href="Haskell.Prim.Double.html" class="Module">Haskell.Prim.Double</a>      <a id="725" class="Keyword">public</a>
+<a id="732" class="Keyword">open</a> <a id="737" class="Keyword">import</a> <a id="744" href="Haskell.Prim.Either.html" class="Module">Haskell.Prim.Either</a>      <a id="769" class="Keyword">public</a>
+<a id="776" class="Keyword">open</a> <a id="781" class="Keyword">import</a> <a id="788" href="Haskell.Prim.Enum.html" class="Module">Haskell.Prim.Enum</a>        <a id="813" class="Keyword">public</a>
+<a id="820" class="Keyword">open</a> <a id="825" class="Keyword">import</a> <a id="832" href="Haskell.Prim.Eq.html" class="Module">Haskell.Prim.Eq</a>          <a id="857" class="Keyword">public</a>
+<a id="864" class="Keyword">open</a> <a id="869" class="Keyword">import</a> <a id="876" href="Haskell.Prim.Foldable.html" class="Module">Haskell.Prim.Foldable</a>    <a id="901" class="Keyword">public</a>
+<a id="908" class="Keyword">open</a> <a id="913" class="Keyword">import</a> <a id="920" href="Haskell.Prim.Functor.html" class="Module">Haskell.Prim.Functor</a>     <a id="945" class="Keyword">public</a>
+<a id="952" class="Keyword">open</a> <a id="957" class="Keyword">import</a> <a id="964" href="Haskell.Prim.Int.html" class="Module">Haskell.Prim.Int</a>         <a id="989" class="Keyword">public</a>
+<a id="996" class="Keyword">open</a> <a id="1001" class="Keyword">import</a> <a id="1008" href="Haskell.Prim.Integer.html" class="Module">Haskell.Prim.Integer</a>     <a id="1033" class="Keyword">public</a>
+<a id="1040" class="Keyword">open</a> <a id="1045" class="Keyword">import</a> <a id="1052" href="Haskell.Prim.IO.html" class="Module">Haskell.Prim.IO</a>          <a id="1077" class="Keyword">public</a>
+<a id="1084" class="Keyword">open</a> <a id="1089" class="Keyword">import</a> <a id="1096" href="Haskell.Prim.List.html" class="Module">Haskell.Prim.List</a>        <a id="1121" class="Keyword">public</a>
+<a id="1128" class="Keyword">open</a> <a id="1133" class="Keyword">import</a> <a id="1140" href="Haskell.Prim.Maybe.html" class="Module">Haskell.Prim.Maybe</a>       <a id="1165" class="Keyword">public</a>
+<a id="1172" class="Keyword">open</a> <a id="1177" class="Keyword">import</a> <a id="1184" href="Haskell.Prim.Monad.html" class="Module">Haskell.Prim.Monad</a>       <a id="1209" class="Keyword">public</a>
+<a id="1216" class="Keyword">open</a> <a id="1221" class="Keyword">import</a> <a id="1228" href="Haskell.Prim.Monoid.html" class="Module">Haskell.Prim.Monoid</a>      <a id="1253" class="Keyword">public</a>
+<a id="1260" class="Keyword">open</a> <a id="1265" class="Keyword">import</a> <a id="1272" href="Haskell.Prim.Num.html" class="Module">Haskell.Prim.Num</a>         <a id="1297" class="Keyword">public</a>
+<a id="1304" class="Keyword">open</a> <a id="1309" class="Keyword">import</a> <a id="1316" href="Haskell.Prim.Ord.html" class="Module">Haskell.Prim.Ord</a>         <a id="1341" class="Keyword">public</a>
+<a id="1348" class="Keyword">open</a> <a id="1353" class="Keyword">import</a> <a id="1360" href="Haskell.Prim.Show.html" class="Module">Haskell.Prim.Show</a>        <a id="1385" class="Keyword">public</a>
+<a id="1392" class="Keyword">open</a> <a id="1397" class="Keyword">import</a> <a id="1404" href="Haskell.Prim.String.html" class="Module">Haskell.Prim.String</a>      <a id="1429" class="Keyword">public</a>
+<a id="1436" class="Keyword">open</a> <a id="1441" class="Keyword">import</a> <a id="1448" href="Haskell.Prim.Traversable.html" class="Module">Haskell.Prim.Traversable</a> <a id="1473" class="Keyword">public</a>
+<a id="1480" class="Keyword">open</a> <a id="1485" class="Keyword">import</a> <a id="1492" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a>       <a id="1517" class="Keyword">public</a> <a id="1524" class="Keyword">hiding</a> <a id="1531" class="Symbol">(</a><a id="1532" href="Haskell.Prim.Tuple.html#452" class="Function">first</a><a id="1537" class="Symbol">;</a> <a id="1539" href="Haskell.Prim.Tuple.html#511" class="Function">second</a><a id="1545" class="Symbol">;</a> <a id="1547" href="Haskell.Prim.Tuple.html#572" class="Function Operator">_***_</a><a id="1552" class="Symbol">)</a>
+<a id="1554" class="Keyword">open</a> <a id="1559" class="Keyword">import</a> <a id="1566" href="Haskell.Prim.Word.html" class="Module">Haskell.Prim.Word</a>        <a id="1591" class="Keyword">public</a>
+
+<a id="1599" class="Comment">-- Problematic features</a>
+<a id="1623" class="Comment">--  - [Partial]:  Could pass implicit/instance arguments to prove totality.</a>
+<a id="1699" class="Comment">--  - [Float]:    Or Float (Agda floats are Doubles)</a>
+<a id="1752" class="Comment">--  - [Infinite]: Define colists and map to Haskell lists?</a>
+
+<a id="1812" class="Comment">-- Missing from the Haskell Prelude:</a>
+<a id="1849" class="Comment">--</a>
+<a id="1852" class="Comment">--     Float        [Float]</a>
+<a id="1880" class="Comment">--     Rational</a>
+<a id="1896" class="Comment">--</a>
+<a id="1899" class="Comment">--     Real(toRational),</a>
+<a id="1924" class="Comment">--     Integral(quot, rem, div, mod, quotRem, divMod, toInteger),</a>
+<a id="1990" class="Comment">--     Fractional((/), recip, fromRational),</a>
+<a id="2035" class="Comment">--     Floating(pi, exp, log, sqrt, (**), logBase, sin, cos, tan,</a>
+<a id="2101" class="Comment">--              asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh),</a>
+<a id="2175" class="Comment">--     RealFrac(properFraction, truncate, round, ceiling, floor),</a>
+<a id="2241" class="Comment">--     RealFloat(floatRadix, floatDigits, floatRange, decodeFloat,</a>
+<a id="2308" class="Comment">--               encodeFloat, exponent, significand, scaleFloat, isNaN,</a>
+<a id="2380" class="Comment">--               isInfinite, isDenormalized, isIEEE, isNegativeZero, atan2),</a>
+<a id="2457" class="Comment">--</a>
+<a id="2460" class="Comment">--     subtract, even, odd, gcd, lcm, (^), (^^),</a>
+<a id="2509" class="Comment">--     fromIntegral, realToFrac,</a>
+<a id="2542" class="Comment">--</a>
+<a id="2545" class="Comment">--     foldr1, foldl1, maximum, minimum      [Partial]</a>
+<a id="2600" class="Comment">--</a>
+<a id="2603" class="Comment">--     until [Partial]</a>
+<a id="2626" class="Comment">--</a>
+<a id="2629" class="Comment">--     iterate, repeat, cycle          [Infinite]</a>
+<a id="2679" class="Comment">--</a>
+<a id="2682" class="Comment">--     ReadS, Read(readsPrec, readList),</a>
+<a id="2723" class="Comment">--     reads, readParen, read, lex,</a>
+<a id="2759" class="Comment">--</a>
+<a id="2762" class="Comment">--     IO, putChar, putStr, putStrLn, print,</a>
+<a id="2807" class="Comment">--     getChar, getLine, getContents, interact,</a>
+<a id="2855" class="Comment">--     FilePath, readFile, writeFile, appendFile, readIO, readLn,</a>
+<a id="2921" class="Comment">--     IOError, ioError, userError,</a>
+
+
+<a id="2959" class="Comment">--------------------------------------------------</a>
+<a id="3010" class="Comment">-- Functions</a>
+
+<a id="3024" class="Keyword">infixr</a> <a id="3031" class="Number">0</a> <a id="3033" href="Haskell.Prelude.html#3039" class="Function Operator">_$!_</a>
+
+<a id="_$!_"></a><a id="3039" href="Haskell.Prelude.html#3039" class="Function Operator">_$!_</a> <a id="3044" class="Symbol">:</a> <a id="3046" class="Symbol">(</a><a id="3047" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3049" class="Symbol">→</a> <a id="3051" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="3052" class="Symbol">)</a> <a id="3054" class="Symbol">→</a> <a id="3056" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3058" class="Symbol">→</a> <a id="3060" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="3062" href="Haskell.Prelude.html#3039" class="Function Operator">_$!_</a> <a id="3067" class="Symbol">=</a> <a id="3069" href="Haskell.Prim.html#1480" class="Function Operator">_$_</a>
+
+<a id="seq"></a><a id="3074" href="Haskell.Prelude.html#3074" class="Function">seq</a> <a id="3078" class="Symbol">:</a> <a id="3080" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3082" class="Symbol">→</a> <a id="3084" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="3086" class="Symbol">→</a> <a id="3088" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="3090" href="Haskell.Prelude.html#3074" class="Function">seq</a> <a id="3094" class="Symbol">=</a> <a id="3096" href="Haskell.Prim.html#1434" class="Function">const</a> <a id="3102" href="Haskell.Prim.html#1296" class="Function">id</a>
+
+<a id="asTypeOf"></a><a id="3106" href="Haskell.Prelude.html#3106" class="Function">asTypeOf</a> <a id="3115" class="Symbol">:</a> <a id="3117" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3119" class="Symbol">→</a> <a id="3121" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3123" class="Symbol">→</a> <a id="3125" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3127" href="Haskell.Prelude.html#3106" class="Function">asTypeOf</a> <a id="3136" href="Haskell.Prelude.html#3136" class="Bound">x</a> <a id="3138" class="Symbol">_</a> <a id="3140" class="Symbol">=</a> <a id="3142" href="Haskell.Prelude.html#3136" class="Bound">x</a>
+
+<a id="undefined"></a><a id="3145" href="Haskell.Prelude.html#3145" class="Function">undefined</a> <a id="3155" class="Symbol">:</a> <a id="3157" class="Symbol">{@</a><a id="3159" class="Symbol">0</a> <a id="3161" class="Symbol">@(</a><a id="3163" class="Keyword">tactic</a> <a id="3170" href="Haskell.Prim.Absurd.html#614" class="Function">absurd</a><a id="3176" class="Symbol">)</a> <a id="3178" href="Haskell.Prelude.html#3178" class="Bound">i</a> <a id="3180" class="Symbol">:</a> <a id="3182" href="Haskell.Prim.html#2596" class="Datatype">⊥</a><a id="3183" class="Symbol">}</a> <a id="3185" class="Symbol">→</a> <a id="3187" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3189" href="Haskell.Prelude.html#3145" class="Function">undefined</a> <a id="3199" class="Symbol">{</a><a id="3200" class="Argument">i</a> <a id="3202" class="Symbol">=</a> <a id="3204" class="Symbol">()}</a>
+
+<a id="error"></a><a id="3209" href="Haskell.Prelude.html#3209" class="Function">error</a> <a id="3215" class="Symbol">:</a> <a id="3217" class="Symbol">{@</a><a id="3219" class="Symbol">0</a> <a id="3221" class="Symbol">@(</a><a id="3223" class="Keyword">tactic</a> <a id="3230" href="Haskell.Prim.Absurd.html#614" class="Function">absurd</a><a id="3236" class="Symbol">)</a> <a id="3238" href="Haskell.Prelude.html#3238" class="Bound">i</a> <a id="3240" class="Symbol">:</a> <a id="3242" href="Haskell.Prim.html#2596" class="Datatype">⊥</a><a id="3243" class="Symbol">}</a> <a id="3245" class="Symbol">→</a> <a id="3247" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="3254" class="Symbol">→</a> <a id="3256" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3258" href="Haskell.Prelude.html#3209" class="Function">error</a> <a id="3264" class="Symbol">{</a><a id="3265" class="Argument">i</a> <a id="3267" class="Symbol">=</a> <a id="3269" class="Symbol">()}</a> <a id="3273" href="Haskell.Prelude.html#3273" class="Bound">err</a>
+
+<a id="errorWithoutStackTrace"></a><a id="3278" href="Haskell.Prelude.html#3278" class="Function">errorWithoutStackTrace</a> <a id="3301" class="Symbol">:</a> <a id="3303" class="Symbol">{@</a><a id="3305" class="Symbol">0</a> <a id="3307" class="Symbol">@(</a><a id="3309" class="Keyword">tactic</a> <a id="3316" href="Haskell.Prim.Absurd.html#614" class="Function">absurd</a><a id="3322" class="Symbol">)</a> <a id="3324" href="Haskell.Prelude.html#3324" class="Bound">i</a> <a id="3326" class="Symbol">:</a> <a id="3328" href="Haskell.Prim.html#2596" class="Datatype">⊥</a><a id="3329" class="Symbol">}</a> <a id="3331" class="Symbol">→</a> <a id="3333" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="3340" class="Symbol">→</a> <a id="3342" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3344" href="Haskell.Prelude.html#3278" class="Function">errorWithoutStackTrace</a> <a id="3367" class="Symbol">{</a><a id="3368" class="Argument">i</a> <a id="3370" class="Symbol">=</a> <a id="3372" class="Symbol">()}</a> <a id="3376" href="Haskell.Prelude.html#3376" class="Bound">err</a>
+
+<a id="3381" class="Comment">-------------------------------------------------</a>
+<a id="3431" class="Comment">-- More List functions</a>
+<a id="3454" class="Comment">--   These uses Eq, Ord, or Foldable, so can&#39;t go in Prim.List without</a>
+<a id="3525" class="Comment">--   turning those dependencies around.</a>
+
+<a id="reverse"></a><a id="3566" href="Haskell.Prelude.html#3566" class="Function">reverse</a> <a id="3574" class="Symbol">:</a> <a id="3576" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3581" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3583" class="Symbol">→</a> <a id="3585" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3590" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3592" href="Haskell.Prelude.html#3566" class="Function">reverse</a> <a id="3600" class="Symbol">=</a> <a id="3602" href="Haskell.Prim.Foldable.html#566" class="Field">foldl</a> <a id="3608" class="Symbol">(</a><a id="3609" href="Haskell.Prim.html#1383" class="Function">flip</a> <a id="3614" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">_∷_</a><a id="3617" class="Symbol">)</a> <a id="3619" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+
+<a id="3623" class="Keyword">infixl</a> <a id="3630" class="Number">9</a> <a id="3632" href="Haskell.Prelude.html#3769" class="Function Operator">_!!_</a> <a id="3637" href="Haskell.Prelude.html#3644" class="Function Operator">_!!ᴺ_</a>
+
+<a id="_!!ᴺ_"></a><a id="3644" href="Haskell.Prelude.html#3644" class="Function Operator">_!!ᴺ_</a> <a id="3650" class="Symbol">:</a> <a id="3652" class="Symbol">(</a><a id="3653" href="Haskell.Prelude.html#3653" class="Bound">xs</a> <a id="3656" class="Symbol">:</a> <a id="3658" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3663" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="3664" class="Symbol">)</a> <a id="3666" class="Symbol">(</a><a id="3667" href="Haskell.Prelude.html#3667" class="Bound">n</a> <a id="3669" class="Symbol">:</a> <a id="3671" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="3674" class="Symbol">)</a> <a id="3676" class="Symbol">→</a> <a id="3678" class="Symbol">@</a><a id="3679" class="Symbol">0</a> <a id="3681" class="Symbol">⦃</a> <a id="3683" href="Haskell.Prim.html#2981" class="Datatype">IsTrue</a> <a id="3690" class="Symbol">(</a><a id="3691" href="Haskell.Prelude.html#3667" class="Bound">n</a> <a id="3693" href="Haskell.Prim.Ord.html#1072" class="Field Operator">&lt;</a> <a id="3695" href="Haskell.Prim.html#2428" class="Function">lengthNat</a> <a id="3705" href="Haskell.Prelude.html#3653" class="Bound">xs</a><a id="3707" class="Symbol">)</a> <a id="3709" class="Symbol">⦄</a> <a id="3711" class="Symbol">→</a> <a id="3713" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3715" class="Symbol">(</a><a id="3716" href="Haskell.Prelude.html#3716" class="Bound">x</a> <a id="3718" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3720" href="Haskell.Prelude.html#3720" class="Bound">xs</a><a id="3722" class="Symbol">)</a> <a id="3724" href="Haskell.Prelude.html#3644" class="Function Operator">!!ᴺ</a> <a id="3728" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>  <a id="3734" class="Symbol">=</a> <a id="3736" href="Haskell.Prelude.html#3716" class="Bound">x</a>
+<a id="3738" class="Symbol">(</a><a id="3739" href="Haskell.Prelude.html#3739" class="Bound">x</a> <a id="3741" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3743" href="Haskell.Prelude.html#3743" class="Bound">xs</a><a id="3745" class="Symbol">)</a> <a id="3747" href="Haskell.Prelude.html#3644" class="Function Operator">!!ᴺ</a> <a id="3751" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="3755" href="Haskell.Prelude.html#3755" class="Bound">n</a> <a id="3757" class="Symbol">=</a> <a id="3759" href="Haskell.Prelude.html#3743" class="Bound">xs</a> <a id="3762" href="Haskell.Prelude.html#3644" class="Function Operator">!!ᴺ</a> <a id="3766" href="Haskell.Prelude.html#3755" class="Bound">n</a>
+
+<a id="_!!_"></a><a id="3769" href="Haskell.Prelude.html#3769" class="Function Operator">_!!_</a> <a id="3774" class="Symbol">:</a> <a id="3776" class="Symbol">(</a><a id="3777" href="Haskell.Prelude.html#3777" class="Bound">xs</a> <a id="3780" class="Symbol">:</a> <a id="3782" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3787" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="3788" class="Symbol">)</a> <a id="3790" class="Symbol">(</a><a id="3791" href="Haskell.Prelude.html#3791" class="Bound">n</a> <a id="3793" class="Symbol">:</a> <a id="3795" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a><a id="3798" class="Symbol">)</a>
+     <a id="3805" class="Symbol">→</a> <a id="3807" class="Symbol">⦃</a> <a id="3809" class="Symbol">@</a><a id="3810" class="Symbol">0</a> <a id="3812" href="Haskell.Prelude.html#3812" class="Bound">nn</a> <a id="3815" class="Symbol">:</a> <a id="3817" href="Haskell.Prim.Int.html#2469" class="Function">IsNonNegativeInt</a> <a id="3834" href="Haskell.Prelude.html#3791" class="Bound">n</a> <a id="3836" class="Symbol">⦄</a>
+     <a id="3843" class="Symbol">→</a> <a id="3845" class="Symbol">⦃</a> <a id="3847" class="Symbol">@</a><a id="3848" class="Symbol">0</a> <a id="3850" href="Haskell.Prelude.html#3850" class="Bound">_</a>  <a id="3853" class="Symbol">:</a> <a id="3855" href="Haskell.Prim.html#2981" class="Datatype">IsTrue</a> <a id="3862" class="Symbol">(</a><a id="3863" href="Haskell.Prim.Int.html#2661" class="Function">intToNat</a> <a id="3872" href="Haskell.Prelude.html#3791" class="Bound">n</a> <a id="3874" class="Symbol">{{</a><a id="3876" href="Haskell.Prelude.html#3812" class="Bound">nn</a><a id="3878" class="Symbol">}}</a> <a id="3881" href="Haskell.Prim.Ord.html#1072" class="Field Operator">&lt;</a> <a id="3883" href="Haskell.Prim.html#2428" class="Function">lengthNat</a> <a id="3893" href="Haskell.Prelude.html#3777" class="Bound">xs</a><a id="3895" class="Symbol">)</a> <a id="3897" class="Symbol">⦄</a> <a id="3899" class="Symbol">→</a> <a id="3901" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3903" href="Haskell.Prelude.html#3903" class="Bound">xs</a> <a id="3906" href="Haskell.Prelude.html#3769" class="Function Operator">!!</a> <a id="3909" href="Haskell.Prelude.html#3909" class="Bound">n</a> <a id="3911" class="Symbol">=</a> <a id="3913" href="Haskell.Prelude.html#3903" class="Bound">xs</a> <a id="3916" href="Haskell.Prelude.html#3644" class="Function Operator">!!ᴺ</a> <a id="3920" href="Haskell.Prim.Int.html#2661" class="Function">intToNat</a> <a id="3929" href="Haskell.Prelude.html#3909" class="Bound">n</a>
+
+<a id="lookup"></a><a id="3932" href="Haskell.Prelude.html#3932" class="Function">lookup</a> <a id="3939" class="Symbol">:</a> <a id="3941" class="Symbol">⦃</a> <a id="3943" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="3946" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3948" class="Symbol">⦄</a> <a id="3950" class="Symbol">→</a> <a id="3952" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3954" class="Symbol">→</a> <a id="3956" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3961" class="Symbol">(</a><a id="3962" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3964" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="3966" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="3967" class="Symbol">)</a> <a id="3969" class="Symbol">→</a> <a id="3971" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="3977" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="3979" href="Haskell.Prelude.html#3932" class="Function">lookup</a> <a id="3986" href="Haskell.Prelude.html#3986" class="Bound">x</a> <a id="3988" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>              <a id="4004" class="Symbol">=</a> <a id="4006" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>
+<a id="4014" href="Haskell.Prelude.html#3932" class="Function">lookup</a> <a id="4021" href="Haskell.Prelude.html#4021" class="Bound">x</a> <a id="4023" class="Symbol">((</a><a id="4025" href="Haskell.Prelude.html#4025" class="Bound">x₁</a> <a id="4028" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="4030" href="Haskell.Prelude.html#4030" class="Bound">y</a><a id="4031" class="Symbol">)</a> <a id="4033" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="4035" href="Haskell.Prelude.html#4035" class="Bound">xs</a><a id="4037" class="Symbol">)</a> <a id="4039" class="Symbol">=</a> <a id="4041" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="4044" href="Haskell.Prelude.html#4021" class="Bound">x</a> <a id="4046" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="4049" href="Haskell.Prelude.html#4025" class="Bound">x₁</a> <a id="4052" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="4057" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="4062" href="Haskell.Prelude.html#4030" class="Bound">y</a> <a id="4064" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="4069" href="Haskell.Prelude.html#3932" class="Function">lookup</a> <a id="4076" href="Haskell.Prelude.html#4021" class="Bound">x</a> <a id="4078" href="Haskell.Prelude.html#4035" class="Bound">xs</a>
+
+
+<a id="4083" class="Comment">-------------------------------------------------</a>
+<a id="4133" class="Comment">-- Unsafe functions</a>
+
+<a id="coerce"></a><a id="4154" href="Haskell.Prelude.html#4154" class="Function">coerce</a> <a id="4161" class="Symbol">:</a> <a id="4163" class="Symbol">@</a><a id="4164" class="Symbol">0</a> <a id="4166" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="4168" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="4170" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="4172" class="Symbol">→</a> <a id="4174" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="4176" class="Symbol">→</a> <a id="4178" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="4180" href="Haskell.Prelude.html#4154" class="Function">coerce</a> <a id="4187" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">refl</a> <a id="4192" href="Haskell.Prelude.html#4192" class="Bound">x</a> <a id="4194" class="Symbol">=</a> <a id="4196" href="Haskell.Prelude.html#4192" class="Bound">x</a>
+
+<a id="IsJust"></a><a id="4199" href="Haskell.Prelude.html#4199" class="Function">IsJust</a> <a id="4206" class="Symbol">:</a> <a id="4208" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="4214" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="4216" class="Symbol">→</a> <a id="4218" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="4222" href="Haskell.Prelude.html#4199" class="Function">IsJust</a> <a id="4229" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="4238" class="Symbol">=</a> <a id="4240" href="Haskell.Prim.html#2596" class="Datatype">⊥</a>
+<a id="4242" href="Haskell.Prelude.html#4199" class="Function">IsJust</a> <a id="4249" class="Symbol">(</a><a id="4250" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="4255" class="Symbol">_)</a> <a id="4258" class="Symbol">=</a> <a id="4260" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+
+<a id="fromJust"></a><a id="4263" href="Haskell.Prelude.html#4263" class="Function">fromJust</a> <a id="4272" class="Symbol">:</a> <a id="4274" class="Symbol">(</a><a id="4275" href="Haskell.Prelude.html#4275" class="Bound">x</a> <a id="4277" class="Symbol">:</a> <a id="4279" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="4285" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="4286" class="Symbol">)</a> <a id="4288" class="Symbol">→</a> <a id="4290" class="Symbol">@</a><a id="4291" class="Symbol">0</a> <a id="4293" class="Symbol">{</a><a id="4294" href="Haskell.Prelude.html#4199" class="Function">IsJust</a> <a id="4301" href="Haskell.Prelude.html#4275" class="Bound">x</a><a id="4302" class="Symbol">}</a> <a id="4304" class="Symbol">→</a> <a id="4306" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="4308" href="Haskell.Prelude.html#4263" class="Function">fromJust</a> <a id="4317" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="4326" class="Symbol">=</a> <a id="4328" href="Haskell.Prelude.html#3209" class="Function">error</a> <a id="4334" class="String">&quot;fromJust Nothing&quot;</a>
+<a id="4353" href="Haskell.Prelude.html#4263" class="Function">fromJust</a> <a id="4362" class="Symbol">(</a><a id="4363" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="4368" href="Haskell.Prelude.html#4368" class="Bound">x</a><a id="4369" class="Symbol">)</a> <a id="4371" class="Symbol">=</a> <a id="4373" href="Haskell.Prelude.html#4368" class="Bound">x</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Absurd.html b/lib/Haskell.Prim.Absurd.html
new file mode 100644
index 00000000..95feecde
--- /dev/null
+++ b/lib/Haskell.Prim.Absurd.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Absurd</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Absurd.html" class="Module">Haskell.Prim.Absurd</a> <a id="29" class="Keyword">where</a>
+
+<a id="36" class="Keyword">open</a> <a id="41" class="Keyword">import</a> <a id="48" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+
+<a id="62" class="Keyword">open</a> <a id="67" class="Keyword">import</a> <a id="74" href="Agda.Builtin.Reflection.html" class="Module">Agda.Builtin.Reflection</a> <a id="98" class="Keyword">renaming</a> <a id="107" class="Symbol">(</a><a id="108" href="Agda.Builtin.Reflection.html#8695" class="Postulate">bindTC</a> <a id="115" class="Symbol">to</a> <a id="118" class="Postulate">_&gt;&gt;=_</a><a id="123" class="Symbol">;</a> <a id="125" href="Agda.Builtin.Reflection.html#6012" class="InductiveConstructor">absurd</a> <a id="132" class="Symbol">to</a> <a id="135" class="InductiveConstructor">absurdP</a><a id="142" class="Symbol">)</a>
+
+<a id="145" class="Keyword">private</a>
+
+  <a id="156" class="Keyword">pattern</a> <a id="vArg"></a><a id="164" href="Haskell.Prim.Absurd.html#164" class="InductiveConstructor">vArg</a> <a id="169" href="Haskell.Prim.Absurd.html#227" class="Bound">x</a> <a id="171" class="Symbol">=</a> <a id="173" href="Agda.Builtin.Reflection.html#3732" class="InductiveConstructor">arg</a> <a id="177" class="Symbol">(</a><a id="178" href="Agda.Builtin.Reflection.html#3637" class="InductiveConstructor">arg-info</a> <a id="187" href="Agda.Builtin.Reflection.html#2762" class="InductiveConstructor">visible</a> <a id="195" class="Symbol">(</a><a id="196" href="Agda.Builtin.Reflection.html#3463" class="InductiveConstructor">modality</a> <a id="205" href="Agda.Builtin.Reflection.html#3019" class="InductiveConstructor">relevant</a> <a id="214" href="Agda.Builtin.Reflection.html#3241" class="InductiveConstructor">quantity-ω</a><a id="224" class="Symbol">))</a> <a id="227" href="Haskell.Prim.Absurd.html#227" class="Bound">x</a>
+
+  <a id="refute"></a><a id="232" href="Haskell.Prim.Absurd.html#232" class="Function">refute</a> <a id="239" class="Symbol">:</a> <a id="241" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="245" class="Symbol">→</a> <a id="247" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a>
+  <a id="254" href="Haskell.Prim.Absurd.html#232" class="Function">refute</a> <a id="261" href="Haskell.Prim.Absurd.html#261" class="Bound">i</a> <a id="263" class="Symbol">=</a> <a id="265" href="Agda.Builtin.Reflection.html#5251" class="InductiveConstructor">def</a> <a id="269" class="Symbol">(</a><a id="270" class="Keyword">quote</a> <a id="276" href="Haskell.Prim.html#1480" class="Function Operator">_$_</a><a id="279" class="Symbol">)</a> <a id="281" class="Symbol">(</a> <a id="283" href="Haskell.Prim.Absurd.html#164" class="InductiveConstructor">vArg</a> <a id="288" class="Symbol">(</a><a id="289" href="Agda.Builtin.Reflection.html#5361" class="InductiveConstructor">pat-lam</a> <a id="297" class="Symbol">(</a><a id="298" href="Agda.Builtin.Reflection.html#6188" class="InductiveConstructor">absurd-clause</a> <a id="312" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="315" class="Symbol">(</a><a id="316" href="Haskell.Prim.Absurd.html#164" class="InductiveConstructor">vArg</a> <a id="321" class="Symbol">(</a><a id="322" href="Haskell.Prim.Absurd.html#135" class="InductiveConstructor">absurdP</a> <a id="330" class="Number">0</a><a id="331" class="Symbol">)</a> <a id="333" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="335" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a><a id="337" class="Symbol">)</a> <a id="339" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="341" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a><a id="343" class="Symbol">)</a> <a id="345" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a><a id="347" class="Symbol">)</a>
+                             <a id="378" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="380" href="Haskell.Prim.Absurd.html#164" class="InductiveConstructor">vArg</a> <a id="385" class="Symbol">(</a><a id="386" href="Agda.Builtin.Reflection.html#5138" class="InductiveConstructor">var</a> <a id="390" href="Haskell.Prim.Absurd.html#261" class="Bound">i</a> <a id="392" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a><a id="394" class="Symbol">)</a> <a id="396" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="398" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a><a id="400" class="Symbol">)</a>
+
+  <a id="tryRefute"></a><a id="405" href="Haskell.Prim.Absurd.html#405" class="Function">tryRefute</a> <a id="415" class="Symbol">:</a> <a id="417" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="421" class="Symbol">→</a> <a id="423" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a> <a id="428" class="Symbol">→</a> <a id="430" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="433" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="437" href="Haskell.Prim.Absurd.html#405" class="Function">tryRefute</a> <a id="447" class="Number">0</a>       <a id="455" class="Symbol">_</a>    <a id="460" class="Symbol">=</a> <a id="462" href="Agda.Builtin.Reflection.html#8815" class="Postulate">typeError</a> <a id="472" class="Symbol">(</a><a id="473" href="Agda.Builtin.Reflection.html#8223" class="InductiveConstructor">strErr</a> <a id="480" class="String">&quot;No variable of empty type found in the context&quot;</a> <a id="529" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="531" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a><a id="533" class="Symbol">)</a>
+  <a id="537" href="Haskell.Prim.Absurd.html#405" class="Function">tryRefute</a> <a id="547" class="Symbol">(</a><a id="548" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="552" href="Haskell.Prim.Absurd.html#552" class="Bound">n</a><a id="553" class="Symbol">)</a> <a id="555" href="Haskell.Prim.Absurd.html#555" class="Bound">hole</a> <a id="560" class="Symbol">=</a> <a id="562" href="Agda.Builtin.Reflection.html#9029" class="Postulate">catchTC</a> <a id="570" class="Symbol">(</a><a id="571" href="Agda.Builtin.Reflection.html#8775" class="Postulate">unify</a> <a id="577" href="Haskell.Prim.Absurd.html#555" class="Bound">hole</a> <a id="582" class="Symbol">(</a><a id="583" href="Haskell.Prim.Absurd.html#232" class="Function">refute</a> <a id="590" href="Haskell.Prim.Absurd.html#552" class="Bound">n</a><a id="591" class="Symbol">))</a> <a id="594" class="Symbol">(</a><a id="595" href="Haskell.Prim.Absurd.html#405" class="Function">tryRefute</a> <a id="605" href="Haskell.Prim.Absurd.html#552" class="Bound">n</a> <a id="607" href="Haskell.Prim.Absurd.html#555" class="Bound">hole</a><a id="611" class="Symbol">)</a>
+
+<a id="absurd"></a><a id="614" href="Haskell.Prim.Absurd.html#614" class="Function">absurd</a> <a id="621" class="Symbol">:</a> <a id="623" href="Agda.Builtin.Reflection.html#4993" class="Datatype">Term</a> <a id="628" class="Symbol">→</a> <a id="630" href="Agda.Builtin.Reflection.html#8602" class="Postulate">TC</a> <a id="633" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+<a id="635" href="Haskell.Prim.Absurd.html#614" class="Function">absurd</a> <a id="642" href="Haskell.Prim.Absurd.html#642" class="Bound">hole</a> <a id="647" class="Symbol">=</a> <a id="649" class="Keyword">do</a>
+  <a id="654" href="Haskell.Prim.Absurd.html#654" class="Bound">Γ</a> <a id="656" href="Haskell.Prim.Absurd.html#118" class="Postulate Operator">←</a> <a id="658" href="Agda.Builtin.Reflection.html#9243" class="Postulate">getContext</a>
+  <a id="671" href="Haskell.Prim.Absurd.html#405" class="Function">tryRefute</a> <a id="681" class="Symbol">(</a><a id="682" href="Haskell.Prim.html#2428" class="Function">lengthNat</a> <a id="692" href="Haskell.Prim.Absurd.html#654" class="Bound">Γ</a><a id="693" class="Symbol">)</a> <a id="695" href="Haskell.Prim.Absurd.html#642" class="Bound">hole</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Applicative.html b/lib/Haskell.Prim.Applicative.html
new file mode 100644
index 00000000..3d84fb89
--- /dev/null
+++ b/lib/Haskell.Prim.Applicative.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Applicative</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Keyword">module</a> <a id="8" href="Haskell.Prim.Applicative.html" class="Module">Haskell.Prim.Applicative</a> <a id="33" class="Keyword">where</a>
+
+<a id="40" class="Keyword">open</a> <a id="45" class="Keyword">import</a> <a id="52" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="65" class="Keyword">open</a> <a id="70" class="Keyword">import</a> <a id="77" href="Haskell.Prim.Either.html" class="Module">Haskell.Prim.Either</a>
+<a id="97" class="Keyword">open</a> <a id="102" class="Keyword">import</a> <a id="109" href="Haskell.Prim.Foldable.html" class="Module">Haskell.Prim.Foldable</a>
+<a id="131" class="Keyword">open</a> <a id="136" class="Keyword">import</a> <a id="143" href="Haskell.Prim.Functor.html" class="Module">Haskell.Prim.Functor</a>
+<a id="164" class="Keyword">open</a> <a id="169" class="Keyword">import</a> <a id="176" href="Haskell.Prim.IO.html" class="Module">Haskell.Prim.IO</a>
+<a id="192" class="Keyword">open</a> <a id="197" class="Keyword">import</a> <a id="204" href="Haskell.Prim.List.html" class="Module">Haskell.Prim.List</a>
+<a id="222" class="Keyword">open</a> <a id="227" class="Keyword">import</a> <a id="234" href="Haskell.Prim.Maybe.html" class="Module">Haskell.Prim.Maybe</a>
+<a id="253" class="Keyword">open</a> <a id="258" class="Keyword">import</a> <a id="265" href="Haskell.Prim.Monoid.html" class="Module">Haskell.Prim.Monoid</a>
+<a id="285" class="Keyword">open</a> <a id="290" class="Keyword">import</a> <a id="297" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a>
+
+
+<a id="318" class="Comment">--------------------------------------------------</a>
+<a id="369" class="Comment">-- Applicative</a>
+
+<a id="385" class="Comment">-- ** base</a>
+<a id="396" class="Keyword">record</a> <a id="Applicative"></a><a id="403" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="415" class="Symbol">(</a><a id="416" href="Haskell.Prim.Applicative.html#416" class="Bound">f</a> <a id="418" class="Symbol">:</a> <a id="420" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="424" class="Symbol">→</a> <a id="426" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="429" class="Symbol">)</a> <a id="431" class="Symbol">:</a> <a id="433" href="Agda.Primitive.html#388" class="Primitive">Set₁</a> <a id="438" class="Keyword">where</a>
+  <a id="446" class="Keyword">infixl</a> <a id="453" class="Number">4</a> <a id="455" class="Field Operator">_&lt;*&gt;_</a> _&lt;*_ _*&gt;_
+  <a id="473" class="Keyword">field</a>
+    <a id="Applicative.pure"></a><a id="483" href="Haskell.Prim.Applicative.html#483" class="Field">pure</a>  <a id="489" class="Symbol">:</a> <a id="491" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="493" class="Symbol">→</a> <a id="495" href="Haskell.Prim.Applicative.html#416" class="Bound">f</a> <a id="497" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+    <a id="Applicative._&lt;*&gt;_"></a><a id="503" href="Haskell.Prim.Applicative.html#503" class="Field Operator">_&lt;*&gt;_</a> <a id="509" class="Symbol">:</a> <a id="511" href="Haskell.Prim.Applicative.html#416" class="Bound">f</a> <a id="513" class="Symbol">(</a><a id="514" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="516" class="Symbol">→</a> <a id="518" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="519" class="Symbol">)</a> <a id="521" class="Symbol">→</a> <a id="523" href="Haskell.Prim.Applicative.html#416" class="Bound">f</a> <a id="525" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="527" class="Symbol">→</a> <a id="529" href="Haskell.Prim.Applicative.html#416" class="Bound">f</a> <a id="531" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+    <a id="537" class="Keyword">overlap</a> <a id="545" class="Symbol">⦃</a> <a id="Applicative.super"></a><a id="547" href="Haskell.Prim.Applicative.html#547" class="Field">super</a> <a id="553" class="Symbol">⦄</a> <a id="555" class="Symbol">:</a> <a id="557" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="565" href="Haskell.Prim.Applicative.html#416" class="Bound">f</a>
+    <a id="Applicative._&lt;*_"></a><a id="571" href="Haskell.Prim.Applicative.html#571" class="Field Operator">_&lt;*_</a> <a id="576" class="Symbol">:</a> <a id="578" href="Haskell.Prim.Applicative.html#416" class="Bound">f</a> <a id="580" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="582" class="Symbol">→</a> <a id="584" href="Haskell.Prim.Applicative.html#416" class="Bound">f</a> <a id="586" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="588" class="Symbol">→</a> <a id="590" href="Haskell.Prim.Applicative.html#416" class="Bound">f</a> <a id="592" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+    <a id="Applicative._*&gt;_"></a><a id="598" href="Haskell.Prim.Applicative.html#598" class="Field Operator">_*&gt;_</a> <a id="603" class="Symbol">:</a> <a id="605" href="Haskell.Prim.Applicative.html#416" class="Bound">f</a> <a id="607" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="609" class="Symbol">→</a> <a id="611" href="Haskell.Prim.Applicative.html#416" class="Bound">f</a> <a id="613" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="615" class="Symbol">→</a> <a id="617" href="Haskell.Prim.Applicative.html#416" class="Bound">f</a> <a id="619" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="621" class="Comment">-- ** defaults</a>
+<a id="636" class="Keyword">record</a> <a id="DefaultApplicative"></a><a id="643" href="Haskell.Prim.Applicative.html#643" class="Record">DefaultApplicative</a> <a id="662" class="Symbol">(</a><a id="663" href="Haskell.Prim.Applicative.html#663" class="Bound">f</a> <a id="665" class="Symbol">:</a> <a id="667" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="671" class="Symbol">→</a> <a id="673" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="676" class="Symbol">)</a> <a id="678" class="Symbol">:</a> <a id="680" href="Agda.Primitive.html#388" class="Primitive">Set₁</a> <a id="685" class="Keyword">where</a>
+  <a id="693" class="Keyword">constructor</a> <a id="mk"></a><a id="705" href="Haskell.Prim.Applicative.html#705" class="InductiveConstructor">mk</a>
+  <a id="710" class="Keyword">infixl</a> <a id="717" class="Number">4</a> <a id="719" href="Haskell.Prim.Applicative.html#767" class="Field Operator">_&lt;*&gt;_</a> <a id="725" href="Haskell.Prim.Applicative.html#834" class="Function Operator">_&lt;*_</a> <a id="730" href="Haskell.Prim.Applicative.html#889" class="Function Operator">_*&gt;_</a>
+  <a id="737" class="Keyword">field</a>
+    <a id="DefaultApplicative.pure"></a><a id="747" href="Haskell.Prim.Applicative.html#747" class="Field">pure</a>  <a id="753" class="Symbol">:</a> <a id="755" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="757" class="Symbol">→</a> <a id="759" href="Haskell.Prim.Applicative.html#663" class="Bound">f</a> <a id="761" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+    <a id="DefaultApplicative._&lt;*&gt;_"></a><a id="767" href="Haskell.Prim.Applicative.html#767" class="Field Operator">_&lt;*&gt;_</a> <a id="773" class="Symbol">:</a> <a id="775" href="Haskell.Prim.Applicative.html#663" class="Bound">f</a> <a id="777" class="Symbol">(</a><a id="778" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="780" class="Symbol">→</a> <a id="782" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="783" class="Symbol">)</a> <a id="785" class="Symbol">→</a> <a id="787" href="Haskell.Prim.Applicative.html#663" class="Bound">f</a> <a id="789" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="791" class="Symbol">→</a> <a id="793" href="Haskell.Prim.Applicative.html#663" class="Bound">f</a> <a id="795" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+    <a id="801" class="Keyword">overlap</a> <a id="809" class="Symbol">⦃</a> <a id="DefaultApplicative.super"></a><a id="811" href="Haskell.Prim.Applicative.html#811" class="Field">super</a> <a id="817" class="Symbol">⦄</a> <a id="819" class="Symbol">:</a> <a id="821" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="829" href="Haskell.Prim.Applicative.html#663" class="Bound">f</a>
+
+  <a id="DefaultApplicative._&lt;*_"></a><a id="834" href="Haskell.Prim.Applicative.html#834" class="Function Operator">_&lt;*_</a> <a id="839" class="Symbol">:</a> <a id="841" href="Haskell.Prim.Applicative.html#663" class="Bound">f</a> <a id="843" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="845" class="Symbol">→</a> <a id="847" href="Haskell.Prim.Applicative.html#663" class="Bound">f</a> <a id="849" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="851" class="Symbol">→</a> <a id="853" href="Haskell.Prim.Applicative.html#663" class="Bound">f</a> <a id="855" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+  <a id="859" href="Haskell.Prim.Applicative.html#859" class="Bound">x</a> <a id="861" href="Haskell.Prim.Applicative.html#834" class="Function Operator">&lt;*</a> <a id="864" href="Haskell.Prim.Applicative.html#864" class="Bound">y</a> <a id="866" class="Symbol">=</a> <a id="868" href="Haskell.Prim.html#1434" class="Function">const</a> <a id="874" href="Haskell.Prim.Functor.html#420" class="Field Operator">&lt;$&gt;</a> <a id="878" href="Haskell.Prim.Applicative.html#859" class="Bound">x</a> <a id="880" href="Haskell.Prim.Applicative.html#767" class="Field Operator">&lt;*&gt;</a> <a id="884" href="Haskell.Prim.Applicative.html#864" class="Bound">y</a>
+
+  <a id="DefaultApplicative._*&gt;_"></a><a id="889" href="Haskell.Prim.Applicative.html#889" class="Function Operator">_*&gt;_</a> <a id="894" class="Symbol">:</a> <a id="896" href="Haskell.Prim.Applicative.html#663" class="Bound">f</a> <a id="898" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="900" class="Symbol">→</a> <a id="902" href="Haskell.Prim.Applicative.html#663" class="Bound">f</a> <a id="904" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="906" class="Symbol">→</a> <a id="908" href="Haskell.Prim.Applicative.html#663" class="Bound">f</a> <a id="910" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+  <a id="914" href="Haskell.Prim.Applicative.html#914" class="Bound">x</a> <a id="916" href="Haskell.Prim.Applicative.html#889" class="Function Operator">*&gt;</a> <a id="919" href="Haskell.Prim.Applicative.html#919" class="Bound">y</a> <a id="921" class="Symbol">=</a> <a id="923" href="Haskell.Prim.html#1434" class="Function">const</a> <a id="929" href="Haskell.Prim.html#1296" class="Function">id</a> <a id="932" href="Haskell.Prim.Functor.html#420" class="Field Operator">&lt;$&gt;</a> <a id="936" href="Haskell.Prim.Applicative.html#914" class="Bound">x</a> <a id="938" href="Haskell.Prim.Applicative.html#767" class="Field Operator">&lt;*&gt;</a> <a id="942" href="Haskell.Prim.Applicative.html#919" class="Bound">y</a>
+<a id="944" class="Comment">-- ** export</a>
+<a id="957" class="Keyword">open</a> <a id="962" href="Haskell.Prim.Applicative.html#403" class="Module">Applicative</a> <a id="974" class="Symbol">⦃...⦄</a> <a id="980" class="Keyword">public</a>
+<a id="987" class="Symbol">{-#</a> <a id="991" class="Keyword">COMPILE</a> <a id="999" class="Keyword">AGDA2HS</a> <a id="1007" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="1019" class="Pragma">existing-class</a> <a id="1034" class="Symbol">#-}</a>
+<a id="1038" class="Comment">-- ** instances</a>
+<a id="1054" class="Keyword">private</a>
+  <a id="mkApplicative"></a><a id="1064" href="Haskell.Prim.Applicative.html#1064" class="Function">mkApplicative</a> <a id="1078" class="Symbol">:</a> <a id="1080" href="Haskell.Prim.Applicative.html#643" class="Record">DefaultApplicative</a> <a id="1099" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="1101" class="Symbol">→</a> <a id="1103" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="1115" href="Haskell.Prim.html#1215" class="Generalizable">t</a>
+  <a id="1119" href="Haskell.Prim.Applicative.html#1064" class="Function">mkApplicative</a> <a id="1133" href="Haskell.Prim.Applicative.html#1133" class="Bound">x</a> <a id="1135" class="Symbol">=</a> <a id="1137" class="Keyword">record</a> <a id="1144" class="Symbol">{</a><a id="1145" href="Haskell.Prim.Applicative.html#1145" class="Module">DefaultApplicative</a> <a id="1164" href="Haskell.Prim.Applicative.html#1133" class="Bound">x</a><a id="1165" class="Symbol">}</a>
+<a id="1167" class="Keyword">instance</a>
+  <a id="1178" class="Keyword">open</a> <a id="1183" href="Haskell.Prim.Applicative.html#643" class="Module">DefaultApplicative</a>
+
+  <a id="iApplicativeList"></a><a id="1205" href="Haskell.Prim.Applicative.html#1205" class="Function">iApplicativeList</a> <a id="1222" class="Symbol">:</a> <a id="1224" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="1236" href="Agda.Builtin.List.html#147" class="Datatype">List</a>
+  <a id="1243" href="Haskell.Prim.Applicative.html#1205" class="Function">iApplicativeList</a> <a id="1260" class="Symbol">=</a> <a id="1262" href="Haskell.Prim.Applicative.html#1064" class="Function">mkApplicative</a> <a id="1276" class="Symbol">λ</a> <a id="1278" class="Keyword">where</a>
+    <a id="1288" class="Symbol">.</a><a id="1289" href="Haskell.Prim.Applicative.html#747" class="Field">pure</a> <a id="1294" href="Haskell.Prim.Applicative.html#1294" class="Bound">x</a>      <a id="1301" class="Symbol">→</a> <a id="1303" href="Haskell.Prim.Applicative.html#1294" class="Bound">x</a> <a id="1305" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1307" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+    <a id="1314" class="Symbol">.</a><a id="1315" href="Haskell.Prim.Applicative.html#767" class="Field Operator">_&lt;*&gt;_</a> <a id="1321" href="Haskell.Prim.Applicative.html#1321" class="Bound">fs</a> <a id="1324" href="Haskell.Prim.Applicative.html#1324" class="Bound">xs</a> <a id="1327" class="Symbol">→</a> <a id="1329" href="Haskell.Prim.Foldable.html#774" class="Field">concatMap</a> <a id="1339" class="Symbol">(λ</a> <a id="1342" href="Haskell.Prim.Applicative.html#1342" class="Bound">f</a> <a id="1344" class="Symbol">→</a> <a id="1346" href="Haskell.Prim.List.html#211" class="Function">map</a> <a id="1350" href="Haskell.Prim.Applicative.html#1342" class="Bound">f</a> <a id="1352" href="Haskell.Prim.Applicative.html#1324" class="Bound">xs</a><a id="1354" class="Symbol">)</a> <a id="1356" href="Haskell.Prim.Applicative.html#1321" class="Bound">fs</a>
+
+  <a id="iApplicativeMaybe"></a><a id="1362" href="Haskell.Prim.Applicative.html#1362" class="Function">iApplicativeMaybe</a> <a id="1380" class="Symbol">:</a> <a id="1382" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="1394" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a>
+  <a id="1402" href="Haskell.Prim.Applicative.html#1362" class="Function">iApplicativeMaybe</a> <a id="1420" class="Symbol">=</a> <a id="1422" href="Haskell.Prim.Applicative.html#1064" class="Function">mkApplicative</a> <a id="1436" class="Symbol">λ</a> <a id="1438" class="Keyword">where</a>
+    <a id="1448" class="Symbol">.</a><a id="1449" href="Haskell.Prim.Applicative.html#747" class="Field">pure</a> <a id="1454" class="Symbol">→</a> <a id="1456" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a>
+    <a id="1465" class="Symbol">.</a><a id="1466" href="Haskell.Prim.Applicative.html#767" class="Field Operator">_&lt;*&gt;_</a> <a id="1472" class="Symbol">(</a><a id="1473" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="1478" href="Haskell.Prim.Applicative.html#1478" class="Bound">f</a><a id="1479" class="Symbol">)</a> <a id="1481" class="Symbol">(</a><a id="1482" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="1487" href="Haskell.Prim.Applicative.html#1487" class="Bound">x</a><a id="1488" class="Symbol">)</a> <a id="1490" class="Symbol">→</a> <a id="1492" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="1497" class="Symbol">(</a><a id="1498" href="Haskell.Prim.Applicative.html#1478" class="Bound">f</a> <a id="1500" href="Haskell.Prim.Applicative.html#1487" class="Bound">x</a><a id="1501" class="Symbol">)</a>
+    <a id="1507" class="CatchallClause Symbol">.</a><a id="1508" href="Haskell.Prim.Applicative.html#767" class="CatchallClause Field Operator">_&lt;*&gt;_</a><a id="1513" class="CatchallClause"> </a><a id="1514" class="CatchallClause Symbol">_</a><a id="1515" class="CatchallClause">        </a><a id="1523" class="CatchallClause Symbol">_</a>        <a id="1532" class="Symbol">→</a> <a id="1534" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>
+
+  <a id="iApplicativeEither"></a><a id="1545" href="Haskell.Prim.Applicative.html#1545" class="Function">iApplicativeEither</a> <a id="1564" class="Symbol">:</a> <a id="1566" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="1578" class="Symbol">(</a><a id="1579" href="Haskell.Prim.Either.html#159" class="Datatype">Either</a> <a id="1586" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="1587" class="Symbol">)</a>
+  <a id="1591" href="Haskell.Prim.Applicative.html#1545" class="Function">iApplicativeEither</a> <a id="1610" class="Symbol">=</a> <a id="1612" href="Haskell.Prim.Applicative.html#1064" class="Function">mkApplicative</a> <a id="1626" class="Symbol">λ</a> <a id="1628" class="Keyword">where</a>
+    <a id="1638" class="Symbol">.</a><a id="1639" href="Haskell.Prim.Applicative.html#747" class="Field">pure</a> <a id="1644" class="Symbol">→</a> <a id="1646" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a>
+    <a id="1656" class="Symbol">.</a><a id="1657" href="Haskell.Prim.Applicative.html#767" class="Field Operator">_&lt;*&gt;_</a> <a id="1663" class="Symbol">(</a><a id="1664" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="1670" href="Haskell.Prim.Applicative.html#1670" class="Bound">f</a><a id="1671" class="Symbol">)</a> <a id="1673" class="Symbol">(</a><a id="1674" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="1680" href="Haskell.Prim.Applicative.html#1680" class="Bound">x</a><a id="1681" class="Symbol">)</a> <a id="1683" class="Symbol">→</a> <a id="1685" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="1691" class="Symbol">(</a><a id="1692" href="Haskell.Prim.Applicative.html#1670" class="Bound">f</a> <a id="1694" href="Haskell.Prim.Applicative.html#1680" class="Bound">x</a><a id="1695" class="Symbol">)</a>
+    <a id="1701" class="Symbol">.</a><a id="1702" href="Haskell.Prim.Applicative.html#767" class="Field Operator">_&lt;*&gt;_</a> <a id="1708" class="Symbol">(</a><a id="1709" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a> <a id="1714" href="Haskell.Prim.Applicative.html#1714" class="Bound">e</a><a id="1715" class="Symbol">)</a>  <a id="1718" class="Symbol">_</a>         <a id="1728" class="Symbol">→</a> <a id="1730" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a> <a id="1735" href="Haskell.Prim.Applicative.html#1714" class="Bound">e</a>
+    <a id="1741" class="CatchallClause Symbol">.</a><a id="1742" href="Haskell.Prim.Applicative.html#767" class="CatchallClause Field Operator">_&lt;*&gt;_</a><a id="1747" class="CatchallClause"> </a><a id="1748" class="CatchallClause Symbol">_</a><a id="1749" class="CatchallClause">         </a><a id="1758" class="CatchallClause Symbol">(</a><a id="1759" href="Haskell.Prim.Either.html#192" class="CatchallClause InductiveConstructor">Left</a><a id="1763" class="CatchallClause"> </a><a id="1764" href="Haskell.Prim.Applicative.html#1764" class="CatchallClause Bound">e</a><a id="1765" class="CatchallClause Symbol">)</a>  <a id="1768" class="Symbol">→</a> <a id="1770" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a> <a id="1775" href="Haskell.Prim.Applicative.html#1764" class="Bound">e</a>
+
+  <a id="iApplicativeFun"></a><a id="1780" href="Haskell.Prim.Applicative.html#1780" class="Function">iApplicativeFun</a> <a id="1796" class="Symbol">:</a> <a id="1798" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="1810" class="Symbol">(λ</a> <a id="1813" href="Haskell.Prim.Applicative.html#1813" class="Bound">b</a> <a id="1815" class="Symbol">→</a> <a id="1817" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1819" class="Symbol">→</a> <a id="1821" href="Haskell.Prim.Applicative.html#1813" class="Bound">b</a><a id="1822" class="Symbol">)</a>
+  <a id="1826" href="Haskell.Prim.Applicative.html#1780" class="Function">iApplicativeFun</a> <a id="1842" class="Symbol">=</a> <a id="1844" href="Haskell.Prim.Applicative.html#1064" class="Function">mkApplicative</a> <a id="1858" class="Symbol">λ</a> <a id="1860" class="Keyword">where</a>
+    <a id="1870" class="Symbol">.</a><a id="1871" href="Haskell.Prim.Applicative.html#747" class="Field">pure</a>        <a id="1883" class="Symbol">→</a> <a id="1885" href="Haskell.Prim.html#1434" class="Function">const</a>
+    <a id="1895" class="Symbol">.</a><a id="1896" href="Haskell.Prim.Applicative.html#767" class="Field Operator">_&lt;*&gt;_</a> <a id="1902" href="Haskell.Prim.Applicative.html#1902" class="Bound">f</a> <a id="1904" href="Haskell.Prim.Applicative.html#1904" class="Bound">g</a> <a id="1906" href="Haskell.Prim.Applicative.html#1906" class="Bound">x</a> <a id="1908" class="Symbol">→</a> <a id="1910" href="Haskell.Prim.Applicative.html#1902" class="Bound">f</a> <a id="1912" href="Haskell.Prim.Applicative.html#1906" class="Bound">x</a> <a id="1914" class="Symbol">(</a><a id="1915" href="Haskell.Prim.Applicative.html#1904" class="Bound">g</a> <a id="1917" href="Haskell.Prim.Applicative.html#1906" class="Bound">x</a><a id="1918" class="Symbol">)</a>
+
+  <a id="iApplicativeTuple₂"></a><a id="1923" href="Haskell.Prim.Applicative.html#1923" class="Function">iApplicativeTuple₂</a> <a id="1942" class="Symbol">:</a> <a id="1944" class="Symbol">⦃</a> <a id="1946" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="1953" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1955" class="Symbol">⦄</a> <a id="1957" class="Symbol">→</a> <a id="1959" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="1971" class="Symbol">(</a><a id="1972" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1974" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×_</a><a id="1976" class="Symbol">)</a>
+  <a id="1980" href="Haskell.Prim.Applicative.html#1923" class="Function">iApplicativeTuple₂</a> <a id="1999" class="Symbol">=</a> <a id="2001" href="Haskell.Prim.Applicative.html#1064" class="Function">mkApplicative</a> <a id="2015" class="Symbol">λ</a> <a id="2017" class="Keyword">where</a>
+    <a id="2027" class="Symbol">.</a><a id="2028" href="Haskell.Prim.Applicative.html#747" class="Field">pure</a> <a id="2033" href="Haskell.Prim.Applicative.html#2033" class="Bound">x</a>                <a id="2050" class="Symbol">→</a> <a id="2052" href="Haskell.Prim.Monoid.html#1466" class="Field">mempty</a> <a id="2059" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="2061" href="Haskell.Prim.Applicative.html#2033" class="Bound">x</a>
+    <a id="2067" class="Symbol">.</a><a id="2068" href="Haskell.Prim.Applicative.html#767" class="Field Operator">_&lt;*&gt;_</a> <a id="2074" class="Symbol">(</a><a id="2075" href="Haskell.Prim.Applicative.html#2075" class="Bound">a</a> <a id="2077" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="2079" href="Haskell.Prim.Applicative.html#2079" class="Bound">f</a><a id="2080" class="Symbol">)</a> <a id="2082" class="Symbol">(</a><a id="2083" href="Haskell.Prim.Applicative.html#2083" class="Bound">b</a> <a id="2085" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="2087" href="Haskell.Prim.Applicative.html#2087" class="Bound">x</a><a id="2088" class="Symbol">)</a> <a id="2090" class="Symbol">→</a> <a id="2092" href="Haskell.Prim.Applicative.html#2075" class="Bound">a</a> <a id="2094" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="2097" href="Haskell.Prim.Applicative.html#2083" class="Bound">b</a> <a id="2099" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="2101" href="Haskell.Prim.Applicative.html#2079" class="Bound">f</a> <a id="2103" href="Haskell.Prim.Applicative.html#2087" class="Bound">x</a>
+
+  <a id="iApplicativeTuple₃"></a><a id="2108" href="Haskell.Prim.Applicative.html#2108" class="Function">iApplicativeTuple₃</a> <a id="2127" class="Symbol">:</a> <a id="2129" class="Symbol">⦃</a> <a id="2131" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2138" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2140" class="Symbol">⦄</a> <a id="2142" class="Symbol">→</a> <a id="2144" class="Symbol">⦃</a> <a id="2146" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2153" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2155" class="Symbol">⦄</a> <a id="2157" class="Symbol">→</a> <a id="2159" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="2171" class="Symbol">(</a><a id="2172" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2174" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="2176" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2178" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×_</a><a id="2180" class="Symbol">)</a>
+  <a id="2184" href="Haskell.Prim.Applicative.html#2108" class="Function">iApplicativeTuple₃</a> <a id="2203" class="Symbol">=</a> <a id="2205" href="Haskell.Prim.Applicative.html#1064" class="Function">mkApplicative</a> <a id="2219" class="Symbol">λ</a> <a id="2221" class="Keyword">where</a>
+    <a id="2231" class="Symbol">.</a><a id="2232" href="Haskell.Prim.Applicative.html#747" class="Field">pure</a> <a id="2237" href="Haskell.Prim.Applicative.html#2237" class="Bound">x</a>                <a id="2254" class="Symbol">→</a> <a id="2256" href="Haskell.Prim.Monoid.html#1466" class="Field">mempty</a> <a id="2263" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2265" href="Haskell.Prim.Monoid.html#1466" class="Field">mempty</a> <a id="2272" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2274" href="Haskell.Prim.Applicative.html#2237" class="Bound">x</a>
+    <a id="2280" class="Symbol">.</a><a id="2281" href="Haskell.Prim.Applicative.html#767" class="Field Operator">_&lt;*&gt;_</a> <a id="2287" class="Symbol">(</a><a id="2288" href="Haskell.Prim.Applicative.html#2288" class="Bound">a</a> <a id="2290" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2292" href="Haskell.Prim.Applicative.html#2292" class="Bound">u</a> <a id="2294" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2296" href="Haskell.Prim.Applicative.html#2296" class="Bound">f</a><a id="2297" class="Symbol">)</a> <a id="2299" class="Symbol">(</a><a id="2300" href="Haskell.Prim.Applicative.html#2300" class="Bound">b</a> <a id="2302" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2304" href="Haskell.Prim.Applicative.html#2304" class="Bound">v</a> <a id="2306" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2308" href="Haskell.Prim.Applicative.html#2308" class="Bound">x</a><a id="2309" class="Symbol">)</a> <a id="2311" class="Symbol">→</a> <a id="2313" href="Haskell.Prim.Applicative.html#2288" class="Bound">a</a> <a id="2315" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="2318" href="Haskell.Prim.Applicative.html#2300" class="Bound">b</a> <a id="2320" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2322" href="Haskell.Prim.Applicative.html#2292" class="Bound">u</a> <a id="2324" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="2327" href="Haskell.Prim.Applicative.html#2304" class="Bound">v</a> <a id="2329" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2331" href="Haskell.Prim.Applicative.html#2296" class="Bound">f</a> <a id="2333" href="Haskell.Prim.Applicative.html#2308" class="Bound">x</a>
+
+<a id="2336" class="Keyword">instance</a> <a id="2345" class="Keyword">postulate</a> <a id="iApplicativeIO"></a><a id="2355" href="Haskell.Prim.Applicative.html#2355" class="Postulate">iApplicativeIO</a> <a id="2370" class="Symbol">:</a> <a id="2372" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="2384" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Bool.html b/lib/Haskell.Prim.Bool.html
new file mode 100644
index 00000000..36ec9c7c
--- /dev/null
+++ b/lib/Haskell.Prim.Bool.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Bool</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Bool.html" class="Module">Haskell.Prim.Bool</a> <a id="27" class="Keyword">where</a>
+
+<a id="34" class="Keyword">open</a> <a id="39" class="Keyword">import</a> <a id="46" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+
+<a id="60" class="Comment">--------------------------------------------------</a>
+<a id="111" class="Comment">-- Booleans</a>
+
+<a id="124" class="Keyword">infixr</a> <a id="131" class="Number">3</a> <a id="133" href="Haskell.Prim.Bool.html#138" class="Function Operator">_&amp;&amp;_</a>
+<a id="_&amp;&amp;_"></a><a id="138" href="Haskell.Prim.Bool.html#138" class="Function Operator">_&amp;&amp;_</a> <a id="143" class="Symbol">:</a> <a id="145" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="150" class="Symbol">→</a> <a id="152" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="157" class="Symbol">→</a> <a id="159" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="164" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a> <a id="170" href="Haskell.Prim.Bool.html#138" class="Function Operator">&amp;&amp;</a> <a id="173" class="Symbol">_</a> <a id="175" class="Symbol">=</a> <a id="177" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a>
+<a id="183" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>  <a id="189" href="Haskell.Prim.Bool.html#138" class="Function Operator">&amp;&amp;</a> <a id="192" href="Haskell.Prim.Bool.html#192" class="Bound">x</a> <a id="194" class="Symbol">=</a> <a id="196" href="Haskell.Prim.Bool.html#192" class="Bound">x</a>
+
+<a id="199" class="Keyword">infixr</a> <a id="206" class="Number">2</a> <a id="208" href="Haskell.Prim.Bool.html#213" class="Function Operator">_||_</a>
+<a id="_||_"></a><a id="213" href="Haskell.Prim.Bool.html#213" class="Function Operator">_||_</a> <a id="218" class="Symbol">:</a> <a id="220" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="225" class="Symbol">→</a> <a id="227" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="232" class="Symbol">→</a> <a id="234" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="239" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a> <a id="245" href="Haskell.Prim.Bool.html#213" class="Function Operator">||</a> <a id="248" href="Haskell.Prim.Bool.html#248" class="Bound">x</a> <a id="250" class="Symbol">=</a> <a id="252" href="Haskell.Prim.Bool.html#248" class="Bound">x</a>
+<a id="254" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>  <a id="260" href="Haskell.Prim.Bool.html#213" class="Function Operator">||</a> <a id="263" class="Symbol">_</a> <a id="265" class="Symbol">=</a> <a id="267" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+
+<a id="not"></a><a id="273" href="Haskell.Prim.Bool.html#273" class="Function">not</a> <a id="277" class="Symbol">:</a> <a id="279" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="284" class="Symbol">→</a> <a id="286" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="291" href="Haskell.Prim.Bool.html#273" class="Function">not</a> <a id="295" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a> <a id="301" class="Symbol">=</a> <a id="303" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+<a id="308" href="Haskell.Prim.Bool.html#273" class="Function">not</a> <a id="312" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>  <a id="318" class="Symbol">=</a> <a id="320" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a>
+
+<a id="otherwise"></a><a id="327" href="Haskell.Prim.Bool.html#327" class="Function">otherwise</a> <a id="337" class="Symbol">:</a> <a id="339" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="344" href="Haskell.Prim.Bool.html#327" class="Function">otherwise</a> <a id="354" class="Symbol">=</a> <a id="356" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Bounded.html b/lib/Haskell.Prim.Bounded.html
new file mode 100644
index 00000000..2c8a7de2
--- /dev/null
+++ b/lib/Haskell.Prim.Bounded.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Bounded</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Bounded.html" class="Module">Haskell.Prim.Bounded</a> <a id="30" class="Keyword">where</a>
+
+<a id="37" class="Keyword">open</a> <a id="42" class="Keyword">import</a> <a id="49" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="62" class="Keyword">open</a> <a id="67" class="Keyword">import</a> <a id="74" href="Haskell.Prim.Eq.html" class="Module">Haskell.Prim.Eq</a>
+<a id="90" class="Keyword">open</a> <a id="95" class="Keyword">import</a> <a id="102" href="Haskell.Prim.Int.html" class="Module">Haskell.Prim.Int</a>
+<a id="119" class="Keyword">open</a> <a id="124" class="Keyword">import</a> <a id="131" href="Haskell.Prim.Maybe.html" class="Module">Haskell.Prim.Maybe</a>
+<a id="150" class="Keyword">open</a> <a id="155" class="Keyword">import</a> <a id="162" href="Haskell.Prim.Ord.html" class="Module">Haskell.Prim.Ord</a>
+<a id="179" class="Keyword">open</a> <a id="184" class="Keyword">import</a> <a id="191" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a>
+<a id="210" class="Keyword">open</a> <a id="215" class="Keyword">import</a> <a id="222" href="Haskell.Prim.Word.html" class="Module">Haskell.Prim.Word</a>
+
+<a id="241" class="Comment">--------------------------------------------------</a>
+<a id="292" class="Comment">-- Bounded</a>
+
+<a id="304" class="Keyword">record</a> <a id="BoundedBelow"></a><a id="311" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="324" class="Symbol">(</a><a id="325" href="Haskell.Prim.Bounded.html#325" class="Bound">a</a> <a id="327" class="Symbol">:</a> <a id="329" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="332" class="Symbol">)</a> <a id="334" class="Symbol">:</a> <a id="336" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="340" class="Keyword">where</a>
+  <a id="348" class="Keyword">field</a>
+    <a id="BoundedBelow.minBound"></a><a id="358" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a> <a id="367" class="Symbol">:</a> <a id="369" href="Haskell.Prim.Bounded.html#325" class="Bound">a</a>
+
+<a id="372" class="Keyword">record</a> <a id="BoundedAbove"></a><a id="379" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="392" class="Symbol">(</a><a id="393" href="Haskell.Prim.Bounded.html#393" class="Bound">a</a> <a id="395" class="Symbol">:</a> <a id="397" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="400" class="Symbol">)</a> <a id="402" class="Symbol">:</a> <a id="404" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="408" class="Keyword">where</a>
+  <a id="416" class="Keyword">field</a>
+    <a id="BoundedAbove.maxBound"></a><a id="426" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a> <a id="435" class="Symbol">:</a> <a id="437" href="Haskell.Prim.Bounded.html#393" class="Bound">a</a>
+
+<a id="440" class="Keyword">record</a> <a id="Bounded"></a><a id="447" href="Haskell.Prim.Bounded.html#447" class="Record">Bounded</a> <a id="455" class="Symbol">(</a><a id="456" href="Haskell.Prim.Bounded.html#456" class="Bound">a</a> <a id="458" class="Symbol">:</a> <a id="460" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="463" class="Symbol">)</a> <a id="465" class="Symbol">:</a> <a id="467" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="471" class="Keyword">where</a>
+  <a id="479" class="Keyword">field</a>
+    <a id="489" class="Keyword">overlap</a> <a id="497" class="Symbol">⦃</a> <a id="Bounded.below"></a><a id="499" href="Haskell.Prim.Bounded.html#499" class="Field">below</a> <a id="505" class="Symbol">⦄</a> <a id="507" class="Symbol">:</a> <a id="509" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="522" href="Haskell.Prim.Bounded.html#456" class="Bound">a</a>
+    <a id="528" class="Keyword">overlap</a> <a id="536" class="Symbol">⦃</a> <a id="Bounded.above"></a><a id="538" href="Haskell.Prim.Bounded.html#538" class="Field">above</a> <a id="544" class="Symbol">⦄</a> <a id="546" class="Symbol">:</a> <a id="548" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="561" href="Haskell.Prim.Bounded.html#456" class="Bound">a</a>
+
+<a id="564" class="Symbol">{-#</a> <a id="568" class="Keyword">COMPILE</a> <a id="576" class="Keyword">AGDA2HS</a> <a id="584" href="Haskell.Prim.Bounded.html#447" class="Record">Bounded</a> <a id="592" class="Pragma">existing-class</a> <a id="607" class="Symbol">#-}</a>
+
+<a id="612" class="Keyword">open</a> <a id="617" href="Haskell.Prim.Bounded.html#311" class="Module">BoundedBelow</a> <a id="630" class="Symbol">⦃...⦄</a> <a id="636" class="Keyword">public</a>
+<a id="643" class="Keyword">open</a> <a id="648" href="Haskell.Prim.Bounded.html#379" class="Module">BoundedAbove</a> <a id="661" class="Symbol">⦃...⦄</a> <a id="667" class="Keyword">public</a>
+
+<a id="675" class="Keyword">instance</a>
+  <a id="iBounded"></a><a id="686" href="Haskell.Prim.Bounded.html#686" class="Function">iBounded</a> <a id="695" class="Symbol">:</a> <a id="697" class="Symbol">⦃</a> <a id="699" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="712" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="714" class="Symbol">⦄</a> <a id="716" class="Symbol">→</a> <a id="718" class="Symbol">⦃</a> <a id="720" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="733" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="735" class="Symbol">⦄</a> <a id="737" class="Symbol">→</a> <a id="739" href="Haskell.Prim.Bounded.html#447" class="Record">Bounded</a> <a id="747" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+  <a id="751" href="Haskell.Prim.Bounded.html#686" class="Function">iBounded</a> <a id="760" class="Symbol">.</a><a id="761" href="Haskell.Prim.Bounded.html#499" class="Field">Bounded.below</a> <a id="775" class="Symbol">=</a> <a id="777" href="Haskell.Prim.html#3257" class="Function">it</a>
+  <a id="782" href="Haskell.Prim.Bounded.html#686" class="Function">iBounded</a> <a id="791" class="Symbol">.</a><a id="792" href="Haskell.Prim.Bounded.html#538" class="Field">Bounded.above</a> <a id="806" class="Symbol">=</a> <a id="808" href="Haskell.Prim.html#3257" class="Function">it</a>
+
+<a id="812" class="Keyword">instance</a>
+  <a id="iBoundedBelowNat"></a><a id="823" href="Haskell.Prim.Bounded.html#823" class="Function">iBoundedBelowNat</a> <a id="840" class="Symbol">:</a> <a id="842" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="855" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="861" href="Haskell.Prim.Bounded.html#823" class="Function">iBoundedBelowNat</a> <a id="878" class="Symbol">.</a><a id="879" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a> <a id="888" class="Symbol">=</a> <a id="890" class="Number">0</a>
+
+  <a id="iBoundedBelowWord"></a><a id="895" href="Haskell.Prim.Bounded.html#895" class="Function">iBoundedBelowWord</a> <a id="913" class="Symbol">:</a> <a id="915" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="928" href="Agda.Builtin.Word.html#208" class="Postulate">Word</a>
+  <a id="935" href="Haskell.Prim.Bounded.html#895" class="Function">iBoundedBelowWord</a> <a id="953" class="Symbol">.</a><a id="954" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a> <a id="963" class="Symbol">=</a> <a id="965" class="Number">0</a>
+  <a id="iBoundedAboveWord"></a><a id="969" href="Haskell.Prim.Bounded.html#969" class="Function">iBoundedAboveWord</a> <a id="987" class="Symbol">:</a> <a id="989" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="1002" href="Agda.Builtin.Word.html#208" class="Postulate">Word</a>
+  <a id="1009" href="Haskell.Prim.Bounded.html#969" class="Function">iBoundedAboveWord</a> <a id="1027" class="Symbol">.</a><a id="1028" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a> <a id="1037" class="Symbol">=</a> <a id="1039" class="Number">18446744073709551615</a>
+
+  <a id="iBoundedBelowInt"></a><a id="1063" href="Haskell.Prim.Bounded.html#1063" class="Function">iBoundedBelowInt</a> <a id="1080" class="Symbol">:</a> <a id="1082" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="1095" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+  <a id="1101" href="Haskell.Prim.Bounded.html#1063" class="Function">iBoundedBelowInt</a> <a id="1118" class="Symbol">.</a><a id="1119" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a> <a id="1128" class="Symbol">=</a> <a id="1130" class="Number">-9223372036854775808</a>
+  <a id="iBoundedAboveInt"></a><a id="1153" href="Haskell.Prim.Bounded.html#1153" class="Function">iBoundedAboveInt</a> <a id="1170" class="Symbol">:</a> <a id="1172" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="1185" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+  <a id="1191" href="Haskell.Prim.Bounded.html#1153" class="Function">iBoundedAboveInt</a> <a id="1208" class="Symbol">.</a><a id="1209" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a> <a id="1218" class="Symbol">=</a> <a id="1220" class="Number">9223372036854775807</a>
+
+  <a id="iBoundedBelowBool"></a><a id="1243" href="Haskell.Prim.Bounded.html#1243" class="Function">iBoundedBelowBool</a> <a id="1261" class="Symbol">:</a> <a id="1263" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="1276" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="1283" href="Haskell.Prim.Bounded.html#1243" class="Function">iBoundedBelowBool</a> <a id="1301" class="Symbol">.</a><a id="1302" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a> <a id="1311" class="Symbol">=</a> <a id="1313" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a>
+  <a id="iBoundedAboveBool"></a><a id="1321" href="Haskell.Prim.Bounded.html#1321" class="Function">iBoundedAboveBool</a> <a id="1339" class="Symbol">:</a> <a id="1341" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="1354" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="1361" href="Haskell.Prim.Bounded.html#1321" class="Function">iBoundedAboveBool</a> <a id="1379" class="Symbol">.</a><a id="1380" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a> <a id="1389" class="Symbol">=</a> <a id="1391" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+
+  <a id="iBoundedBelowChar"></a><a id="1399" href="Haskell.Prim.Bounded.html#1399" class="Function">iBoundedBelowChar</a> <a id="1417" class="Symbol">:</a> <a id="1419" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="1432" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a>
+  <a id="1439" href="Haskell.Prim.Bounded.html#1399" class="Function">iBoundedBelowChar</a> <a id="1457" class="Symbol">.</a><a id="1458" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a> <a id="1467" class="Symbol">=</a> <a id="1469" class="String">&#39;\0&#39;</a>
+  <a id="iBoundedAboveChar"></a><a id="1476" href="Haskell.Prim.Bounded.html#1476" class="Function">iBoundedAboveChar</a> <a id="1494" class="Symbol">:</a> <a id="1496" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="1509" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a>
+  <a id="1516" href="Haskell.Prim.Bounded.html#1476" class="Function">iBoundedAboveChar</a> <a id="1534" class="Symbol">.</a><a id="1535" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a> <a id="1544" class="Symbol">=</a> <a id="1546" class="String">&#39;\1114111&#39;</a>
+
+  <a id="iBoundedBelowUnit"></a><a id="1560" href="Haskell.Prim.Bounded.html#1560" class="Function">iBoundedBelowUnit</a> <a id="1578" class="Symbol">:</a> <a id="1580" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="1593" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="1597" href="Haskell.Prim.Bounded.html#1560" class="Function">iBoundedBelowUnit</a> <a id="1615" class="Symbol">.</a><a id="1616" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a> <a id="1625" class="Symbol">=</a> <a id="1627" href="Agda.Builtin.Unit.html#212" class="InductiveConstructor">tt</a>
+
+  <a id="iBoundedAboveUnit"></a><a id="1633" href="Haskell.Prim.Bounded.html#1633" class="Function">iBoundedAboveUnit</a> <a id="1651" class="Symbol">:</a> <a id="1653" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="1666" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="1670" href="Haskell.Prim.Bounded.html#1633" class="Function">iBoundedAboveUnit</a> <a id="1688" class="Symbol">.</a><a id="1689" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a> <a id="1698" class="Symbol">=</a> <a id="1700" href="Agda.Builtin.Unit.html#212" class="InductiveConstructor">tt</a>
+
+  <a id="iBoundedBelowTuple₂"></a><a id="1706" href="Haskell.Prim.Bounded.html#1706" class="Function">iBoundedBelowTuple₂</a> <a id="1726" class="Symbol">:</a> <a id="1728" class="Symbol">⦃</a> <a id="1730" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="1743" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1745" class="Symbol">⦄</a> <a id="1747" class="Symbol">→</a> <a id="1749" class="Symbol">⦃</a> <a id="1751" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="1764" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1766" class="Symbol">⦄</a>
+                      <a id="1790" class="Symbol">→</a> <a id="1792" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="1805" class="Symbol">(</a><a id="1806" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1808" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="1810" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1811" class="Symbol">)</a>
+  <a id="1815" href="Haskell.Prim.Bounded.html#1706" class="Function">iBoundedBelowTuple₂</a> <a id="1835" class="Symbol">.</a><a id="1836" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a> <a id="1845" class="Symbol">=</a> <a id="1847" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a> <a id="1856" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="1858" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a>
+  <a id="iBoundedAboveTuple₂"></a><a id="1869" href="Haskell.Prim.Bounded.html#1869" class="Function">iBoundedAboveTuple₂</a> <a id="1889" class="Symbol">:</a> <a id="1891" class="Symbol">⦃</a> <a id="1893" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="1906" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1908" class="Symbol">⦄</a> <a id="1910" class="Symbol">→</a> <a id="1912" class="Symbol">⦃</a> <a id="1914" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="1927" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1929" class="Symbol">⦄</a>
+                      <a id="1953" class="Symbol">→</a> <a id="1955" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="1968" class="Symbol">(</a><a id="1969" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1971" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="1973" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1974" class="Symbol">)</a>
+  <a id="1978" href="Haskell.Prim.Bounded.html#1869" class="Function">iBoundedAboveTuple₂</a> <a id="1998" class="Symbol">.</a><a id="1999" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a> <a id="2008" class="Symbol">=</a> <a id="2010" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a> <a id="2019" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="2021" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a>
+
+  <a id="iBoundedBelowTuple₃"></a><a id="2033" href="Haskell.Prim.Bounded.html#2033" class="Function">iBoundedBelowTuple₃</a> <a id="2053" class="Symbol">:</a> <a id="2055" class="Symbol">⦃</a> <a id="2057" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="2070" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2072" class="Symbol">⦄</a> <a id="2074" class="Symbol">→</a> <a id="2076" class="Symbol">⦃</a> <a id="2078" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="2091" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2093" class="Symbol">⦄</a> <a id="2095" class="Symbol">→</a> <a id="2097" class="Symbol">⦃</a> <a id="2099" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="2112" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="2114" class="Symbol">⦄</a>
+                      <a id="2138" class="Symbol">→</a> <a id="2140" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="2153" class="Symbol">(</a><a id="2154" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2156" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="2158" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2160" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="2162" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="2163" class="Symbol">)</a>
+  <a id="2167" href="Haskell.Prim.Bounded.html#2033" class="Function">iBoundedBelowTuple₃</a> <a id="2187" class="Symbol">.</a><a id="2188" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a> <a id="2197" class="Symbol">=</a> <a id="2199" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a> <a id="2208" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2210" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a> <a id="2219" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2221" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a>
+  <a id="iBoundedAboveTuple₃"></a><a id="2232" href="Haskell.Prim.Bounded.html#2232" class="Function">iBoundedAboveTuple₃</a> <a id="2252" class="Symbol">:</a> <a id="2254" class="Symbol">⦃</a> <a id="2256" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="2269" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2271" class="Symbol">⦄</a> <a id="2273" class="Symbol">→</a> <a id="2275" class="Symbol">⦃</a> <a id="2277" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="2290" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2292" class="Symbol">⦄</a> <a id="2294" class="Symbol">→</a> <a id="2296" class="Symbol">⦃</a> <a id="2298" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="2311" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="2313" class="Symbol">⦄</a>
+                      <a id="2337" class="Symbol">→</a> <a id="2339" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="2352" class="Symbol">(</a><a id="2353" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2355" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="2357" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2359" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="2361" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="2362" class="Symbol">)</a>
+  <a id="2366" href="Haskell.Prim.Bounded.html#2232" class="Function">iBoundedAboveTuple₃</a> <a id="2386" class="Symbol">.</a><a id="2387" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a> <a id="2396" class="Symbol">=</a> <a id="2398" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a> <a id="2407" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2409" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a> <a id="2418" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2420" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a>
+
+  <a id="iBoundedBelowOrdering"></a><a id="2432" href="Haskell.Prim.Bounded.html#2432" class="Function">iBoundedBelowOrdering</a> <a id="2454" class="Symbol">:</a> <a id="2456" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="2469" href="Haskell.Prim.Ord.html#466" class="Datatype">Ordering</a>
+  <a id="2480" href="Haskell.Prim.Bounded.html#2432" class="Function">iBoundedBelowOrdering</a> <a id="2502" class="Symbol">.</a><a id="2503" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a> <a id="2512" class="Symbol">=</a> <a id="2514" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a>
+  <a id="iBoundedAboveOrdering"></a><a id="2519" href="Haskell.Prim.Bounded.html#2519" class="Function">iBoundedAboveOrdering</a> <a id="2541" class="Symbol">:</a> <a id="2543" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="2556" href="Haskell.Prim.Ord.html#466" class="Datatype">Ordering</a>
+  <a id="2567" href="Haskell.Prim.Bounded.html#2519" class="Function">iBoundedAboveOrdering</a> <a id="2589" class="Symbol">.</a><a id="2590" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a> <a id="2599" class="Symbol">=</a> <a id="2601" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a>
+
+<a id="2605" class="Comment">-- Sanity checks</a>
+
+<a id="2623" class="Keyword">private</a>
+  <a id="2633" href="Haskell.Prim.Bounded.html#2633" class="Function">_</a> <a id="2635" class="Symbol">:</a> <a id="2637" href="Haskell.Prim.Word.html#567" class="Function">addWord</a> <a id="2645" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a> <a id="2654" class="Number">1</a> <a id="2656" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="2658" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a>
+  <a id="2669" class="Symbol">_</a> <a id="2671" class="Symbol">=</a> <a id="2673" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">refl</a>
+
+  <a id="2681" href="Haskell.Prim.Bounded.html#2681" class="Function">_</a> <a id="2683" class="Symbol">:</a> <a id="2685" href="Haskell.Prim.Int.html#1932" class="Function">addInt</a> <a id="2692" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a> <a id="2701" class="Number">1</a> <a id="2703" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="2705" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a>
+  <a id="2716" class="Symbol">_</a> <a id="2718" class="Symbol">=</a> <a id="2720" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">refl</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Char.html b/lib/Haskell.Prim.Char.html
new file mode 100644
index 00000000..5cef9fd6
--- /dev/null
+++ b/lib/Haskell.Prim.Char.html
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Char</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Keyword">module</a> <a id="8" href="Haskell.Prim.Char.html" class="Module">Haskell.Prim.Char</a> <a id="26" class="Keyword">where</a>
+
+<a id="33" class="Keyword">open</a> <a id="38" class="Keyword">import</a> <a id="45" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+
+<a id="59" class="Keyword">import</a> <a id="66" href="Agda.Builtin.Char.html" class="Module">Agda.Builtin.Char</a> 
+<a id="85" class="Keyword">open</a> <a id="90" href="Agda.Builtin.Char.html" class="Module">Agda.Builtin.Char</a> <a id="108" class="Keyword">using</a> <a id="114" class="Symbol">(</a><a id="115" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a><a id="119" class="Symbol">)</a>
+    
+<a id="eqChar"></a><a id="126" href="Haskell.Prim.Char.html#126" class="Function">eqChar</a> <a id="133" class="Symbol">:</a> <a id="135" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="140" class="Symbol">→</a> <a id="142" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="147" class="Symbol">→</a> <a id="149" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="154" href="Haskell.Prim.Char.html#126" class="Function">eqChar</a> <a id="161" href="Haskell.Prim.Char.html#161" class="Bound">a</a> <a id="163" href="Haskell.Prim.Char.html#163" class="Bound">b</a> <a id="165" class="Symbol">=</a> <a id="167" href="Agda.Builtin.Nat.html#631" class="Primitive">eqNat</a> <a id="173" class="Symbol">(</a><a id="174" href="Agda.Builtin.Char.html#448" class="Primitive">c2n</a> <a id="178" href="Haskell.Prim.Char.html#161" class="Bound">a</a><a id="179" class="Symbol">)</a> <a id="181" class="Symbol">(</a><a id="182" href="Agda.Builtin.Char.html#448" class="Primitive">c2n</a> <a id="186" href="Haskell.Prim.Char.html#163" class="Bound">b</a><a id="187" class="Symbol">)</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Double.html b/lib/Haskell.Prim.Double.html
new file mode 100644
index 00000000..62772ace
--- /dev/null
+++ b/lib/Haskell.Prim.Double.html
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Double</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Double.html" class="Module">Haskell.Prim.Double</a> <a id="29" class="Keyword">where</a>
+
+<a id="36" class="Keyword">open</a> <a id="41" class="Keyword">import</a> <a id="48" href="Agda.Builtin.Float.html" class="Module">Agda.Builtin.Float</a> <a id="67" class="Keyword">public</a> <a id="74" class="Keyword">renaming</a> <a id="83" class="Symbol">(</a><a id="84" href="Agda.Builtin.Float.html#353" class="Postulate">Float</a> <a id="90" class="Symbol">to</a> <a id="93" class="Postulate">Double</a><a id="99" class="Symbol">)</a>
+
+<a id="102" class="Keyword">open</a> <a id="107" class="Keyword">import</a> <a id="114" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+
+<a id="128" class="Keyword">instance</a>
+  <a id="iNumberDouble"></a><a id="139" href="Haskell.Prim.Double.html#139" class="Function">iNumberDouble</a> <a id="153" class="Symbol">:</a> <a id="155" href="Agda.Builtin.FromNat.html#196" class="Record">Number</a> <a id="162" href="Haskell.Prim.Double.html#93" class="Postulate">Double</a>
+  <a id="171" href="Haskell.Prim.Double.html#139" class="Function">iNumberDouble</a> <a id="185" class="Symbol">.</a><a id="186" href="Agda.Builtin.FromNat.html#252" class="Field">Number.Constraint</a> <a id="204" class="Symbol">_</a> <a id="206" class="Symbol">=</a> <a id="208" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="212" href="Haskell.Prim.Double.html#139" class="Function">iNumberDouble</a> <a id="226" class="Symbol">.</a><a id="227" href="Agda.Builtin.FromNat.html#281" class="Field">fromNat</a> <a id="235" href="Haskell.Prim.Double.html#235" class="Bound">n</a> <a id="237" class="Symbol">=</a> <a id="239" href="Agda.Builtin.Float.html#822" class="Primitive">primNatToFloat</a> <a id="254" href="Haskell.Prim.Double.html#235" class="Bound">n</a>
+
+  <a id="iNegativeDouble"></a><a id="259" href="Haskell.Prim.Double.html#259" class="Function">iNegativeDouble</a> <a id="275" class="Symbol">:</a> <a id="277" href="Agda.Builtin.FromNeg.html#196" class="Record">Negative</a> <a id="286" href="Haskell.Prim.Double.html#93" class="Postulate">Double</a>
+  <a id="295" href="Haskell.Prim.Double.html#259" class="Function">iNegativeDouble</a> <a id="311" class="Symbol">.</a><a id="312" href="Agda.Builtin.FromNeg.html#254" class="Field">Negative.Constraint</a> <a id="332" class="Symbol">_</a> <a id="334" class="Symbol">=</a> <a id="336" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="340" href="Haskell.Prim.Double.html#259" class="Function">iNegativeDouble</a> <a id="356" class="Symbol">.</a><a id="357" href="Agda.Builtin.FromNeg.html#283" class="Field">fromNeg</a> <a id="365" href="Haskell.Prim.Double.html#365" class="Bound">n</a> <a id="367" class="Symbol">=</a> <a id="369" href="Agda.Builtin.Float.html#1394" class="Primitive">primFloatMinus</a> <a id="384" class="Number">0.0</a> <a id="388" class="Symbol">(</a><a id="389" href="Agda.Builtin.FromNat.html#281" class="Field">fromNat</a> <a id="397" href="Haskell.Prim.Double.html#365" class="Bound">n</a><a id="398" class="Symbol">)</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Either.html b/lib/Haskell.Prim.Either.html
new file mode 100644
index 00000000..0653403d
--- /dev/null
+++ b/lib/Haskell.Prim.Either.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Either</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Either.html" class="Module">Haskell.Prim.Either</a> <a id="29" class="Keyword">where</a>
+
+<a id="36" class="Keyword">open</a> <a id="41" class="Keyword">import</a> <a id="48" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="61" class="Keyword">open</a> <a id="66" class="Keyword">import</a> <a id="73" href="Haskell.Prim.Bool.html" class="Module">Haskell.Prim.Bool</a>
+
+<a id="92" class="Comment">--------------------------------------------------</a>
+<a id="143" class="Comment">-- Either</a>
+
+<a id="154" class="Keyword">data</a> <a id="Either"></a><a id="159" href="Haskell.Prim.Either.html#159" class="Datatype">Either</a> <a id="166" class="Symbol">(</a><a id="167" href="Haskell.Prim.Either.html#167" class="Bound">a</a> <a id="169" href="Haskell.Prim.Either.html#169" class="Bound">b</a> <a id="171" class="Symbol">:</a> <a id="173" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="176" class="Symbol">)</a> <a id="178" class="Symbol">:</a> <a id="180" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="184" class="Keyword">where</a>
+  <a id="Either.Left"></a><a id="192" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a>  <a id="198" class="Symbol">:</a> <a id="200" href="Haskell.Prim.Either.html#167" class="Bound">a</a> <a id="202" class="Symbol">→</a> <a id="204" href="Haskell.Prim.Either.html#159" class="Datatype">Either</a> <a id="211" href="Haskell.Prim.Either.html#167" class="Bound">a</a> <a id="213" href="Haskell.Prim.Either.html#169" class="Bound">b</a>
+  <a id="Either.Right"></a><a id="217" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="223" class="Symbol">:</a> <a id="225" href="Haskell.Prim.Either.html#169" class="Bound">b</a> <a id="227" class="Symbol">→</a> <a id="229" href="Haskell.Prim.Either.html#159" class="Datatype">Either</a> <a id="236" href="Haskell.Prim.Either.html#167" class="Bound">a</a> <a id="238" href="Haskell.Prim.Either.html#169" class="Bound">b</a>
+
+<a id="either"></a><a id="241" href="Haskell.Prim.Either.html#241" class="Function">either</a> <a id="248" class="Symbol">:</a> <a id="250" class="Symbol">(</a><a id="251" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="253" class="Symbol">→</a> <a id="255" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="256" class="Symbol">)</a> <a id="258" class="Symbol">→</a> <a id="260" class="Symbol">(</a><a id="261" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="263" class="Symbol">→</a> <a id="265" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="266" class="Symbol">)</a> <a id="268" class="Symbol">→</a> <a id="270" href="Haskell.Prim.Either.html#159" class="Datatype">Either</a> <a id="277" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="279" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="281" class="Symbol">→</a> <a id="283" href="Haskell.Prim.html#1195" class="Generalizable">c</a>
+<a id="285" href="Haskell.Prim.Either.html#241" class="Function">either</a> <a id="292" href="Haskell.Prim.Either.html#292" class="Bound">f</a> <a id="294" href="Haskell.Prim.Either.html#294" class="Bound">g</a> <a id="296" class="Symbol">(</a><a id="297" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a>  <a id="303" href="Haskell.Prim.Either.html#303" class="Bound">x</a><a id="304" class="Symbol">)</a> <a id="306" class="Symbol">=</a> <a id="308" href="Haskell.Prim.Either.html#292" class="Bound">f</a> <a id="310" href="Haskell.Prim.Either.html#303" class="Bound">x</a>
+<a id="312" href="Haskell.Prim.Either.html#241" class="Function">either</a> <a id="319" href="Haskell.Prim.Either.html#319" class="Bound">f</a> <a id="321" href="Haskell.Prim.Either.html#321" class="Bound">g</a> <a id="323" class="Symbol">(</a><a id="324" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="330" href="Haskell.Prim.Either.html#330" class="Bound">y</a><a id="331" class="Symbol">)</a> <a id="333" class="Symbol">=</a> <a id="335" href="Haskell.Prim.Either.html#321" class="Bound">g</a> <a id="337" href="Haskell.Prim.Either.html#330" class="Bound">y</a>
+
+<a id="testBool"></a><a id="340" href="Haskell.Prim.Either.html#340" class="Function">testBool</a> <a id="349" class="Symbol">:</a> <a id="351" class="Symbol">(</a><a id="352" href="Haskell.Prim.Either.html#352" class="Bound">b</a> <a id="354" class="Symbol">:</a> <a id="356" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="360" class="Symbol">)</a> <a id="362" class="Symbol">→</a> <a id="364" href="Haskell.Prim.Either.html#159" class="Datatype">Either</a> <a id="371" class="Symbol">(</a><a id="372" href="Haskell.Prim.html#3046" class="Datatype">IsFalse</a> <a id="380" href="Haskell.Prim.Either.html#352" class="Bound">b</a><a id="381" class="Symbol">)</a> <a id="383" class="Symbol">(</a><a id="384" href="Haskell.Prim.html#2981" class="Datatype">IsTrue</a> <a id="391" href="Haskell.Prim.Either.html#352" class="Bound">b</a><a id="392" class="Symbol">)</a>
+<a id="394" href="Haskell.Prim.Either.html#340" class="Function">testBool</a> <a id="403" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a> <a id="409" class="Symbol">=</a> <a id="411" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a>  <a id="417" href="Haskell.Prim.html#3084" class="InductiveConstructor">itsFalse</a>
+<a id="426" href="Haskell.Prim.Either.html#340" class="Function">testBool</a> <a id="435" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>  <a id="441" class="Symbol">=</a> <a id="443" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="449" href="Haskell.Prim.html#3018" class="InductiveConstructor">itsTrue</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Enum.html b/lib/Haskell.Prim.Enum.html
new file mode 100644
index 00000000..87b67c19
--- /dev/null
+++ b/lib/Haskell.Prim.Enum.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Enum</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Enum.html" class="Module">Haskell.Prim.Enum</a> <a id="27" class="Keyword">where</a>
+
+<a id="34" class="Keyword">open</a> <a id="39" class="Keyword">import</a> <a id="46" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="59" class="Keyword">open</a> <a id="64" class="Keyword">import</a> <a id="71" href="Haskell.Prim.Bool.html" class="Module">Haskell.Prim.Bool</a>
+<a id="89" class="Keyword">open</a> <a id="94" class="Keyword">import</a> <a id="101" href="Haskell.Prim.Bounded.html" class="Module">Haskell.Prim.Bounded</a>
+<a id="122" class="Keyword">open</a> <a id="127" class="Keyword">import</a> <a id="134" href="Haskell.Prim.Either.html" class="Module">Haskell.Prim.Either</a>
+<a id="154" class="Keyword">open</a> <a id="159" class="Keyword">import</a> <a id="166" href="Haskell.Prim.Eq.html" class="Module">Haskell.Prim.Eq</a>
+<a id="182" class="Keyword">open</a> <a id="187" class="Keyword">import</a> <a id="194" href="Haskell.Prim.Functor.html" class="Module">Haskell.Prim.Functor</a>
+<a id="215" class="Keyword">open</a> <a id="220" class="Keyword">import</a> <a id="227" href="Haskell.Prim.Int.html" class="Module">Haskell.Prim.Int</a>
+<a id="244" class="Keyword">open</a> <a id="249" class="Keyword">import</a> <a id="256" href="Haskell.Prim.Integer.html" class="Module">Haskell.Prim.Integer</a>
+<a id="277" class="Keyword">open</a> <a id="282" class="Keyword">import</a> <a id="289" href="Haskell.Prim.List.html" class="Module">Haskell.Prim.List</a>
+<a id="307" class="Keyword">open</a> <a id="312" class="Keyword">import</a> <a id="319" href="Haskell.Prim.Maybe.html" class="Module">Haskell.Prim.Maybe</a>
+<a id="338" class="Keyword">open</a> <a id="343" class="Keyword">import</a> <a id="350" href="Haskell.Prim.Num.html" class="Module">Haskell.Prim.Num</a>
+<a id="367" class="Keyword">open</a> <a id="372" class="Keyword">import</a> <a id="379" href="Haskell.Prim.Ord.html" class="Module">Haskell.Prim.Ord</a>
+<a id="396" class="Keyword">open</a> <a id="401" class="Keyword">import</a> <a id="408" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a>
+<a id="427" class="Keyword">open</a> <a id="432" class="Keyword">import</a> <a id="439" href="Haskell.Prim.Word.html" class="Module">Haskell.Prim.Word</a>
+
+
+<a id="459" class="Comment">--------------------------------------------------</a>
+<a id="510" class="Comment">-- Enum</a>
+<a id="518" class="Comment">--    Assumptions: unbounded enums have no constraints on their</a>
+<a id="582" class="Comment">--    operations and bounded enums should work on all values between</a>
+<a id="651" class="Comment">--    minBound and maxBound. Unbounded enums do not support enumFrom</a>
+<a id="720" class="Comment">--    and enumFromThen (since they return infinite lists).</a>
+
+<a id="IfBoundedBelow"></a><a id="780" href="Haskell.Prim.Enum.html#780" class="Function">IfBoundedBelow</a> <a id="795" class="Symbol">:</a> <a id="797" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="803" class="Symbol">(</a><a id="804" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="817" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="818" class="Symbol">)</a> <a id="820" class="Symbol">→</a> <a id="822" class="Symbol">(⦃</a> <a id="825" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="838" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="840" class="Symbol">⦄</a> <a id="842" class="Symbol">→</a> <a id="844" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="847" class="Symbol">)</a> <a id="849" class="Symbol">→</a> <a id="851" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="855" href="Haskell.Prim.Enum.html#780" class="Function">IfBoundedBelow</a> <a id="870" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="879" href="Haskell.Prim.Enum.html#879" class="Bound">k</a> <a id="881" class="Symbol">=</a> <a id="883" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+<a id="885" href="Haskell.Prim.Enum.html#780" class="Function">IfBoundedBelow</a> <a id="900" class="Symbol">(</a><a id="901" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="906" href="Haskell.Prim.Enum.html#906" class="Bound">i</a><a id="907" class="Symbol">)</a> <a id="909" href="Haskell.Prim.Enum.html#909" class="Bound">k</a> <a id="911" class="Symbol">=</a> <a id="913" href="Haskell.Prim.Enum.html#909" class="Bound">k</a> <a id="915" class="Symbol">⦃</a> <a id="917" href="Haskell.Prim.Enum.html#906" class="Bound">i</a> <a id="919" class="Symbol">⦄</a>
+
+<a id="IfBoundedAbove"></a><a id="922" href="Haskell.Prim.Enum.html#922" class="Function">IfBoundedAbove</a> <a id="937" class="Symbol">:</a> <a id="939" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="945" class="Symbol">(</a><a id="946" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="959" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="960" class="Symbol">)</a> <a id="962" class="Symbol">→</a> <a id="964" class="Symbol">(⦃</a> <a id="967" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="980" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="982" class="Symbol">⦄</a> <a id="984" class="Symbol">→</a> <a id="986" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="989" class="Symbol">)</a> <a id="991" class="Symbol">→</a> <a id="993" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="997" href="Haskell.Prim.Enum.html#922" class="Function">IfBoundedAbove</a> <a id="1012" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="1021" href="Haskell.Prim.Enum.html#1021" class="Bound">k</a> <a id="1023" class="Symbol">=</a> <a id="1025" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+<a id="1027" href="Haskell.Prim.Enum.html#922" class="Function">IfBoundedAbove</a> <a id="1042" class="Symbol">(</a><a id="1043" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="1048" href="Haskell.Prim.Enum.html#1048" class="Bound">i</a><a id="1049" class="Symbol">)</a> <a id="1051" href="Haskell.Prim.Enum.html#1051" class="Bound">k</a> <a id="1053" class="Symbol">=</a> <a id="1055" href="Haskell.Prim.Enum.html#1051" class="Bound">k</a> <a id="1057" class="Symbol">⦃</a> <a id="1059" href="Haskell.Prim.Enum.html#1048" class="Bound">i</a> <a id="1061" class="Symbol">⦄</a>
+
+<a id="1064" class="Keyword">record</a> <a id="Enum"></a><a id="1071" href="Haskell.Prim.Enum.html#1071" class="Record">Enum</a> <a id="1076" class="Symbol">(</a><a id="1077" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a> <a id="1079" class="Symbol">:</a> <a id="1081" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="1084" class="Symbol">)</a> <a id="1086" class="Symbol">:</a> <a id="1088" href="Agda.Primitive.html#388" class="Primitive">Set₁</a> <a id="1093" class="Keyword">where</a>
+  <a id="1101" class="Keyword">field</a>
+    <a id="Enum.BoundedBelowEnum"></a><a id="1111" href="Haskell.Prim.Enum.html#1111" class="Field">BoundedBelowEnum</a> <a id="1128" class="Symbol">:</a> <a id="1130" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="1136" class="Symbol">(</a><a id="1137" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="1150" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a><a id="1151" class="Symbol">)</a>
+    <a id="Enum.BoundedAboveEnum"></a><a id="1157" href="Haskell.Prim.Enum.html#1157" class="Field">BoundedAboveEnum</a> <a id="1174" class="Symbol">:</a> <a id="1176" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="1182" class="Symbol">(</a><a id="1183" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="1196" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a><a id="1197" class="Symbol">)</a>
+    <a id="Enum.fromEnum"></a><a id="1203" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a>         <a id="1220" class="Symbol">:</a> <a id="1222" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a> <a id="1224" class="Symbol">→</a> <a id="1226" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+
+  <a id="1233" class="Keyword">private</a>
+    <a id="Enum.IsBoundedBelow"></a><a id="1245" href="Haskell.Prim.Enum.html#1245" class="Function">IsBoundedBelow</a> <a id="1260" class="Symbol">:</a> <a id="1262" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+    <a id="1270" href="Haskell.Prim.Enum.html#1245" class="Function">IsBoundedBelow</a> <a id="1285" class="Symbol">=</a> <a id="1287" href="Haskell.Prim.Maybe.html#186" class="Function">maybe</a> <a id="1293" href="Haskell.Prim.html#2596" class="Datatype">⊥</a> <a id="1295" class="Symbol">(λ</a> <a id="1298" href="Haskell.Prim.Enum.html#1298" class="Bound">_</a> <a id="1300" class="Symbol">→</a> <a id="1302" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a><a id="1303" class="Symbol">)</a> <a id="1305" href="Haskell.Prim.Enum.html#1111" class="Field">BoundedBelowEnum</a>
+
+    <a id="Enum.IsBoundedAbove"></a><a id="1327" href="Haskell.Prim.Enum.html#1327" class="Function">IsBoundedAbove</a> <a id="1342" class="Symbol">:</a> <a id="1344" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+    <a id="1352" href="Haskell.Prim.Enum.html#1327" class="Function">IsBoundedAbove</a> <a id="1367" class="Symbol">=</a> <a id="1369" href="Haskell.Prim.Maybe.html#186" class="Function">maybe</a> <a id="1375" href="Haskell.Prim.html#2596" class="Datatype">⊥</a> <a id="1377" class="Symbol">(λ</a> <a id="1380" href="Haskell.Prim.Enum.html#1380" class="Bound">_</a> <a id="1382" class="Symbol">→</a> <a id="1384" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a><a id="1385" class="Symbol">)</a> <a id="1387" href="Haskell.Prim.Enum.html#1157" class="Field">BoundedAboveEnum</a>
+
+    <a id="Enum.TrueIfLB"></a><a id="1409" href="Haskell.Prim.Enum.html#1409" class="Function">TrueIfLB</a> <a id="1418" class="Symbol">:</a> <a id="1420" class="Symbol">(⦃</a> <a id="1423" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="1436" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a> <a id="1438" class="Symbol">⦄</a> <a id="1440" class="Symbol">→</a> <a id="1442" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="1446" class="Symbol">)</a> <a id="1448" class="Symbol">→</a> <a id="1450" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+    <a id="1458" href="Haskell.Prim.Enum.html#1409" class="Function">TrueIfLB</a> <a id="1467" href="Haskell.Prim.Enum.html#1467" class="Bound">C</a> <a id="1469" class="Symbol">=</a> <a id="1471" href="Haskell.Prim.Enum.html#780" class="Function">IfBoundedBelow</a> <a id="1486" href="Haskell.Prim.Enum.html#1111" class="Field">BoundedBelowEnum</a> <a id="1503" class="Symbol">(</a><a id="1504" href="Haskell.Prim.html#2981" class="Datatype">IsTrue</a> <a id="1511" href="Haskell.Prim.Enum.html#1467" class="Bound">C</a><a id="1512" class="Symbol">)</a>
+
+    <a id="Enum.TrueIfUB"></a><a id="1519" href="Haskell.Prim.Enum.html#1519" class="Function">TrueIfUB</a> <a id="1528" class="Symbol">:</a> <a id="1530" class="Symbol">(⦃</a> <a id="1533" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="1546" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a> <a id="1548" class="Symbol">⦄</a> <a id="1550" class="Symbol">→</a> <a id="1552" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="1556" class="Symbol">)</a> <a id="1558" class="Symbol">→</a> <a id="1560" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+    <a id="1568" href="Haskell.Prim.Enum.html#1519" class="Function">TrueIfUB</a> <a id="1577" href="Haskell.Prim.Enum.html#1577" class="Bound">C</a> <a id="1579" class="Symbol">=</a> <a id="1581" href="Haskell.Prim.Enum.html#922" class="Function">IfBoundedAbove</a> <a id="1596" href="Haskell.Prim.Enum.html#1157" class="Field">BoundedAboveEnum</a> <a id="1613" class="Symbol">(</a><a id="1614" href="Haskell.Prim.html#2981" class="Datatype">IsTrue</a> <a id="1621" href="Haskell.Prim.Enum.html#1577" class="Bound">C</a><a id="1622" class="Symbol">)</a>
+
+    <a id="Enum.FalseIfLB"></a><a id="1629" href="Haskell.Prim.Enum.html#1629" class="Function">FalseIfLB</a> <a id="1639" class="Symbol">:</a> <a id="1641" class="Symbol">(⦃</a> <a id="1644" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="1657" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a> <a id="1659" class="Symbol">⦄</a> <a id="1661" class="Symbol">→</a> <a id="1663" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="1667" class="Symbol">)</a> <a id="1669" class="Symbol">→</a> <a id="1671" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+    <a id="1679" href="Haskell.Prim.Enum.html#1629" class="Function">FalseIfLB</a> <a id="1689" href="Haskell.Prim.Enum.html#1689" class="Bound">C</a> <a id="1691" class="Symbol">=</a> <a id="1693" href="Haskell.Prim.Enum.html#780" class="Function">IfBoundedBelow</a> <a id="1708" href="Haskell.Prim.Enum.html#1111" class="Field">BoundedBelowEnum</a> <a id="1725" class="Symbol">(</a><a id="1726" href="Haskell.Prim.html#3046" class="Datatype">IsFalse</a> <a id="1734" href="Haskell.Prim.Enum.html#1689" class="Bound">C</a><a id="1735" class="Symbol">)</a>
+
+    <a id="Enum.FalseIfUB"></a><a id="1742" href="Haskell.Prim.Enum.html#1742" class="Function">FalseIfUB</a> <a id="1752" class="Symbol">:</a> <a id="1754" class="Symbol">(⦃</a> <a id="1757" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="1770" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a> <a id="1772" class="Symbol">⦄</a> <a id="1774" class="Symbol">→</a> <a id="1776" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="1780" class="Symbol">)</a> <a id="1782" class="Symbol">→</a> <a id="1784" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+    <a id="1792" href="Haskell.Prim.Enum.html#1742" class="Function">FalseIfUB</a> <a id="1802" href="Haskell.Prim.Enum.html#1802" class="Bound">C</a> <a id="1804" class="Symbol">=</a> <a id="1806" href="Haskell.Prim.Enum.html#922" class="Function">IfBoundedAbove</a> <a id="1821" href="Haskell.Prim.Enum.html#1157" class="Field">BoundedAboveEnum</a> <a id="1838" class="Symbol">(</a><a id="1839" href="Haskell.Prim.html#3046" class="Datatype">IsFalse</a> <a id="1847" href="Haskell.Prim.Enum.html#1802" class="Bound">C</a><a id="1848" class="Symbol">)</a>
+
+    <a id="Enum.minInt"></a><a id="1855" href="Haskell.Prim.Enum.html#1855" class="Function">minInt</a> <a id="1862" class="Symbol">:</a> <a id="1864" class="Symbol">⦃</a> <a id="1866" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="1879" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a> <a id="1881" class="Symbol">⦄</a> <a id="1883" class="Symbol">→</a> <a id="1885" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+    <a id="1893" href="Haskell.Prim.Enum.html#1855" class="Function">minInt</a> <a id="1900" class="Symbol">⦃</a> <a id="1902" class="Symbol">_</a> <a id="1904" class="Symbol">⦄</a> <a id="1906" class="Symbol">=</a> <a id="1908" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a> <a id="1917" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a>
+
+    <a id="Enum.maxInt"></a><a id="1931" href="Haskell.Prim.Enum.html#1931" class="Function">maxInt</a> <a id="1938" class="Symbol">:</a> <a id="1940" class="Symbol">⦃</a> <a id="1942" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="1955" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a> <a id="1957" class="Symbol">⦄</a> <a id="1959" class="Symbol">→</a> <a id="1961" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+    <a id="1969" href="Haskell.Prim.Enum.html#1931" class="Function">maxInt</a> <a id="1976" class="Symbol">⦃</a> <a id="1978" class="Symbol">_</a> <a id="1980" class="Symbol">⦄</a> <a id="1982" class="Symbol">=</a> <a id="1984" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a> <a id="1993" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a>
+
+  <a id="2005" class="Keyword">field</a>
+    <a id="Enum.toEnum"></a><a id="2015" href="Haskell.Prim.Enum.html#2015" class="Field">toEnum</a> <a id="2022" class="Symbol">:</a> <a id="2024" class="Symbol">(</a><a id="2025" href="Haskell.Prim.Enum.html#2025" class="Bound">n</a> <a id="2027" class="Symbol">:</a> <a id="2029" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a><a id="2032" class="Symbol">)</a> <a id="2034" class="Symbol">→</a> <a id="2036" class="Symbol">@</a><a id="2037" class="Symbol">0</a> <a id="2039" class="Symbol">⦃</a> <a id="2041" href="Haskell.Prim.Enum.html#1409" class="Function">TrueIfLB</a> <a id="2050" class="Symbol">(</a><a id="2051" href="Haskell.Prim.Enum.html#1855" class="Function">minInt</a> <a id="2058" href="Haskell.Prim.Ord.html#1144" class="Field Operator">&lt;=</a> <a id="2061" href="Haskell.Prim.Enum.html#2025" class="Bound">n</a><a id="2062" class="Symbol">)</a> <a id="2064" class="Symbol">⦄</a> <a id="2066" class="Symbol">→</a> <a id="2068" class="Symbol">@</a><a id="2069" class="Symbol">0</a> <a id="2071" class="Symbol">⦃</a> <a id="2073" href="Haskell.Prim.Enum.html#1519" class="Function">TrueIfUB</a> <a id="2082" class="Symbol">(</a><a id="2083" href="Haskell.Prim.Enum.html#2025" class="Bound">n</a> <a id="2085" href="Haskell.Prim.Ord.html#1144" class="Field Operator">&lt;=</a> <a id="2088" href="Haskell.Prim.Enum.html#1931" class="Function">maxInt</a><a id="2094" class="Symbol">)</a> <a id="2096" class="Symbol">⦄</a> <a id="2098" class="Symbol">→</a> <a id="2100" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a>
+    <a id="Enum.succ"></a><a id="2106" href="Haskell.Prim.Enum.html#2106" class="Field">succ</a>   <a id="2113" class="Symbol">:</a> <a id="2115" class="Symbol">(</a><a id="2116" href="Haskell.Prim.Enum.html#2116" class="Bound">x</a> <a id="2118" class="Symbol">:</a> <a id="2120" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a><a id="2121" class="Symbol">)</a> <a id="2123" class="Symbol">→</a> <a id="2125" class="Symbol">@</a><a id="2126" class="Symbol">0</a> <a id="2128" class="Symbol">⦃</a> <a id="2130" href="Haskell.Prim.Enum.html#1742" class="Function">FalseIfUB</a> <a id="2140" class="Symbol">(</a><a id="2141" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a> <a id="2150" href="Haskell.Prim.Enum.html#2116" class="Bound">x</a> <a id="2152" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="2155" href="Haskell.Prim.Enum.html#1931" class="Function">maxInt</a><a id="2161" class="Symbol">)</a> <a id="2163" class="Symbol">⦄</a> <a id="2165" class="Symbol">→</a> <a id="2167" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a>
+    <a id="Enum.pred"></a><a id="2173" href="Haskell.Prim.Enum.html#2173" class="Field">pred</a>   <a id="2180" class="Symbol">:</a> <a id="2182" class="Symbol">(</a><a id="2183" href="Haskell.Prim.Enum.html#2183" class="Bound">x</a> <a id="2185" class="Symbol">:</a> <a id="2187" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a><a id="2188" class="Symbol">)</a> <a id="2190" class="Symbol">→</a> <a id="2192" class="Symbol">@</a><a id="2193" class="Symbol">0</a> <a id="2195" class="Symbol">⦃</a> <a id="2197" href="Haskell.Prim.Enum.html#1629" class="Function">FalseIfLB</a> <a id="2207" class="Symbol">(</a><a id="2208" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a> <a id="2217" href="Haskell.Prim.Enum.html#2183" class="Bound">x</a> <a id="2219" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="2222" href="Haskell.Prim.Enum.html#1855" class="Function">minInt</a><a id="2228" class="Symbol">)</a> <a id="2230" class="Symbol">⦄</a> <a id="2232" class="Symbol">→</a> <a id="2234" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a>
+
+    <a id="Enum.enumFrom"></a><a id="2241" href="Haskell.Prim.Enum.html#2241" class="Field">enumFrom</a>       <a id="2256" class="Symbol">:</a> <a id="2258" class="Symbol">@</a><a id="2259" class="Symbol">0</a> <a id="2261" class="Symbol">⦃</a> <a id="2263" href="Haskell.Prim.Enum.html#1327" class="Function">IsBoundedAbove</a> <a id="2278" class="Symbol">⦄</a> <a id="2280" class="Symbol">→</a> <a id="2282" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a> <a id="2284" class="Symbol">→</a> <a id="2286" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2291" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a>
+    <a id="Enum.enumFromTo"></a><a id="2297" href="Haskell.Prim.Enum.html#2297" class="Field">enumFromTo</a>     <a id="2312" class="Symbol">:</a> <a id="2314" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a> <a id="2316" class="Symbol">→</a> <a id="2318" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a> <a id="2320" class="Symbol">→</a> <a id="2322" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2327" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a>
+    <a id="2333" class="Comment">-- In the Prelude Enum instances `enumFromThenTo x x y` gives the</a>
+    <a id="2403" class="Comment">-- infinite list of `x`s. The constraint is a little bit stronger than it needs to be,</a>
+    <a id="2494" class="Comment">-- since it rules out different x and x₁ that maps to the same Int, but this saves us</a>
+    <a id="2584" class="Comment">-- requiring an Eq instance for `a`, and it&#39;s not a terrible limitation to not be able to</a>
+    <a id="2678" class="Comment">-- write [0, 2^64 .. 2^66].</a>
+    <a id="Enum.enumFromThenTo"></a><a id="2710" href="Haskell.Prim.Enum.html#2710" class="Field">enumFromThenTo</a> <a id="2725" class="Symbol">:</a> <a id="2727" class="Symbol">(</a><a id="2728" href="Haskell.Prim.Enum.html#2728" class="Bound">x</a> <a id="2730" href="Haskell.Prim.Enum.html#2730" class="Bound">x₁</a> <a id="2733" class="Symbol">:</a> <a id="2735" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a><a id="2736" class="Symbol">)</a> <a id="2738" class="Symbol">→</a> <a id="2740" class="Symbol">@</a><a id="2741" class="Symbol">0</a> <a id="2743" class="Symbol">⦃</a> <a id="2745" href="Haskell.Prim.html#3046" class="Datatype">IsFalse</a> <a id="2753" class="Symbol">(</a><a id="2754" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a> <a id="2763" href="Haskell.Prim.Enum.html#2728" class="Bound">x</a> <a id="2765" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="2768" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a> <a id="2777" href="Haskell.Prim.Enum.html#2730" class="Bound">x₁</a><a id="2779" class="Symbol">)</a> <a id="2781" class="Symbol">⦄</a> <a id="2783" class="Symbol">→</a> <a id="2785" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a> <a id="2787" class="Symbol">→</a> <a id="2789" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2794" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a>
+    <a id="Enum.enumFromThen"></a><a id="2800" href="Haskell.Prim.Enum.html#2800" class="Field">enumFromThen</a>   <a id="2815" class="Symbol">:</a> <a id="2817" class="Symbol">@</a><a id="2818" class="Symbol">0</a> <a id="2820" class="Symbol">⦃</a> <a id="2822" href="Haskell.Prim.Enum.html#1245" class="Function">IsBoundedBelow</a> <a id="2837" class="Symbol">⦄</a> <a id="2839" class="Symbol">→</a> <a id="2841" class="Symbol">@</a><a id="2842" class="Symbol">0</a> <a id="2844" class="Symbol">⦃</a> <a id="2846" href="Haskell.Prim.Enum.html#1327" class="Function">IsBoundedAbove</a> <a id="2861" class="Symbol">⦄</a> <a id="2863" class="Symbol">→</a> <a id="2865" class="Symbol">(</a><a id="2866" href="Haskell.Prim.Enum.html#2866" class="Bound">x</a> <a id="2868" href="Haskell.Prim.Enum.html#2868" class="Bound">x₁</a> <a id="2871" class="Symbol">:</a> <a id="2873" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a><a id="2874" class="Symbol">)</a> <a id="2876" class="Symbol">→</a> <a id="2878" class="Symbol">@</a><a id="2879" class="Symbol">0</a> <a id="2881" class="Symbol">⦃</a> <a id="2883" href="Haskell.Prim.html#3046" class="Datatype">IsFalse</a> <a id="2891" class="Symbol">(</a><a id="2892" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a> <a id="2901" href="Haskell.Prim.Enum.html#2866" class="Bound">x</a> <a id="2903" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="2906" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a> <a id="2915" href="Haskell.Prim.Enum.html#2868" class="Bound">x₁</a><a id="2917" class="Symbol">)</a> <a id="2919" class="Symbol">⦄</a> <a id="2921" class="Symbol">→</a> <a id="2923" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2928" href="Haskell.Prim.Enum.html#1077" class="Bound">a</a>
+
+<a id="2931" class="Keyword">open</a> <a id="2936" href="Haskell.Prim.Enum.html#1071" class="Module">Enum</a> <a id="2941" class="Symbol">⦃...⦄</a> <a id="2947" class="Keyword">public</a>
+
+<a id="2955" class="Symbol">{-#</a> <a id="2959" class="Keyword">COMPILE</a> <a id="2967" class="Keyword">AGDA2HS</a> <a id="2975" href="Haskell.Prim.Enum.html#1071" class="Record">Enum</a> <a id="2980" class="Pragma">existing-class</a> <a id="2995" class="Symbol">#-}</a>
+
+<a id="3000" class="Keyword">private</a>
+  <a id="divNat"></a><a id="3010" href="Haskell.Prim.Enum.html#3010" class="Function">divNat</a> <a id="3017" class="Symbol">:</a> <a id="3019" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="3023" class="Symbol">→</a> <a id="3025" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="3029" class="Symbol">→</a> <a id="3031" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="3037" href="Haskell.Prim.Enum.html#3010" class="Function">divNat</a> <a id="3044" href="Haskell.Prim.Enum.html#3044" class="Bound">a</a> <a id="3046" class="Number">0</a>       <a id="3054" class="Symbol">=</a> <a id="3056" class="Number">0</a>
+  <a id="3060" href="Haskell.Prim.Enum.html#3010" class="Function">divNat</a> <a id="3067" href="Haskell.Prim.Enum.html#3067" class="Bound">a</a> <a id="3069" class="Symbol">(</a><a id="3070" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="3074" href="Haskell.Prim.Enum.html#3074" class="Bound">b</a><a id="3075" class="Symbol">)</a> <a id="3077" class="Symbol">=</a> <a id="3079" href="Agda.Builtin.Nat.html#1537" class="Primitive">div-helper</a> <a id="3090" class="Number">0</a> <a id="3092" href="Haskell.Prim.Enum.html#3074" class="Bound">b</a> <a id="3094" href="Haskell.Prim.Enum.html#3067" class="Bound">a</a> <a id="3096" href="Haskell.Prim.Enum.html#3074" class="Bound">b</a>
+
+  <a id="diff"></a><a id="3101" href="Haskell.Prim.Enum.html#3101" class="Function">diff</a> <a id="3106" class="Symbol">:</a> <a id="3108" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="3116" class="Symbol">→</a> <a id="3118" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="3126" class="Symbol">→</a> <a id="3128" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="3134" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="3140" href="Haskell.Prim.Enum.html#3101" class="Function">diff</a> <a id="3145" href="Haskell.Prim.Enum.html#3145" class="Bound">a</a> <a id="3147" href="Haskell.Prim.Enum.html#3147" class="Bound">b</a> <a id="3149" class="Symbol">=</a>
+    <a id="3155" href="Haskell.Prim.html#1609" class="Function Operator">case</a> <a id="3160" href="Haskell.Prim.Enum.html#3145" class="Bound">a</a> <a id="3162" href="Haskell.Prim.Num.html#577" class="Field Operator">-</a> <a id="3164" href="Haskell.Prim.Enum.html#3147" class="Bound">b</a> <a id="3166" href="Haskell.Prim.html#1609" class="Function Operator">of</a> <a id="3169" class="Symbol">λ</a> <a id="3171" class="Keyword">where</a>
+      <a id="3183" class="Symbol">(</a><a id="3184" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="3188" href="Haskell.Prim.Enum.html#3188" class="Bound">n</a><a id="3189" class="Symbol">)</a>    <a id="3194" class="Symbol">→</a> <a id="3196" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="3201" href="Haskell.Prim.Enum.html#3188" class="Bound">n</a>
+      <a id="3209" class="Symbol">(</a><a id="3210" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="3217" class="Symbol">_)</a> <a id="3220" class="Symbol">→</a> <a id="3222" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>
+
+  <a id="unsafeIntegerToNat"></a><a id="3233" href="Haskell.Prim.Enum.html#3233" class="Function">unsafeIntegerToNat</a> <a id="3252" class="Symbol">:</a> <a id="3254" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="3262" class="Symbol">→</a> <a id="3264" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="3270" href="Haskell.Prim.Enum.html#3233" class="Function">unsafeIntegerToNat</a> <a id="3289" class="Symbol">(</a><a id="3290" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="3294" href="Haskell.Prim.Enum.html#3294" class="Bound">n</a><a id="3295" class="Symbol">)</a> <a id="3297" class="Symbol">=</a> <a id="3299" href="Haskell.Prim.Enum.html#3294" class="Bound">n</a>
+  <a id="3303" href="Haskell.Prim.Enum.html#3233" class="Function">unsafeIntegerToNat</a> <a id="3322" class="Symbol">(</a><a id="3323" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="3330" class="Symbol">_)</a> <a id="3333" class="Symbol">=</a> <a id="3335" class="Number">0</a>
+
+  <a id="integerFromCount"></a><a id="3340" href="Haskell.Prim.Enum.html#3340" class="Function">integerFromCount</a> <a id="3357" class="Symbol">:</a> <a id="3359" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="3367" class="Symbol">→</a> <a id="3369" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="3377" class="Symbol">→</a> <a id="3379" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="3383" class="Symbol">→</a> <a id="3385" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3390" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+  <a id="3400" href="Haskell.Prim.Enum.html#3340" class="Function">integerFromCount</a> <a id="3417" href="Haskell.Prim.Enum.html#3417" class="Bound">a</a> <a id="3419" href="Haskell.Prim.Enum.html#3419" class="Bound">step</a> <a id="3424" class="Number">0</a>       <a id="3432" class="Symbol">=</a> <a id="3434" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+  <a id="3439" href="Haskell.Prim.Enum.html#3340" class="Function">integerFromCount</a> <a id="3456" href="Haskell.Prim.Enum.html#3456" class="Bound">a</a> <a id="3458" href="Haskell.Prim.Enum.html#3458" class="Bound">step</a> <a id="3463" class="Symbol">(</a><a id="3464" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="3468" href="Haskell.Prim.Enum.html#3468" class="Bound">n</a><a id="3469" class="Symbol">)</a> <a id="3471" class="Symbol">=</a> <a id="3473" href="Haskell.Prim.Enum.html#3456" class="Bound">a</a> <a id="3475" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3477" href="Haskell.Prim.Enum.html#3340" class="Function">integerFromCount</a> <a id="3494" class="Symbol">(</a><a id="3495" href="Haskell.Prim.Enum.html#3456" class="Bound">a</a> <a id="3497" href="Haskell.Prim.Num.html#547" class="Field Operator">+</a> <a id="3499" href="Haskell.Prim.Enum.html#3458" class="Bound">step</a><a id="3503" class="Symbol">)</a> <a id="3505" href="Haskell.Prim.Enum.html#3458" class="Bound">step</a> <a id="3510" href="Haskell.Prim.Enum.html#3468" class="Bound">n</a>
+
+  <a id="integerFromTo"></a><a id="3515" href="Haskell.Prim.Enum.html#3515" class="Function">integerFromTo</a> <a id="3529" class="Symbol">:</a> <a id="3531" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="3539" class="Symbol">→</a> <a id="3541" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="3549" class="Symbol">→</a> <a id="3551" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3556" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+  <a id="3566" href="Haskell.Prim.Enum.html#3515" class="Function">integerFromTo</a> <a id="3580" href="Haskell.Prim.Enum.html#3580" class="Bound">a</a> <a id="3582" href="Haskell.Prim.Enum.html#3582" class="Bound">b</a> <a id="3584" class="Symbol">=</a> <a id="3586" href="Haskell.Prim.Maybe.html#186" class="Function">maybe</a> <a id="3592" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="3595" class="Symbol">(</a><a id="3596" href="Haskell.Prim.Enum.html#3340" class="Function">integerFromCount</a> <a id="3613" href="Haskell.Prim.Enum.html#3580" class="Bound">a</a> <a id="3615" class="Number">1</a> <a id="3617" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="3619" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a><a id="3622" class="Symbol">)</a> <a id="3624" class="Symbol">(</a><a id="3625" href="Haskell.Prim.Enum.html#3101" class="Function">diff</a> <a id="3630" href="Haskell.Prim.Enum.html#3582" class="Bound">b</a> <a id="3632" href="Haskell.Prim.Enum.html#3580" class="Bound">a</a><a id="3633" class="Symbol">)</a>
+
+  <a id="integerFromThenTo"></a><a id="3638" href="Haskell.Prim.Enum.html#3638" class="Function">integerFromThenTo</a> <a id="3656" class="Symbol">:</a> <a id="3658" class="Symbol">(</a><a id="3659" href="Haskell.Prim.Enum.html#3659" class="Bound">a</a> <a id="3661" href="Haskell.Prim.Enum.html#3661" class="Bound">a₁</a> <a id="3664" class="Symbol">:</a> <a id="3666" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a><a id="3673" class="Symbol">)</a> <a id="3675" class="Symbol">→</a> <a id="3677" class="Symbol">@</a><a id="3678" class="Symbol">0</a> <a id="3680" class="Symbol">⦃</a> <a id="3682" href="Haskell.Prim.html#3046" class="Datatype">IsFalse</a> <a id="3690" class="Symbol">(</a><a id="3691" href="Haskell.Prim.Int.html#1497" class="Function">integerToInt</a> <a id="3704" href="Haskell.Prim.Enum.html#3659" class="Bound">a</a> <a id="3706" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="3709" href="Haskell.Prim.Int.html#1497" class="Function">integerToInt</a> <a id="3722" href="Haskell.Prim.Enum.html#3661" class="Bound">a₁</a><a id="3724" class="Symbol">)</a> <a id="3726" class="Symbol">⦄</a> <a id="3728" class="Symbol">→</a> <a id="3730" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="3738" class="Symbol">→</a> <a id="3740" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3745" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+  <a id="3755" href="Haskell.Prim.Enum.html#3638" class="Function">integerFromThenTo</a> <a id="3773" href="Haskell.Prim.Enum.html#3773" class="Bound">a</a> <a id="3775" href="Haskell.Prim.Enum.html#3775" class="Bound">a₁</a> <a id="3778" href="Haskell.Prim.Enum.html#3778" class="Bound">b</a> <a id="3780" class="Symbol">=</a>
+    <a id="3786" href="Haskell.Prim.html#1609" class="Function Operator">case</a> <a id="3791" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="3799" href="Haskell.Prim.Enum.html#3773" class="Bound">a</a> <a id="3801" href="Haskell.Prim.Enum.html#3775" class="Bound">a₁</a> <a id="3804" href="Haskell.Prim.html#1609" class="Function Operator">of</a> <a id="3807" class="Symbol">λ</a> <a id="3809" class="Keyword">where</a>
+      <a id="3821" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a> <a id="3824" class="Symbol">→</a> <a id="3826" href="Haskell.Prim.Maybe.html#186" class="Function">maybe</a> <a id="3832" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="3835" class="Symbol">(λ</a> <a id="3838" href="Haskell.Prim.Enum.html#3838" class="Bound">d</a> <a id="3840" class="Symbol">→</a> <a id="3842" href="Haskell.Prim.Enum.html#3340" class="Function">integerFromCount</a> <a id="3859" href="Haskell.Prim.Enum.html#3773" class="Bound">a</a> <a id="3861" class="Symbol">(</a><a id="3862" href="Haskell.Prim.Enum.html#3775" class="Bound">a₁</a> <a id="3865" href="Haskell.Prim.Num.html#577" class="Field Operator">-</a> <a id="3867" href="Haskell.Prim.Enum.html#3773" class="Bound">a</a><a id="3868" class="Symbol">)</a> <a id="3870" class="Symbol">(</a><a id="3871" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="3875" class="Symbol">(</a><a id="3876" href="Haskell.Prim.Enum.html#3010" class="Function">divNat</a> <a id="3883" href="Haskell.Prim.Enum.html#3838" class="Bound">d</a> <a id="3885" class="Symbol">(</a><a id="3886" href="Haskell.Prim.Enum.html#3233" class="Function">unsafeIntegerToNat</a> <a id="3905" class="Symbol">(</a><a id="3906" href="Haskell.Prim.Enum.html#3775" class="Bound">a₁</a> <a id="3909" href="Haskell.Prim.Num.html#577" class="Field Operator">-</a> <a id="3911" href="Haskell.Prim.Enum.html#3773" class="Bound">a</a><a id="3912" class="Symbol">)))))</a> <a id="3918" class="Symbol">(</a><a id="3919" href="Haskell.Prim.Enum.html#3101" class="Function">diff</a> <a id="3924" href="Haskell.Prim.Enum.html#3778" class="Bound">b</a> <a id="3926" href="Haskell.Prim.Enum.html#3773" class="Bound">a</a><a id="3927" class="Symbol">)</a>
+      <a id="3935" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a> <a id="3938" class="Symbol">→</a> <a id="3940" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="3943" class="Comment">-- impossible</a>
+      <a id="3963" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a> <a id="3966" class="Symbol">→</a> <a id="3968" href="Haskell.Prim.Maybe.html#186" class="Function">maybe</a> <a id="3974" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="3977" class="Symbol">(λ</a> <a id="3980" href="Haskell.Prim.Enum.html#3980" class="Bound">d</a> <a id="3982" class="Symbol">→</a> <a id="3984" href="Haskell.Prim.Enum.html#3340" class="Function">integerFromCount</a> <a id="4001" href="Haskell.Prim.Enum.html#3773" class="Bound">a</a> <a id="4003" class="Symbol">(</a><a id="4004" href="Haskell.Prim.Enum.html#3775" class="Bound">a₁</a> <a id="4007" href="Haskell.Prim.Num.html#577" class="Field Operator">-</a> <a id="4009" href="Haskell.Prim.Enum.html#3773" class="Bound">a</a><a id="4010" class="Symbol">)</a> <a id="4012" class="Symbol">(</a><a id="4013" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="4017" class="Symbol">(</a><a id="4018" href="Haskell.Prim.Enum.html#3010" class="Function">divNat</a> <a id="4025" href="Haskell.Prim.Enum.html#3980" class="Bound">d</a> <a id="4027" class="Symbol">(</a><a id="4028" href="Haskell.Prim.Enum.html#3233" class="Function">unsafeIntegerToNat</a> <a id="4047" class="Symbol">(</a><a id="4048" href="Haskell.Prim.Enum.html#3773" class="Bound">a</a> <a id="4050" href="Haskell.Prim.Num.html#577" class="Field Operator">-</a> <a id="4052" href="Haskell.Prim.Enum.html#3775" class="Bound">a₁</a><a id="4054" class="Symbol">)))))</a> <a id="4060" class="Symbol">(</a><a id="4061" href="Haskell.Prim.Enum.html#3101" class="Function">diff</a> <a id="4066" href="Haskell.Prim.Enum.html#3773" class="Bound">a</a> <a id="4068" href="Haskell.Prim.Enum.html#3778" class="Bound">b</a><a id="4069" class="Symbol">)</a>
+
+<a id="4072" class="Keyword">instance</a>
+  <a id="iEnumInteger"></a><a id="4083" href="Haskell.Prim.Enum.html#4083" class="Function">iEnumInteger</a> <a id="4096" class="Symbol">:</a> <a id="4098" href="Haskell.Prim.Enum.html#1071" class="Record">Enum</a> <a id="4103" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+  <a id="4113" href="Haskell.Prim.Enum.html#4083" class="Function">iEnumInteger</a> <a id="4126" class="Symbol">.</a><a id="4127" href="Haskell.Prim.Enum.html#1111" class="Field">BoundedBelowEnum</a>  <a id="4145" class="Symbol">=</a> <a id="4147" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>
+  <a id="4157" href="Haskell.Prim.Enum.html#4083" class="Function">iEnumInteger</a> <a id="4170" class="Symbol">.</a><a id="4171" href="Haskell.Prim.Enum.html#1157" class="Field">BoundedAboveEnum</a>  <a id="4189" class="Symbol">=</a> <a id="4191" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>
+  <a id="4201" href="Haskell.Prim.Enum.html#4083" class="Function">iEnumInteger</a> <a id="4214" class="Symbol">.</a><a id="4215" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a>          <a id="4233" class="Symbol">=</a> <a id="4235" href="Haskell.Prim.Int.html#1497" class="Function">integerToInt</a>
+  <a id="4250" href="Haskell.Prim.Enum.html#4083" class="Function">iEnumInteger</a> <a id="4263" class="Symbol">.</a><a id="4264" href="Haskell.Prim.Enum.html#2015" class="Field">toEnum</a>          <a id="4280" href="Haskell.Prim.Enum.html#4280" class="Bound">n</a> <a id="4282" class="Symbol">=</a> <a id="4284" href="Haskell.Prim.Int.html#1311" class="Function">intToInteger</a> <a id="4297" href="Haskell.Prim.Enum.html#4280" class="Bound">n</a>
+  <a id="4301" href="Haskell.Prim.Enum.html#4083" class="Function">iEnumInteger</a> <a id="4314" class="Symbol">.</a><a id="4315" href="Haskell.Prim.Enum.html#2106" class="Field">succ</a>              <a id="4333" class="Symbol">=</a> <a id="4335" href="Haskell.Prim.Num.html#547" class="Field Operator">_+</a> <a id="4338" class="Number">1</a>
+  <a id="4342" href="Haskell.Prim.Enum.html#4083" class="Function">iEnumInteger</a> <a id="4355" class="Symbol">.</a><a id="4356" href="Haskell.Prim.Enum.html#2173" class="Field">pred</a>              <a id="4374" class="Symbol">=</a> <a id="4376" href="Haskell.Prim.Num.html#577" class="Field Operator">_-</a> <a id="4379" class="Number">1</a>
+  <a id="4383" href="Haskell.Prim.Enum.html#4083" class="Function">iEnumInteger</a> <a id="4396" class="Symbol">.</a><a id="4397" href="Haskell.Prim.Enum.html#2297" class="Field">enumFromTo</a>        <a id="4415" class="Symbol">=</a> <a id="4417" href="Haskell.Prim.Enum.html#3515" class="Function">integerFromTo</a>
+  <a id="4433" href="Haskell.Prim.Enum.html#4083" class="Function">iEnumInteger</a> <a id="4446" class="Symbol">.</a><a id="4447" href="Haskell.Prim.Enum.html#2710" class="Field">enumFromThenTo</a>    <a id="4465" class="Symbol">=</a> <a id="4467" href="Haskell.Prim.Enum.html#3638" class="Function">integerFromThenTo</a>
+
+<a id="4486" class="Keyword">module</a> <a id="4493" href="Haskell.Prim.Enum.html#4493" class="Module">_</a> <a id="4495" class="Symbol">(</a><a id="4496" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="4501" class="Symbol">:</a> <a id="4503" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="4505" class="Symbol">→</a> <a id="4507" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a><a id="4514" class="Symbol">)</a> <a id="4516" class="Symbol">(</a><a id="4517" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="4520" class="Symbol">:</a> <a id="4522" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="4530" class="Symbol">→</a> <a id="4532" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="4533" class="Symbol">)</a> <a id="4535" class="Keyword">where</a>
+  <a id="4543" class="Keyword">private</a>
+    <a id="4555" href="Haskell.Prim.Enum.html#4555" class="Function">fromTo</a> <a id="4562" class="Symbol">:</a> <a id="4564" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a> <a id="4566" class="Symbol">→</a> <a id="4568" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a> <a id="4570" class="Symbol">→</a> <a id="4572" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="4577" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a>
+    <a id="4583" href="Haskell.Prim.Enum.html#4555" class="Function">fromTo</a> <a id="4590" href="Haskell.Prim.Enum.html#4590" class="Bound">a</a> <a id="4592" href="Haskell.Prim.Enum.html#4592" class="Bound">b</a> <a id="4594" class="Symbol">=</a> <a id="4596" href="Haskell.Prim.List.html#211" class="Function">map</a> <a id="4600" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="4603" class="Symbol">(</a><a id="4604" href="Haskell.Prim.Enum.html#2297" class="Field">enumFromTo</a> <a id="4615" class="Symbol">(</a><a id="4616" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="4621" href="Haskell.Prim.Enum.html#4590" class="Bound">a</a><a id="4622" class="Symbol">)</a> <a id="4624" class="Symbol">(</a><a id="4625" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="4630" href="Haskell.Prim.Enum.html#4592" class="Bound">b</a><a id="4631" class="Symbol">))</a>
+
+    <a id="4639" href="Haskell.Prim.Enum.html#4639" class="Function">fromThenTo</a> <a id="4650" class="Symbol">:</a> <a id="4652" class="Symbol">(</a><a id="4653" href="Haskell.Prim.Enum.html#4653" class="Bound">x</a> <a id="4655" href="Haskell.Prim.Enum.html#4655" class="Bound">x₁</a> <a id="4658" class="Symbol">:</a> <a id="4660" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a><a id="4661" class="Symbol">)</a> <a id="4663" class="Symbol">→</a> <a id="4665" class="Symbol">@</a><a id="4666" class="Number">0</a> <a id="4668" class="Symbol">⦃</a> <a id="4670" href="Haskell.Prim.html#3046" class="Datatype">IsFalse</a> <a id="4678" class="Symbol">(</a><a id="4679" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a> <a id="4688" class="Symbol">(</a><a id="4689" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="4694" href="Haskell.Prim.Enum.html#4653" class="Bound">x</a><a id="4695" class="Symbol">)</a> <a id="4697" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="4700" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a> <a id="4709" class="Symbol">(</a><a id="4710" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="4715" href="Haskell.Prim.Enum.html#4655" class="Bound">x₁</a><a id="4717" class="Symbol">))</a> <a id="4720" class="Symbol">⦄</a> <a id="4722" class="Symbol">→</a> <a id="4724" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a> <a id="4726" class="Symbol">→</a> <a id="4728" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="4733" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a>
+    <a id="4739" href="Haskell.Prim.Enum.html#4639" class="Function">fromThenTo</a> <a id="4750" href="Haskell.Prim.Enum.html#4750" class="Bound">a</a> <a id="4752" href="Haskell.Prim.Enum.html#4752" class="Bound">a₁</a> <a id="4755" href="Haskell.Prim.Enum.html#4755" class="Bound">b</a> <a id="4757" class="Symbol">=</a> <a id="4759" href="Haskell.Prim.List.html#211" class="Function">map</a> <a id="4763" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="4766" class="Symbol">(</a><a id="4767" href="Haskell.Prim.Enum.html#2710" class="Field">enumFromThenTo</a> <a id="4782" class="Symbol">(</a><a id="4783" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="4788" href="Haskell.Prim.Enum.html#4750" class="Bound">a</a><a id="4789" class="Symbol">)</a> <a id="4791" class="Symbol">(</a><a id="4792" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="4797" href="Haskell.Prim.Enum.html#4752" class="Bound">a₁</a><a id="4799" class="Symbol">)</a> <a id="4801" class="Symbol">(</a><a id="4802" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="4807" href="Haskell.Prim.Enum.html#4755" class="Bound">b</a><a id="4808" class="Symbol">))</a>
+
+  <a id="4814" href="Haskell.Prim.Enum.html#4814" class="Function">unboundedEnumViaInteger</a> <a id="4838" class="Symbol">:</a> <a id="4840" href="Haskell.Prim.Enum.html#1071" class="Record">Enum</a> <a id="4845" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a>
+  <a id="4849" href="Haskell.Prim.Enum.html#4814" class="Function">unboundedEnumViaInteger</a> <a id="4873" class="Symbol">.</a><a id="4874" href="Haskell.Prim.Enum.html#1111" class="Field">BoundedBelowEnum</a>      <a id="4896" class="Symbol">=</a> <a id="4898" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>
+  <a id="4908" href="Haskell.Prim.Enum.html#4814" class="Function">unboundedEnumViaInteger</a> <a id="4932" class="Symbol">.</a><a id="4933" href="Haskell.Prim.Enum.html#1157" class="Field">BoundedAboveEnum</a>      <a id="4955" class="Symbol">=</a> <a id="4957" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>
+  <a id="4967" href="Haskell.Prim.Enum.html#4814" class="Function">unboundedEnumViaInteger</a> <a id="4991" class="Symbol">.</a><a id="4992" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a>              <a id="5014" class="Symbol">=</a> <a id="5016" href="Haskell.Prim.Int.html#1497" class="Function">integerToInt</a> <a id="5029" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="5031" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a>
+  <a id="5038" href="Haskell.Prim.Enum.html#4814" class="Function">unboundedEnumViaInteger</a> <a id="5062" class="Symbol">.</a><a id="5063" href="Haskell.Prim.Enum.html#2015" class="Field">toEnum</a>         <a id="5078" href="Haskell.Prim.Enum.html#5078" class="Bound">n</a>      <a id="5085" class="Symbol">=</a> <a id="5087" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="5090" class="Symbol">(</a><a id="5091" href="Haskell.Prim.Int.html#1311" class="Function">intToInteger</a> <a id="5104" href="Haskell.Prim.Enum.html#5078" class="Bound">n</a><a id="5105" class="Symbol">)</a>
+  <a id="5109" href="Haskell.Prim.Enum.html#4814" class="Function">unboundedEnumViaInteger</a> <a id="5133" class="Symbol">.</a><a id="5134" href="Haskell.Prim.Enum.html#2106" class="Field">succ</a>           <a id="5149" href="Haskell.Prim.Enum.html#5149" class="Bound">x</a>      <a id="5156" class="Symbol">=</a> <a id="5158" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="5161" class="Symbol">(</a><a id="5162" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="5167" href="Haskell.Prim.Enum.html#5149" class="Bound">x</a> <a id="5169" href="Haskell.Prim.Num.html#547" class="Field Operator">+</a> <a id="5171" class="Number">1</a><a id="5172" class="Symbol">)</a>
+  <a id="5176" href="Haskell.Prim.Enum.html#4814" class="Function">unboundedEnumViaInteger</a> <a id="5200" class="Symbol">.</a><a id="5201" href="Haskell.Prim.Enum.html#2173" class="Field">pred</a>           <a id="5216" href="Haskell.Prim.Enum.html#5216" class="Bound">x</a>      <a id="5223" class="Symbol">=</a> <a id="5225" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="5228" class="Symbol">(</a><a id="5229" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="5234" href="Haskell.Prim.Enum.html#5216" class="Bound">x</a> <a id="5236" href="Haskell.Prim.Num.html#577" class="Field Operator">-</a> <a id="5238" class="Number">1</a><a id="5239" class="Symbol">)</a>
+  <a id="5243" href="Haskell.Prim.Enum.html#4814" class="Function">unboundedEnumViaInteger</a> <a id="5267" class="Symbol">.</a><a id="5268" href="Haskell.Prim.Enum.html#2297" class="Field">enumFromTo</a>     <a id="5283" href="Haskell.Prim.Enum.html#5283" class="Bound">a</a> <a id="5285" href="Haskell.Prim.Enum.html#5285" class="Bound">b</a>    <a id="5290" class="Symbol">=</a> <a id="5292" href="Haskell.Prim.Enum.html#4555" class="Function">fromTo</a> <a id="5299" href="Haskell.Prim.Enum.html#5283" class="Bound">a</a> <a id="5301" href="Haskell.Prim.Enum.html#5285" class="Bound">b</a>
+  <a id="5305" href="Haskell.Prim.Enum.html#4814" class="Function">unboundedEnumViaInteger</a> <a id="5329" class="Symbol">.</a><a id="5330" href="Haskell.Prim.Enum.html#2710" class="Field">enumFromThenTo</a> <a id="5345" href="Haskell.Prim.Enum.html#5345" class="Bound">a</a> <a id="5347" href="Haskell.Prim.Enum.html#5347" class="Bound">a₁</a> <a id="5350" href="Haskell.Prim.Enum.html#5350" class="Bound">b</a> <a id="5352" class="Symbol">=</a> <a id="5354" href="Haskell.Prim.Enum.html#4639" class="Function">fromThenTo</a> <a id="5365" href="Haskell.Prim.Enum.html#5345" class="Bound">a</a> <a id="5367" href="Haskell.Prim.Enum.html#5347" class="Bound">a₁</a> <a id="5370" href="Haskell.Prim.Enum.html#5350" class="Bound">b</a>
+
+  <a id="5375" href="Haskell.Prim.Enum.html#5375" class="Function">boundedBelowEnumViaInteger</a> <a id="5402" class="Symbol">:</a> <a id="5404" class="Symbol">⦃</a> <a id="5406" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="5410" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a> <a id="5412" class="Symbol">⦄</a> <a id="5414" class="Symbol">→</a> <a id="5416" class="Symbol">⦃</a> <a id="5418" href="Haskell.Prim.Bounded.html#311" class="Record">BoundedBelow</a> <a id="5431" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a> <a id="5433" class="Symbol">⦄</a> <a id="5435" class="Symbol">→</a> <a id="5437" href="Haskell.Prim.Enum.html#1071" class="Record">Enum</a> <a id="5442" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a>
+  <a id="5446" href="Haskell.Prim.Enum.html#5375" class="Function">boundedBelowEnumViaInteger</a> <a id="5473" class="Symbol">.</a><a id="5474" href="Haskell.Prim.Enum.html#1111" class="Field">BoundedBelowEnum</a>      <a id="5496" class="Symbol">=</a> <a id="5498" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="5503" href="Haskell.Prim.html#3257" class="Function">it</a>
+  <a id="5508" href="Haskell.Prim.Enum.html#5375" class="Function">boundedBelowEnumViaInteger</a> <a id="5535" class="Symbol">.</a><a id="5536" href="Haskell.Prim.Enum.html#1157" class="Field">BoundedAboveEnum</a>      <a id="5558" class="Symbol">=</a> <a id="5560" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>
+  <a id="5570" href="Haskell.Prim.Enum.html#5375" class="Function">boundedBelowEnumViaInteger</a> <a id="5597" class="Symbol">.</a><a id="5598" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a>              <a id="5620" class="Symbol">=</a> <a id="5622" href="Haskell.Prim.Int.html#1497" class="Function">integerToInt</a> <a id="5635" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="5637" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a>
+  <a id="5644" href="Haskell.Prim.Enum.html#5375" class="Function">boundedBelowEnumViaInteger</a> <a id="5671" class="Symbol">.</a><a id="5672" href="Haskell.Prim.Enum.html#2015" class="Field">toEnum</a>         <a id="5687" href="Haskell.Prim.Enum.html#5687" class="Bound">n</a>      <a id="5694" class="Symbol">=</a> <a id="5696" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="5699" class="Symbol">(</a><a id="5700" href="Haskell.Prim.Int.html#1311" class="Function">intToInteger</a> <a id="5713" href="Haskell.Prim.Enum.html#5687" class="Bound">n</a><a id="5714" class="Symbol">)</a>
+  <a id="5718" href="Haskell.Prim.Enum.html#5375" class="Function">boundedBelowEnumViaInteger</a> <a id="5745" class="Symbol">.</a><a id="5746" href="Haskell.Prim.Enum.html#2106" class="Field">succ</a>           <a id="5761" href="Haskell.Prim.Enum.html#5761" class="Bound">x</a>      <a id="5768" class="Symbol">=</a> <a id="5770" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="5773" class="Symbol">(</a><a id="5774" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="5779" href="Haskell.Prim.Enum.html#5761" class="Bound">x</a> <a id="5781" href="Haskell.Prim.Num.html#547" class="Field Operator">+</a> <a id="5783" class="Number">1</a><a id="5784" class="Symbol">)</a>
+  <a id="5788" href="Haskell.Prim.Enum.html#5375" class="Function">boundedBelowEnumViaInteger</a> <a id="5815" class="Symbol">.</a><a id="5816" href="Haskell.Prim.Enum.html#2173" class="Field">pred</a>           <a id="5831" href="Haskell.Prim.Enum.html#5831" class="Bound">x</a>      <a id="5838" class="Symbol">=</a> <a id="5840" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="5843" class="Symbol">(</a><a id="5844" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="5849" href="Haskell.Prim.Enum.html#5831" class="Bound">x</a> <a id="5851" href="Haskell.Prim.Num.html#577" class="Field Operator">-</a> <a id="5853" class="Number">1</a><a id="5854" class="Symbol">)</a>
+  <a id="5858" href="Haskell.Prim.Enum.html#5375" class="Function">boundedBelowEnumViaInteger</a> <a id="5885" class="Symbol">.</a><a id="5886" href="Haskell.Prim.Enum.html#2297" class="Field">enumFromTo</a>     <a id="5901" href="Haskell.Prim.Enum.html#5901" class="Bound">a</a> <a id="5903" href="Haskell.Prim.Enum.html#5903" class="Bound">b</a>    <a id="5908" class="Symbol">=</a> <a id="5910" href="Haskell.Prim.Enum.html#4555" class="Function">fromTo</a> <a id="5917" href="Haskell.Prim.Enum.html#5901" class="Bound">a</a> <a id="5919" href="Haskell.Prim.Enum.html#5903" class="Bound">b</a>
+  <a id="5923" href="Haskell.Prim.Enum.html#5375" class="Function">boundedBelowEnumViaInteger</a> <a id="5950" class="Symbol">.</a><a id="5951" href="Haskell.Prim.Enum.html#2710" class="Field">enumFromThenTo</a> <a id="5966" href="Haskell.Prim.Enum.html#5966" class="Bound">a</a> <a id="5968" href="Haskell.Prim.Enum.html#5968" class="Bound">a₁</a> <a id="5971" href="Haskell.Prim.Enum.html#5971" class="Bound">b</a> <a id="5973" class="Symbol">=</a> <a id="5975" href="Haskell.Prim.Enum.html#4639" class="Function">fromThenTo</a> <a id="5986" href="Haskell.Prim.Enum.html#5966" class="Bound">a</a> <a id="5988" href="Haskell.Prim.Enum.html#5968" class="Bound">a₁</a> <a id="5991" href="Haskell.Prim.Enum.html#5971" class="Bound">b</a>
+
+  <a id="5996" href="Haskell.Prim.Enum.html#5996" class="Function">boundedAboveEnumViaInteger</a> <a id="6023" class="Symbol">:</a> <a id="6025" class="Symbol">⦃</a> <a id="6027" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="6031" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a> <a id="6033" class="Symbol">⦄</a> <a id="6035" class="Symbol">→</a> <a id="6037" class="Symbol">⦃</a> <a id="6039" href="Haskell.Prim.Bounded.html#379" class="Record">BoundedAbove</a> <a id="6052" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a> <a id="6054" class="Symbol">⦄</a> <a id="6056" class="Symbol">→</a> <a id="6058" href="Haskell.Prim.Enum.html#1071" class="Record">Enum</a> <a id="6063" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a>
+  <a id="6067" href="Haskell.Prim.Enum.html#5996" class="Function">boundedAboveEnumViaInteger</a> <a id="6094" class="Symbol">.</a><a id="6095" href="Haskell.Prim.Enum.html#1111" class="Field">BoundedBelowEnum</a>      <a id="6117" class="Symbol">=</a> <a id="6119" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>
+  <a id="6129" href="Haskell.Prim.Enum.html#5996" class="Function">boundedAboveEnumViaInteger</a> <a id="6156" class="Symbol">.</a><a id="6157" href="Haskell.Prim.Enum.html#1157" class="Field">BoundedAboveEnum</a>      <a id="6179" class="Symbol">=</a> <a id="6181" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="6186" href="Haskell.Prim.html#3257" class="Function">it</a>
+  <a id="6191" href="Haskell.Prim.Enum.html#5996" class="Function">boundedAboveEnumViaInteger</a> <a id="6218" class="Symbol">.</a><a id="6219" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a>              <a id="6241" class="Symbol">=</a> <a id="6243" href="Haskell.Prim.Int.html#1497" class="Function">integerToInt</a> <a id="6256" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="6258" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a>
+  <a id="6265" href="Haskell.Prim.Enum.html#5996" class="Function">boundedAboveEnumViaInteger</a> <a id="6292" class="Symbol">.</a><a id="6293" href="Haskell.Prim.Enum.html#2015" class="Field">toEnum</a>         <a id="6308" href="Haskell.Prim.Enum.html#6308" class="Bound">n</a>      <a id="6315" class="Symbol">=</a> <a id="6317" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="6320" class="Symbol">(</a><a id="6321" href="Haskell.Prim.Int.html#1311" class="Function">intToInteger</a> <a id="6334" href="Haskell.Prim.Enum.html#6308" class="Bound">n</a><a id="6335" class="Symbol">)</a>
+  <a id="6339" href="Haskell.Prim.Enum.html#5996" class="Function">boundedAboveEnumViaInteger</a> <a id="6366" class="Symbol">.</a><a id="6367" href="Haskell.Prim.Enum.html#2106" class="Field">succ</a>           <a id="6382" href="Haskell.Prim.Enum.html#6382" class="Bound">x</a>      <a id="6389" class="Symbol">=</a> <a id="6391" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="6394" class="Symbol">(</a><a id="6395" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="6400" href="Haskell.Prim.Enum.html#6382" class="Bound">x</a> <a id="6402" href="Haskell.Prim.Num.html#547" class="Field Operator">+</a> <a id="6404" class="Number">1</a><a id="6405" class="Symbol">)</a>
+  <a id="6409" href="Haskell.Prim.Enum.html#5996" class="Function">boundedAboveEnumViaInteger</a> <a id="6436" class="Symbol">.</a><a id="6437" href="Haskell.Prim.Enum.html#2173" class="Field">pred</a>           <a id="6452" href="Haskell.Prim.Enum.html#6452" class="Bound">x</a>      <a id="6459" class="Symbol">=</a> <a id="6461" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="6464" class="Symbol">(</a><a id="6465" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="6470" href="Haskell.Prim.Enum.html#6452" class="Bound">x</a> <a id="6472" href="Haskell.Prim.Num.html#577" class="Field Operator">-</a> <a id="6474" class="Number">1</a><a id="6475" class="Symbol">)</a>
+  <a id="6479" href="Haskell.Prim.Enum.html#5996" class="Function">boundedAboveEnumViaInteger</a> <a id="6506" class="Symbol">.</a><a id="6507" href="Haskell.Prim.Enum.html#2241" class="Field">enumFrom</a>       <a id="6522" href="Haskell.Prim.Enum.html#6522" class="Bound">a</a>      <a id="6529" class="Symbol">=</a> <a id="6531" href="Haskell.Prim.Enum.html#4555" class="Function">fromTo</a> <a id="6538" href="Haskell.Prim.Enum.html#6522" class="Bound">a</a> <a id="6540" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a>
+  <a id="6551" href="Haskell.Prim.Enum.html#5996" class="Function">boundedAboveEnumViaInteger</a> <a id="6578" class="Symbol">.</a><a id="6579" href="Haskell.Prim.Enum.html#2297" class="Field">enumFromTo</a>     <a id="6594" href="Haskell.Prim.Enum.html#6594" class="Bound">a</a> <a id="6596" href="Haskell.Prim.Enum.html#6596" class="Bound">b</a>    <a id="6601" class="Symbol">=</a> <a id="6603" href="Haskell.Prim.Enum.html#4555" class="Function">fromTo</a> <a id="6610" href="Haskell.Prim.Enum.html#6594" class="Bound">a</a> <a id="6612" href="Haskell.Prim.Enum.html#6596" class="Bound">b</a>
+  <a id="6616" href="Haskell.Prim.Enum.html#5996" class="Function">boundedAboveEnumViaInteger</a> <a id="6643" class="Symbol">.</a><a id="6644" href="Haskell.Prim.Enum.html#2710" class="Field">enumFromThenTo</a> <a id="6659" href="Haskell.Prim.Enum.html#6659" class="Bound">a</a> <a id="6661" href="Haskell.Prim.Enum.html#6661" class="Bound">a₁</a> <a id="6664" href="Haskell.Prim.Enum.html#6664" class="Bound">b</a> <a id="6666" class="Symbol">=</a> <a id="6668" href="Haskell.Prim.Enum.html#4639" class="Function">fromThenTo</a> <a id="6679" href="Haskell.Prim.Enum.html#6659" class="Bound">a</a> <a id="6681" href="Haskell.Prim.Enum.html#6661" class="Bound">a₁</a> <a id="6684" href="Haskell.Prim.Enum.html#6664" class="Bound">b</a>
+
+  <a id="6689" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="6711" class="Symbol">:</a> <a id="6713" class="Symbol">⦃</a> <a id="6715" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="6719" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a> <a id="6721" class="Symbol">⦄</a> <a id="6723" class="Symbol">→</a> <a id="6725" class="Symbol">⦃</a> <a id="6727" href="Haskell.Prim.Bounded.html#447" class="Record">Bounded</a> <a id="6735" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a> <a id="6737" class="Symbol">⦄</a> <a id="6739" class="Symbol">→</a> <a id="6741" href="Haskell.Prim.Enum.html#1071" class="Record">Enum</a> <a id="6746" href="Haskell.Prim.Enum.html#4503" class="Bound">a</a>
+  <a id="6750" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="6772" class="Symbol">.</a><a id="6773" href="Haskell.Prim.Enum.html#1111" class="Field">BoundedBelowEnum</a>      <a id="6795" class="Symbol">=</a> <a id="6797" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="6802" href="Haskell.Prim.html#3257" class="Function">it</a>
+  <a id="6807" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="6829" class="Symbol">.</a><a id="6830" href="Haskell.Prim.Enum.html#1157" class="Field">BoundedAboveEnum</a>      <a id="6852" class="Symbol">=</a> <a id="6854" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="6859" href="Haskell.Prim.html#3257" class="Function">it</a>
+  <a id="6864" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="6886" class="Symbol">.</a><a id="6887" href="Haskell.Prim.Enum.html#1203" class="Field">fromEnum</a>              <a id="6909" class="Symbol">=</a> <a id="6911" href="Haskell.Prim.Int.html#1497" class="Function">integerToInt</a> <a id="6924" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="6926" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a>
+  <a id="6933" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="6955" class="Symbol">.</a><a id="6956" href="Haskell.Prim.Enum.html#2015" class="Field">toEnum</a>         <a id="6971" href="Haskell.Prim.Enum.html#6971" class="Bound">n</a>      <a id="6978" class="Symbol">=</a> <a id="6980" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="6983" class="Symbol">(</a><a id="6984" href="Haskell.Prim.Int.html#1311" class="Function">intToInteger</a> <a id="6997" href="Haskell.Prim.Enum.html#6971" class="Bound">n</a><a id="6998" class="Symbol">)</a>
+  <a id="7002" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="7024" class="Symbol">.</a><a id="7025" href="Haskell.Prim.Enum.html#2106" class="Field">succ</a>           <a id="7040" href="Haskell.Prim.Enum.html#7040" class="Bound">x</a>      <a id="7047" class="Symbol">=</a> <a id="7049" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="7052" class="Symbol">(</a><a id="7053" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="7058" href="Haskell.Prim.Enum.html#7040" class="Bound">x</a> <a id="7060" href="Haskell.Prim.Num.html#547" class="Field Operator">+</a> <a id="7062" class="Number">1</a><a id="7063" class="Symbol">)</a>
+  <a id="7067" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="7089" class="Symbol">.</a><a id="7090" href="Haskell.Prim.Enum.html#2173" class="Field">pred</a>           <a id="7105" href="Haskell.Prim.Enum.html#7105" class="Bound">x</a>      <a id="7112" class="Symbol">=</a> <a id="7114" href="Haskell.Prim.Enum.html#4517" class="Bound">to</a> <a id="7117" class="Symbol">(</a><a id="7118" href="Haskell.Prim.Enum.html#4496" class="Bound">from</a> <a id="7123" href="Haskell.Prim.Enum.html#7105" class="Bound">x</a> <a id="7125" href="Haskell.Prim.Num.html#577" class="Field Operator">-</a> <a id="7127" class="Number">1</a><a id="7128" class="Symbol">)</a>
+  <a id="7132" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="7154" class="Symbol">.</a><a id="7155" href="Haskell.Prim.Enum.html#2297" class="Field">enumFromTo</a>     <a id="7170" href="Haskell.Prim.Enum.html#7170" class="Bound">a</a> <a id="7172" href="Haskell.Prim.Enum.html#7172" class="Bound">b</a>    <a id="7177" class="Symbol">=</a> <a id="7179" href="Haskell.Prim.Enum.html#4555" class="Function">fromTo</a> <a id="7186" href="Haskell.Prim.Enum.html#7170" class="Bound">a</a> <a id="7188" href="Haskell.Prim.Enum.html#7172" class="Bound">b</a>
+  <a id="7192" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="7214" class="Symbol">.</a><a id="7215" href="Haskell.Prim.Enum.html#2710" class="Field">enumFromThenTo</a> <a id="7230" href="Haskell.Prim.Enum.html#7230" class="Bound">a</a> <a id="7232" href="Haskell.Prim.Enum.html#7232" class="Bound">a₁</a> <a id="7235" href="Haskell.Prim.Enum.html#7235" class="Bound">b</a> <a id="7237" class="Symbol">=</a> <a id="7239" href="Haskell.Prim.Enum.html#4639" class="Function">fromThenTo</a> <a id="7250" href="Haskell.Prim.Enum.html#7230" class="Bound">a</a> <a id="7252" href="Haskell.Prim.Enum.html#7232" class="Bound">a₁</a> <a id="7255" href="Haskell.Prim.Enum.html#7235" class="Bound">b</a>
+  <a id="7259" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="7281" class="Symbol">.</a><a id="7282" href="Haskell.Prim.Enum.html#2241" class="Field">enumFrom</a>       <a id="7297" href="Haskell.Prim.Enum.html#7297" class="Bound">a</a>      <a id="7304" class="Symbol">=</a> <a id="7306" href="Haskell.Prim.Enum.html#4555" class="Function">fromTo</a> <a id="7313" href="Haskell.Prim.Enum.html#7297" class="Bound">a</a> <a id="7315" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a>
+  <a id="7326" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="7348" class="Symbol">.</a><a id="7349" href="Haskell.Prim.Enum.html#2800" class="Field">enumFromThen</a>   <a id="7364" href="Haskell.Prim.Enum.html#7364" class="Bound">a</a> <a id="7366" href="Haskell.Prim.Enum.html#7366" class="Bound">a₁</a>   <a id="7371" class="Symbol">=</a>
+    <a id="7377" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="7380" href="Haskell.Prim.Enum.html#7364" class="Bound">a</a> <a id="7382" href="Haskell.Prim.Ord.html#1072" class="Field Operator">&lt;</a> <a id="7384" href="Haskell.Prim.Enum.html#7366" class="Bound">a₁</a> <a id="7387" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="7392" href="Haskell.Prim.Enum.html#4639" class="Function">fromThenTo</a> <a id="7403" href="Haskell.Prim.Enum.html#7364" class="Bound">a</a> <a id="7405" href="Haskell.Prim.Enum.html#7366" class="Bound">a₁</a> <a id="7408" href="Haskell.Prim.Bounded.html#426" class="Field">maxBound</a>
+              <a id="7431" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="7436" href="Haskell.Prim.Enum.html#4639" class="Function">fromThenTo</a> <a id="7447" href="Haskell.Prim.Enum.html#7364" class="Bound">a</a> <a id="7449" href="Haskell.Prim.Enum.html#7366" class="Bound">a₁</a> <a id="7452" href="Haskell.Prim.Bounded.html#358" class="Field">minBound</a>
+
+<a id="7462" class="Keyword">instance</a>
+  <a id="iEnumNat"></a><a id="7473" href="Haskell.Prim.Enum.html#7473" class="Function">iEnumNat</a> <a id="7482" class="Symbol">:</a> <a id="7484" href="Haskell.Prim.Enum.html#1071" class="Record">Enum</a> <a id="7489" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="7495" href="Haskell.Prim.Enum.html#7473" class="Function">iEnumNat</a> <a id="7504" class="Symbol">=</a> <a id="7506" href="Haskell.Prim.Enum.html#5375" class="Function">boundedBelowEnumViaInteger</a> <a id="7533" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="7537" href="Haskell.Prim.Enum.html#3233" class="Function">unsafeIntegerToNat</a>
+
+  <a id="iEnumInt"></a><a id="7559" href="Haskell.Prim.Enum.html#7559" class="Function">iEnumInt</a> <a id="7568" class="Symbol">:</a> <a id="7570" href="Haskell.Prim.Enum.html#1071" class="Record">Enum</a> <a id="7575" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+  <a id="7581" href="Haskell.Prim.Enum.html#7559" class="Function">iEnumInt</a> <a id="7590" class="Symbol">=</a> <a id="7592" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="7614" href="Haskell.Prim.Int.html#1311" class="Function">intToInteger</a> <a id="7627" href="Haskell.Prim.Int.html#1497" class="Function">integerToInt</a>
+
+  <a id="iEnumWord"></a><a id="7643" href="Haskell.Prim.Enum.html#7643" class="Function">iEnumWord</a> <a id="7653" class="Symbol">:</a> <a id="7655" href="Haskell.Prim.Enum.html#1071" class="Record">Enum</a> <a id="7660" href="Agda.Builtin.Word.html#208" class="Postulate">Word</a>
+  <a id="7667" href="Haskell.Prim.Enum.html#7643" class="Function">iEnumWord</a> <a id="7677" class="Symbol">=</a> <a id="7679" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="7701" href="Haskell.Prim.Word.html#1108" class="Function">wordToInteger</a> <a id="7715" href="Haskell.Prim.Word.html#991" class="Function">integerToWord</a>
+
+  <a id="iEnumBool"></a><a id="7732" href="Haskell.Prim.Enum.html#7732" class="Function">iEnumBool</a> <a id="7742" class="Symbol">:</a> <a id="7744" href="Haskell.Prim.Enum.html#1071" class="Record">Enum</a> <a id="7749" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="7756" href="Haskell.Prim.Enum.html#7732" class="Function">iEnumBool</a> <a id="7766" class="Symbol">=</a> <a id="7768" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="7790" class="Symbol">(</a><a id="7791" href="Haskell.Prim.html#1713" class="Function Operator">if_then</a> <a id="7799" class="Number">1</a> <a id="7801" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="7806" class="Number">0</a><a id="7807" class="Symbol">)</a> <a id="7809" class="Symbol">(</a><a id="7810" href="Haskell.Prim.Eq.html#481" class="Function Operator">_/=</a> <a id="7814" class="Number">0</a><a id="7815" class="Symbol">)</a>
+
+  <a id="iEnumOrdering"></a><a id="7820" href="Haskell.Prim.Enum.html#7820" class="Function">iEnumOrdering</a> <a id="7834" class="Symbol">:</a> <a id="7836" href="Haskell.Prim.Enum.html#1071" class="Record">Enum</a> <a id="7841" href="Haskell.Prim.Ord.html#466" class="Datatype">Ordering</a>
+  <a id="7852" href="Haskell.Prim.Enum.html#7820" class="Function">iEnumOrdering</a> <a id="7866" class="Symbol">=</a> <a id="7868" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="7890" class="Symbol">(λ</a> <a id="7893" class="Keyword">where</a> <a id="7899" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a> <a id="7902" class="Symbol">→</a> <a id="7904" class="Number">0</a><a id="7905" class="Symbol">;</a> <a id="7907" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a> <a id="7910" class="Symbol">→</a> <a id="7912" class="Number">1</a><a id="7913" class="Symbol">;</a> <a id="7915" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a> <a id="7918" class="Symbol">→</a> <a id="7920" class="Number">2</a><a id="7921" class="Symbol">)</a>
+                                        <a id="7963" class="Symbol">(λ</a> <a id="7966" class="Keyword">where</a> <a id="7972" class="Symbol">(</a><a id="7973" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="7977" class="Number">0</a><a id="7978" class="Symbol">)</a> <a id="7980" class="Symbol">→</a> <a id="7982" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a><a id="7984" class="Symbol">;</a> <a id="7986" class="Symbol">(</a><a id="7987" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="7991" class="Number">1</a><a id="7992" class="Symbol">)</a> <a id="7994" class="Symbol">→</a> <a id="7996" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a><a id="7998" class="Symbol">;</a> <a id="8000" class="CatchallClause Symbol">_</a> <a id="8002" class="Symbol">→</a> <a id="8004" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a><a id="8006" class="Symbol">)</a>
+
+  <a id="iEnumUnit"></a><a id="8011" href="Haskell.Prim.Enum.html#8011" class="Function">iEnumUnit</a> <a id="8021" class="Symbol">:</a> <a id="8023" href="Haskell.Prim.Enum.html#1071" class="Record">Enum</a> <a id="8028" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="8032" href="Haskell.Prim.Enum.html#8011" class="Function">iEnumUnit</a> <a id="8042" class="Symbol">=</a> <a id="8044" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="8066" class="Symbol">(λ</a> <a id="8069" href="Haskell.Prim.Enum.html#8069" class="Bound">_</a> <a id="8071" class="Symbol">→</a> <a id="8073" class="Number">0</a><a id="8074" class="Symbol">)</a> <a id="8076" class="Symbol">λ</a> <a id="8078" href="Haskell.Prim.Enum.html#8078" class="Bound">_</a> <a id="8080" class="Symbol">→</a> <a id="8082" href="Agda.Builtin.Unit.html#212" class="InductiveConstructor">tt</a>
+
+  <a id="iEnumChar"></a><a id="8088" href="Haskell.Prim.Enum.html#8088" class="Function">iEnumChar</a> <a id="8098" class="Symbol">:</a> <a id="8100" href="Haskell.Prim.Enum.html#1071" class="Record">Enum</a> <a id="8105" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a>
+  <a id="8112" href="Haskell.Prim.Enum.html#8088" class="Function">iEnumChar</a> <a id="8122" class="Symbol">=</a> <a id="8124" href="Haskell.Prim.Enum.html#6689" class="Function">boundedEnumViaInteger</a> <a id="8146" class="Symbol">(</a><a id="8147" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="8151" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="8153" href="Agda.Builtin.Char.html#448" class="Primitive">c2n</a><a id="8156" class="Symbol">)</a>
+                                    <a id="8194" class="Symbol">λ</a> <a id="8196" class="Keyword">where</a> <a id="8202" class="Symbol">(</a><a id="8203" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="8207" href="Haskell.Prim.Enum.html#8207" class="Bound">n</a><a id="8208" class="Symbol">)</a> <a id="8210" class="Symbol">→</a> <a id="8212" href="Agda.Builtin.Char.html#477" class="Primitive">primNatToChar</a> <a id="8226" href="Haskell.Prim.Enum.html#8207" class="Bound">n</a><a id="8227" class="Symbol">;</a> <a id="8229" class="CatchallClause Symbol">_</a> <a id="8231" class="Symbol">→</a> <a id="8233" class="String">&#39;_&#39;</a>
+
+  <a id="8240" class="Comment">-- Missing:</a>
+  <a id="8254" class="Comment">--  Enum Double  (can&#39;t go via Integer)</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Eq.html b/lib/Haskell.Prim.Eq.html
new file mode 100644
index 00000000..bb73795e
--- /dev/null
+++ b/lib/Haskell.Prim.Eq.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Eq</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Eq.html" class="Module">Haskell.Prim.Eq</a> <a id="25" class="Keyword">where</a>
+
+<a id="32" class="Keyword">open</a> <a id="37" class="Keyword">import</a> <a id="44" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="57" class="Keyword">open</a> <a id="62" class="Keyword">import</a> <a id="69" href="Haskell.Prim.Bool.html" class="Module">Haskell.Prim.Bool</a>
+<a id="87" class="Keyword">open</a> <a id="92" class="Keyword">import</a> <a id="99" href="Haskell.Prim.Char.html" class="Module">Haskell.Prim.Char</a>
+<a id="117" class="Keyword">open</a> <a id="122" class="Keyword">import</a> <a id="129" href="Haskell.Prim.Integer.html" class="Module">Haskell.Prim.Integer</a>
+<a id="150" class="Keyword">open</a> <a id="155" class="Keyword">import</a> <a id="162" href="Haskell.Prim.Int.html" class="Module">Haskell.Prim.Int</a>
+<a id="179" class="Keyword">open</a> <a id="184" class="Keyword">import</a> <a id="191" href="Haskell.Prim.Word.html" class="Module">Haskell.Prim.Word</a>
+<a id="209" class="Keyword">open</a> <a id="214" class="Keyword">import</a> <a id="221" href="Haskell.Prim.Double.html" class="Module">Haskell.Prim.Double</a>
+<a id="241" class="Keyword">open</a> <a id="246" class="Keyword">import</a> <a id="253" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a>
+<a id="272" class="Keyword">open</a> <a id="277" class="Keyword">import</a> <a id="284" href="Haskell.Prim.Maybe.html" class="Module">Haskell.Prim.Maybe</a>
+<a id="303" class="Keyword">open</a> <a id="308" class="Keyword">import</a> <a id="315" href="Haskell.Prim.Either.html" class="Module">Haskell.Prim.Either</a>
+
+<a id="336" class="Comment">--------------------------------------------------</a>
+<a id="387" class="Comment">-- Eq</a>
+
+<a id="394" class="Keyword">record</a> <a id="Eq"></a><a id="401" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="404" class="Symbol">(</a><a id="405" href="Haskell.Prim.Eq.html#405" class="Bound">a</a> <a id="407" class="Symbol">:</a> <a id="409" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="412" class="Symbol">)</a> <a id="414" class="Symbol">:</a> <a id="416" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="420" class="Keyword">where</a>
+  <a id="428" class="Keyword">infix</a> <a id="434" class="Number">4</a> <a id="436" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="441" href="Haskell.Prim.Eq.html#481" class="Function Operator">_/=_</a>
+  <a id="448" class="Keyword">field</a>
+    <a id="Eq._==_"></a><a id="458" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="463" class="Symbol">:</a> <a id="465" href="Haskell.Prim.Eq.html#405" class="Bound">a</a> <a id="467" class="Symbol">→</a> <a id="469" href="Haskell.Prim.Eq.html#405" class="Bound">a</a> <a id="471" class="Symbol">→</a> <a id="473" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+
+  <a id="Eq._/=_"></a><a id="481" href="Haskell.Prim.Eq.html#481" class="Function Operator">_/=_</a> <a id="486" class="Symbol">:</a> <a id="488" href="Haskell.Prim.Eq.html#405" class="Bound">a</a> <a id="490" class="Symbol">→</a> <a id="492" href="Haskell.Prim.Eq.html#405" class="Bound">a</a> <a id="494" class="Symbol">→</a> <a id="496" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="503" href="Haskell.Prim.Eq.html#503" class="Bound">x</a> <a id="505" href="Haskell.Prim.Eq.html#481" class="Function Operator">/=</a> <a id="508" href="Haskell.Prim.Eq.html#508" class="Bound">y</a> <a id="510" class="Symbol">=</a> <a id="512" href="Haskell.Prim.Bool.html#273" class="Function">not</a> <a id="516" class="Symbol">(</a><a id="517" href="Haskell.Prim.Eq.html#503" class="Bound">x</a> <a id="519" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="522" href="Haskell.Prim.Eq.html#508" class="Bound">y</a><a id="523" class="Symbol">)</a>
+
+<a id="526" class="Keyword">open</a> <a id="531" href="Haskell.Prim.Eq.html#401" class="Module">Eq</a> <a id="534" class="Symbol">⦃...⦄</a> <a id="540" class="Keyword">public</a>
+
+<a id="548" class="Symbol">{-#</a> <a id="552" class="Keyword">COMPILE</a> <a id="560" class="Keyword">AGDA2HS</a> <a id="568" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="571" class="Pragma">existing-class</a> <a id="586" class="Symbol">#-}</a>
+
+<a id="591" class="Keyword">instance</a>
+  <a id="iEqNat"></a><a id="602" href="Haskell.Prim.Eq.html#602" class="Function">iEqNat</a> <a id="609" class="Symbol">:</a> <a id="611" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="614" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="620" href="Haskell.Prim.Eq.html#602" class="Function">iEqNat</a> <a id="627" class="Symbol">.</a><a id="628" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="633" class="Symbol">=</a> <a id="635" href="Agda.Builtin.Nat.html#631" class="Primitive">eqNat</a>
+
+  <a id="iEqInteger"></a><a id="644" href="Haskell.Prim.Eq.html#644" class="Function">iEqInteger</a> <a id="655" class="Symbol">:</a> <a id="657" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="660" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+  <a id="670" href="Haskell.Prim.Eq.html#644" class="Function">iEqInteger</a> <a id="681" class="Symbol">.</a><a id="682" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="687" class="Symbol">=</a> <a id="689" href="Haskell.Prim.Integer.html#1758" class="Function">eqInteger</a>
+
+  <a id="iEqInt"></a><a id="702" href="Haskell.Prim.Eq.html#702" class="Function">iEqInt</a> <a id="709" class="Symbol">:</a> <a id="711" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="714" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+  <a id="720" href="Haskell.Prim.Eq.html#702" class="Function">iEqInt</a> <a id="727" class="Symbol">.</a><a id="728" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="733" class="Symbol">=</a> <a id="735" href="Haskell.Prim.Int.html#1155" class="Function">eqInt</a>
+
+  <a id="iEqWord"></a><a id="744" href="Haskell.Prim.Eq.html#744" class="Function">iEqWord</a> <a id="752" class="Symbol">:</a> <a id="754" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="757" href="Agda.Builtin.Word.html#208" class="Postulate">Word</a>
+  <a id="764" href="Haskell.Prim.Eq.html#744" class="Function">iEqWord</a> <a id="772" class="Symbol">.</a><a id="773" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="778" class="Symbol">=</a> <a id="780" href="Haskell.Prim.Word.html#782" class="Function">eqWord</a>
+
+  <a id="iEqDouble"></a><a id="790" href="Haskell.Prim.Eq.html#790" class="Function">iEqDouble</a> <a id="800" class="Symbol">:</a> <a id="802" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="805" href="Agda.Builtin.Float.html#353" class="Postulate">Double</a>
+  <a id="814" href="Haskell.Prim.Eq.html#790" class="Function">iEqDouble</a> <a id="824" class="Symbol">.</a><a id="825" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="830" class="Symbol">=</a> <a id="832" href="Agda.Builtin.Float.html#473" class="Primitive">primFloatEquality</a>
+
+  <a id="iEqBool"></a><a id="853" href="Haskell.Prim.Eq.html#853" class="Function">iEqBool</a> <a id="861" class="Symbol">:</a> <a id="863" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="866" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="873" href="Haskell.Prim.Eq.html#853" class="Function">iEqBool</a> <a id="881" class="Symbol">.</a><a id="882" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="887" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a> <a id="893" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a> <a id="899" class="Symbol">=</a> <a id="901" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+  <a id="908" href="Haskell.Prim.Eq.html#853" class="Function">iEqBool</a> <a id="916" class="Symbol">.</a><a id="917" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="922" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>  <a id="928" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>  <a id="934" class="Symbol">=</a> <a id="936" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+  <a id="943" href="Haskell.Prim.Eq.html#853" class="CatchallClause Function">iEqBool</a><a id="950" class="CatchallClause"> </a><a id="951" class="CatchallClause Symbol">.</a><a id="952" href="Haskell.Prim.Eq.html#458" class="CatchallClause Field Operator">_==_</a><a id="956" class="CatchallClause"> </a><a id="957" class="CatchallClause Symbol">_</a><a id="958" class="CatchallClause">     </a><a id="963" class="CatchallClause Symbol">_</a>     <a id="969" class="Symbol">=</a> <a id="971" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a>
+
+  <a id="iEqChar"></a><a id="980" href="Haskell.Prim.Eq.html#980" class="Function">iEqChar</a> <a id="988" class="Symbol">:</a> <a id="990" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="993" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a>
+  <a id="1000" href="Haskell.Prim.Eq.html#980" class="Function">iEqChar</a> <a id="1008" class="Symbol">.</a><a id="1009" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="1014" class="Symbol">=</a> <a id="1016" href="Haskell.Prim.Char.html#126" class="Function">eqChar</a>
+
+  <a id="iEqUnit"></a><a id="1026" href="Haskell.Prim.Eq.html#1026" class="Function">iEqUnit</a> <a id="1034" class="Symbol">:</a> <a id="1036" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1039" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="1043" href="Haskell.Prim.Eq.html#1026" class="Function">iEqUnit</a> <a id="1051" class="Symbol">.</a><a id="1052" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="1057" class="Symbol">_</a> <a id="1059" class="Symbol">_</a> <a id="1061" class="Symbol">=</a> <a id="1063" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+
+  <a id="iEqTuple₂"></a><a id="1071" href="Haskell.Prim.Eq.html#1071" class="Function">iEqTuple₂</a> <a id="1081" class="Symbol">:</a> <a id="1083" class="Symbol">⦃</a> <a id="1085" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1088" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1090" class="Symbol">⦄</a> <a id="1092" class="Symbol">→</a> <a id="1094" class="Symbol">⦃</a> <a id="1096" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1099" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1101" class="Symbol">⦄</a> <a id="1103" class="Symbol">→</a> <a id="1105" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1108" class="Symbol">(</a><a id="1109" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1111" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="1113" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1114" class="Symbol">)</a>
+  <a id="1118" href="Haskell.Prim.Eq.html#1071" class="Function">iEqTuple₂</a> <a id="1128" class="Symbol">.</a><a id="1129" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="1134" class="Symbol">(</a><a id="1135" href="Haskell.Prim.Eq.html#1135" class="Bound">x₁</a> <a id="1138" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="1140" href="Haskell.Prim.Eq.html#1140" class="Bound">y₁</a><a id="1142" class="Symbol">)</a> <a id="1144" class="Symbol">(</a><a id="1145" href="Haskell.Prim.Eq.html#1145" class="Bound">x₂</a> <a id="1148" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="1150" href="Haskell.Prim.Eq.html#1150" class="Bound">y₂</a><a id="1152" class="Symbol">)</a> <a id="1154" class="Symbol">=</a> <a id="1156" href="Haskell.Prim.Eq.html#1135" class="Bound">x₁</a> <a id="1159" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1162" href="Haskell.Prim.Eq.html#1145" class="Bound">x₂</a> <a id="1165" href="Haskell.Prim.Bool.html#138" class="Function Operator">&amp;&amp;</a> <a id="1168" href="Haskell.Prim.Eq.html#1140" class="Bound">y₁</a> <a id="1171" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1174" href="Haskell.Prim.Eq.html#1150" class="Bound">y₂</a>
+
+  <a id="iEqTuple₃"></a><a id="1180" href="Haskell.Prim.Eq.html#1180" class="Function">iEqTuple₃</a> <a id="1190" class="Symbol">:</a> <a id="1192" class="Symbol">⦃</a> <a id="1194" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1197" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1199" class="Symbol">⦄</a> <a id="1201" class="Symbol">→</a> <a id="1203" class="Symbol">⦃</a> <a id="1205" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1208" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1210" class="Symbol">⦄</a> <a id="1212" class="Symbol">→</a> <a id="1214" class="Symbol">⦃</a> <a id="1216" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1219" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="1221" class="Symbol">⦄</a> <a id="1223" class="Symbol">→</a> <a id="1225" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1228" class="Symbol">(</a><a id="1229" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1231" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="1233" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1235" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="1237" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="1238" class="Symbol">)</a>
+  <a id="1242" href="Haskell.Prim.Eq.html#1180" class="Function">iEqTuple₃</a> <a id="1252" class="Symbol">.</a><a id="1253" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="1258" class="Symbol">(</a><a id="1259" href="Haskell.Prim.Eq.html#1259" class="Bound">x₁</a> <a id="1262" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="1264" href="Haskell.Prim.Eq.html#1264" class="Bound">y₁</a> <a id="1267" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="1269" href="Haskell.Prim.Eq.html#1269" class="Bound">z₁</a><a id="1271" class="Symbol">)</a> <a id="1273" class="Symbol">(</a><a id="1274" href="Haskell.Prim.Eq.html#1274" class="Bound">x₂</a> <a id="1277" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="1279" href="Haskell.Prim.Eq.html#1279" class="Bound">y₂</a> <a id="1282" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="1284" href="Haskell.Prim.Eq.html#1284" class="Bound">z₂</a><a id="1286" class="Symbol">)</a> <a id="1288" class="Symbol">=</a> <a id="1290" href="Haskell.Prim.Eq.html#1259" class="Bound">x₁</a> <a id="1293" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1296" href="Haskell.Prim.Eq.html#1274" class="Bound">x₂</a> <a id="1299" href="Haskell.Prim.Bool.html#138" class="Function Operator">&amp;&amp;</a> <a id="1302" href="Haskell.Prim.Eq.html#1264" class="Bound">y₁</a> <a id="1305" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1308" href="Haskell.Prim.Eq.html#1279" class="Bound">y₂</a> <a id="1311" href="Haskell.Prim.Bool.html#138" class="Function Operator">&amp;&amp;</a> <a id="1314" href="Haskell.Prim.Eq.html#1269" class="Bound">z₁</a> <a id="1317" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1320" href="Haskell.Prim.Eq.html#1284" class="Bound">z₂</a>
+
+  <a id="iEqList"></a><a id="1326" href="Haskell.Prim.Eq.html#1326" class="Function">iEqList</a> <a id="1334" class="Symbol">:</a> <a id="1336" class="Symbol">⦃</a> <a id="1338" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1341" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1343" class="Symbol">⦄</a> <a id="1345" class="Symbol">→</a> <a id="1347" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1350" class="Symbol">(</a><a id="1351" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1356" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="1357" class="Symbol">)</a>
+  <a id="1361" href="Haskell.Prim.Eq.html#1326" class="Function">iEqList</a> <a id="1369" class="Symbol">{</a><a id="1370" href="Haskell.Prim.Eq.html#1370" class="Bound">a</a><a id="1371" class="Symbol">}</a> <a id="1373" class="Symbol">.</a><a id="1374" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="1379" class="Symbol">=</a> <a id="1381" href="Haskell.Prim.Eq.html#1404" class="Function">eqList</a>
+    <a id="1392" class="Keyword">where</a>
+      <a id="1404" href="Haskell.Prim.Eq.html#1404" class="Function">eqList</a> <a id="1411" class="Symbol">:</a> <a id="1413" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1418" href="Haskell.Prim.Eq.html#1370" class="Bound">a</a> <a id="1420" class="Symbol">→</a> <a id="1422" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1427" href="Haskell.Prim.Eq.html#1370" class="Bound">a</a> <a id="1429" class="Symbol">→</a> <a id="1431" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+      <a id="1442" href="Haskell.Prim.Eq.html#1404" class="Function">eqList</a> <a id="1449" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="1452" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="1455" class="Symbol">=</a> <a id="1457" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+      <a id="1468" href="Haskell.Prim.Eq.html#1404" class="Function">eqList</a> <a id="1475" class="Symbol">(</a><a id="1476" href="Haskell.Prim.Eq.html#1476" class="Bound">x</a> <a id="1478" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1480" href="Haskell.Prim.Eq.html#1480" class="Bound">xs</a><a id="1482" class="Symbol">)</a> <a id="1484" class="Symbol">(</a><a id="1485" href="Haskell.Prim.Eq.html#1485" class="Bound">y</a> <a id="1487" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1489" href="Haskell.Prim.Eq.html#1489" class="Bound">ys</a><a id="1491" class="Symbol">)</a> <a id="1493" class="Symbol">=</a> <a id="1495" href="Haskell.Prim.Eq.html#1476" class="Bound">x</a> <a id="1497" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1500" href="Haskell.Prim.Eq.html#1485" class="Bound">y</a> <a id="1502" href="Haskell.Prim.Bool.html#138" class="Function Operator">&amp;&amp;</a> <a id="1505" href="Haskell.Prim.Eq.html#1404" class="Function">eqList</a> <a id="1512" href="Haskell.Prim.Eq.html#1480" class="Bound">xs</a> <a id="1515" href="Haskell.Prim.Eq.html#1489" class="Bound">ys</a>
+      <a id="1524" href="Haskell.Prim.Eq.html#1404" class="CatchallClause Function">eqList</a><a id="1530" class="CatchallClause"> </a><a id="1531" class="CatchallClause Symbol">_</a><a id="1532" class="CatchallClause"> </a><a id="1533" class="CatchallClause Symbol">_</a> <a id="1535" class="Symbol">=</a> <a id="1537" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a>
+
+
+  <a id="iEqMaybe"></a><a id="1547" href="Haskell.Prim.Eq.html#1547" class="Function">iEqMaybe</a> <a id="1556" class="Symbol">:</a> <a id="1558" class="Symbol">⦃</a> <a id="1560" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1563" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1565" class="Symbol">⦄</a> <a id="1567" class="Symbol">→</a> <a id="1569" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1572" class="Symbol">(</a><a id="1573" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="1579" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="1580" class="Symbol">)</a>
+  <a id="1584" href="Haskell.Prim.Eq.html#1547" class="Function">iEqMaybe</a> <a id="1593" class="Symbol">.</a><a id="1594" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="1599" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="1608" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="1617" class="Symbol">=</a> <a id="1619" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+  <a id="1626" href="Haskell.Prim.Eq.html#1547" class="Function">iEqMaybe</a> <a id="1635" class="Symbol">.</a><a id="1636" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="1641" class="Symbol">(</a><a id="1642" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="1647" href="Haskell.Prim.Eq.html#1647" class="Bound">x</a><a id="1648" class="Symbol">)</a> <a id="1650" class="Symbol">(</a><a id="1651" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="1656" href="Haskell.Prim.Eq.html#1656" class="Bound">y</a><a id="1657" class="Symbol">)</a> <a id="1659" class="Symbol">=</a> <a id="1661" href="Haskell.Prim.Eq.html#1647" class="Bound">x</a> <a id="1663" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1666" href="Haskell.Prim.Eq.html#1656" class="Bound">y</a>
+  <a id="1670" href="Haskell.Prim.Eq.html#1547" class="CatchallClause Function">iEqMaybe</a><a id="1678" class="CatchallClause"> </a><a id="1679" class="CatchallClause Symbol">.</a><a id="1680" href="Haskell.Prim.Eq.html#458" class="CatchallClause Field Operator">_==_</a><a id="1684" class="CatchallClause"> </a><a id="1685" class="CatchallClause Symbol">_</a><a id="1686" class="CatchallClause">        </a><a id="1694" class="CatchallClause Symbol">_</a>        <a id="1703" class="Symbol">=</a> <a id="1705" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a>
+
+  <a id="iEqEither"></a><a id="1714" href="Haskell.Prim.Eq.html#1714" class="Function">iEqEither</a> <a id="1724" class="Symbol">:</a> <a id="1726" class="Symbol">⦃</a> <a id="1728" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1731" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1733" class="Symbol">⦄</a> <a id="1735" class="Symbol">→</a> <a id="1737" class="Symbol">⦃</a> <a id="1739" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1742" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1744" class="Symbol">⦄</a> <a id="1746" class="Symbol">→</a> <a id="1748" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1751" class="Symbol">(</a><a id="1752" href="Haskell.Prim.Either.html#159" class="Datatype">Either</a> <a id="1759" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1761" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1762" class="Symbol">)</a>
+  <a id="1766" href="Haskell.Prim.Eq.html#1714" class="Function">iEqEither</a> <a id="1776" class="Symbol">.</a><a id="1777" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="1782" class="Symbol">(</a><a id="1783" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a>  <a id="1789" href="Haskell.Prim.Eq.html#1789" class="Bound">x</a><a id="1790" class="Symbol">)</a> <a id="1792" class="Symbol">(</a><a id="1793" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a>  <a id="1799" href="Haskell.Prim.Eq.html#1799" class="Bound">y</a><a id="1800" class="Symbol">)</a> <a id="1802" class="Symbol">=</a> <a id="1804" href="Haskell.Prim.Eq.html#1789" class="Bound">x</a> <a id="1806" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1809" href="Haskell.Prim.Eq.html#1799" class="Bound">y</a>
+  <a id="1813" href="Haskell.Prim.Eq.html#1714" class="Function">iEqEither</a> <a id="1823" class="Symbol">.</a><a id="1824" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="1829" class="Symbol">(</a><a id="1830" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="1836" href="Haskell.Prim.Eq.html#1836" class="Bound">x</a><a id="1837" class="Symbol">)</a> <a id="1839" class="Symbol">(</a><a id="1840" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="1846" href="Haskell.Prim.Eq.html#1846" class="Bound">y</a><a id="1847" class="Symbol">)</a> <a id="1849" class="Symbol">=</a> <a id="1851" href="Haskell.Prim.Eq.html#1836" class="Bound">x</a> <a id="1853" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1856" href="Haskell.Prim.Eq.html#1846" class="Bound">y</a>
+  <a id="1860" href="Haskell.Prim.Eq.html#1714" class="CatchallClause Function">iEqEither</a><a id="1869" class="CatchallClause"> </a><a id="1870" class="CatchallClause Symbol">.</a><a id="1871" href="Haskell.Prim.Eq.html#458" class="CatchallClause Field Operator">_==_</a><a id="1875" class="CatchallClause"> </a><a id="1876" class="CatchallClause Symbol">_</a><a id="1877" class="CatchallClause">        </a><a id="1885" class="CatchallClause Symbol">_</a>          <a id="1896" class="Symbol">=</a> <a id="1898" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Foldable.html b/lib/Haskell.Prim.Foldable.html
new file mode 100644
index 00000000..c1fa9c6b
--- /dev/null
+++ b/lib/Haskell.Prim.Foldable.html
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Foldable</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Foldable.html" class="Module">Haskell.Prim.Foldable</a> <a id="31" class="Keyword">where</a>
+
+<a id="38" class="Keyword">open</a> <a id="43" class="Keyword">import</a> <a id="50" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="63" class="Keyword">open</a> <a id="68" class="Keyword">import</a> <a id="75" href="Haskell.Prim.Num.html" class="Module">Haskell.Prim.Num</a> <a id="92" class="Keyword">hiding</a> <a id="99" class="Symbol">(</a><a id="100" href="Haskell.Prim.Num.html#714" class="Field">abs</a><a id="103" class="Symbol">)</a>
+<a id="105" class="Keyword">open</a> <a id="110" class="Keyword">import</a> <a id="117" href="Haskell.Prim.Eq.html" class="Module">Haskell.Prim.Eq</a>
+<a id="133" class="Keyword">open</a> <a id="138" class="Keyword">import</a> <a id="145" href="Haskell.Prim.List.html" class="Module">Haskell.Prim.List</a>
+<a id="163" class="Keyword">open</a> <a id="168" class="Keyword">import</a> <a id="175" href="Haskell.Prim.Int.html" class="Module">Haskell.Prim.Int</a>
+<a id="192" class="Keyword">open</a> <a id="197" class="Keyword">import</a> <a id="204" href="Haskell.Prim.Bool.html" class="Module">Haskell.Prim.Bool</a>
+<a id="222" class="Keyword">open</a> <a id="227" class="Keyword">import</a> <a id="234" href="Haskell.Prim.Maybe.html" class="Module">Haskell.Prim.Maybe</a>
+<a id="253" class="Keyword">open</a> <a id="258" class="Keyword">import</a> <a id="265" href="Haskell.Prim.Either.html" class="Module">Haskell.Prim.Either</a>
+<a id="285" class="Keyword">open</a> <a id="290" class="Keyword">import</a> <a id="297" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a>
+<a id="316" class="Keyword">open</a> <a id="321" class="Keyword">import</a> <a id="328" href="Haskell.Prim.Monoid.html" class="Module">Haskell.Prim.Monoid</a>
+
+<a id="349" class="Comment">--------------------------------------------------</a>
+<a id="400" class="Comment">-- Foldable</a>
+
+<a id="413" class="Comment">-- ** base</a>
+<a id="424" class="Keyword">record</a> <a id="Foldable"></a><a id="431" href="Haskell.Prim.Foldable.html#431" class="Record">Foldable</a> <a id="440" class="Symbol">(</a><a id="441" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="443" class="Symbol">:</a> <a id="445" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="449" class="Symbol">→</a> <a id="451" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="454" class="Symbol">)</a> <a id="456" class="Symbol">:</a> <a id="458" href="Agda.Primitive.html#388" class="Primitive">Set₁</a> <a id="463" class="Keyword">where</a>
+  <a id="471" class="Keyword">field</a>
+    <a id="Foldable.foldMap"></a><a id="481" href="Haskell.Prim.Foldable.html#481" class="Field">foldMap</a> <a id="489" class="Symbol">:</a> <a id="491" class="Symbol">⦃</a> <a id="493" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="500" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="502" class="Symbol">⦄</a> <a id="504" class="Symbol">→</a> <a id="506" class="Symbol">(</a><a id="507" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="509" class="Symbol">→</a> <a id="511" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="512" class="Symbol">)</a> <a id="514" class="Symbol">→</a> <a id="516" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="518" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="520" class="Symbol">→</a> <a id="522" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+    <a id="Foldable.foldr"></a><a id="528" href="Haskell.Prim.Foldable.html#528" class="Field">foldr</a> <a id="534" class="Symbol">:</a> <a id="536" class="Symbol">(</a><a id="537" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="539" class="Symbol">→</a> <a id="541" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="543" class="Symbol">→</a> <a id="545" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="546" class="Symbol">)</a> <a id="548" class="Symbol">→</a> <a id="550" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="552" class="Symbol">→</a> <a id="554" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="556" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="558" class="Symbol">→</a> <a id="560" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+    <a id="Foldable.foldl"></a><a id="566" href="Haskell.Prim.Foldable.html#566" class="Field">foldl</a> <a id="572" class="Symbol">:</a> <a id="574" class="Symbol">(</a><a id="575" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="577" class="Symbol">→</a> <a id="579" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="581" class="Symbol">→</a> <a id="583" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="584" class="Symbol">)</a> <a id="586" class="Symbol">→</a> <a id="588" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="590" class="Symbol">→</a> <a id="592" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="594" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="596" class="Symbol">→</a> <a id="598" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+    <a id="Foldable.any"></a><a id="604" href="Haskell.Prim.Foldable.html#604" class="Field">any</a> <a id="608" class="Symbol">:</a> <a id="610" class="Symbol">(</a><a id="611" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="613" class="Symbol">→</a> <a id="615" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="619" class="Symbol">)</a> <a id="621" class="Symbol">→</a> <a id="623" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="625" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="627" class="Symbol">→</a> <a id="629" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+    <a id="Foldable.all"></a><a id="638" href="Haskell.Prim.Foldable.html#638" class="Field">all</a> <a id="642" class="Symbol">:</a> <a id="644" class="Symbol">(</a><a id="645" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="647" class="Symbol">→</a> <a id="649" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="653" class="Symbol">)</a> <a id="655" class="Symbol">→</a> <a id="657" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="659" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="661" class="Symbol">→</a> <a id="663" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+    <a id="Foldable.and"></a><a id="672" href="Haskell.Prim.Foldable.html#672" class="Field">and</a> <a id="676" class="Symbol">:</a> <a id="678" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="680" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="685" class="Symbol">→</a> <a id="687" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+    <a id="Foldable.null"></a><a id="696" href="Haskell.Prim.Foldable.html#696" class="Field">null</a> <a id="701" class="Symbol">:</a> <a id="703" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="705" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="707" class="Symbol">→</a> <a id="709" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+    <a id="Foldable.or"></a><a id="718" href="Haskell.Prim.Foldable.html#718" class="Field">or</a> <a id="721" class="Symbol">:</a> <a id="723" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="725" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="730" class="Symbol">→</a> <a id="732" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+    <a id="Foldable.concat"></a><a id="741" href="Haskell.Prim.Foldable.html#741" class="Field">concat</a> <a id="748" class="Symbol">:</a> <a id="750" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="752" class="Symbol">(</a><a id="753" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="758" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="759" class="Symbol">)</a> <a id="761" class="Symbol">→</a> <a id="763" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="768" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+    <a id="Foldable.concatMap"></a><a id="774" href="Haskell.Prim.Foldable.html#774" class="Field">concatMap</a> <a id="784" class="Symbol">:</a> <a id="786" class="Symbol">(</a><a id="787" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="789" class="Symbol">→</a> <a id="791" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="796" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="797" class="Symbol">)</a> <a id="799" class="Symbol">→</a> <a id="801" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="803" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="805" class="Symbol">→</a> <a id="807" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="812" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+    <a id="Foldable.elem"></a><a id="818" href="Haskell.Prim.Foldable.html#818" class="Field">elem</a> <a id="823" class="Symbol">:</a> <a id="825" class="Symbol">⦃</a> <a id="827" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="830" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="832" class="Symbol">⦄</a> <a id="834" class="Symbol">→</a> <a id="836" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="838" class="Symbol">→</a> <a id="840" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="842" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="844" class="Symbol">→</a> <a id="846" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+    <a id="Foldable.notElem"></a><a id="855" href="Haskell.Prim.Foldable.html#855" class="Field">notElem</a> <a id="863" class="Symbol">:</a> <a id="865" class="Symbol">⦃</a> <a id="867" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="870" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="872" class="Symbol">⦄</a> <a id="874" class="Symbol">→</a> <a id="876" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="878" class="Symbol">→</a> <a id="880" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="882" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="884" class="Symbol">→</a> <a id="886" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+    <a id="Foldable.toList"></a><a id="895" href="Haskell.Prim.Foldable.html#895" class="Field">toList</a> <a id="902" class="Symbol">:</a> <a id="904" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="906" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="908" class="Symbol">→</a> <a id="910" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="915" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+    <a id="Foldable.sum"></a><a id="921" href="Haskell.Prim.Foldable.html#921" class="Field">sum</a> <a id="925" class="Symbol">:</a> <a id="927" class="Symbol">⦃</a> <a id="929" href="Haskell.Prim.Foldable.html#929" class="Bound">iNum</a> <a id="934" class="Symbol">:</a> <a id="936" href="Haskell.Prim.Num.html#371" class="Record">Num</a> <a id="940" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="942" class="Symbol">⦄</a> <a id="944" class="Symbol">→</a> <a id="946" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="948" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="950" class="Symbol">→</a> <a id="952" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+    <a id="Foldable.product"></a><a id="958" href="Haskell.Prim.Foldable.html#958" class="Field">product</a> <a id="966" class="Symbol">:</a> <a id="968" class="Symbol">⦃</a> <a id="970" href="Haskell.Prim.Foldable.html#970" class="Bound">iNum</a> <a id="975" class="Symbol">:</a> <a id="977" href="Haskell.Prim.Num.html#371" class="Record">Num</a> <a id="981" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="983" class="Symbol">⦄</a> <a id="985" class="Symbol">→</a> <a id="987" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="989" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="991" class="Symbol">→</a> <a id="993" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+    <a id="Foldable.length"></a><a id="999" href="Haskell.Prim.Foldable.html#999" class="Field">length</a> <a id="1006" class="Symbol">:</a> <a id="1008" href="Haskell.Prim.Foldable.html#441" class="Bound">t</a> <a id="1010" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1012" class="Symbol">→</a> <a id="1014" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+<a id="1018" class="Comment">-- ** defaults</a>
+<a id="1033" class="Keyword">record</a> <a id="DefaultFoldable"></a><a id="1040" href="Haskell.Prim.Foldable.html#1040" class="Record">DefaultFoldable</a> <a id="1056" class="Symbol">(</a><a id="1057" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1059" class="Symbol">:</a> <a id="1061" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1065" class="Symbol">→</a> <a id="1067" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="1070" class="Symbol">)</a> <a id="1072" class="Symbol">:</a> <a id="1074" href="Agda.Primitive.html#388" class="Primitive">Set₁</a> <a id="1079" class="Keyword">where</a>
+  <a id="1087" class="Keyword">module</a> <a id="DefaultFoldable.M"></a><a id="1094" href="Haskell.Prim.Foldable.html#1094" class="Module">M</a> <a id="1096" class="Symbol">=</a> <a id="1098" href="Haskell.Prim.Foldable.html#431" class="Module">Foldable</a> <a id="1107" class="Symbol">{</a><a id="1108" class="Argument">t</a> <a id="1110" class="Symbol">=</a> <a id="1112" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a><a id="1113" class="Symbol">}</a>
+  <a id="1117" class="Keyword">field</a> <a id="DefaultFoldable.foldMap"></a><a id="1123" href="Haskell.Prim.Foldable.html#1123" class="Field">foldMap</a> <a id="1131" class="Symbol">:</a> <a id="1133" class="Symbol">⦃</a> <a id="1135" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="1142" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1144" class="Symbol">⦄</a> <a id="1146" class="Symbol">→</a> <a id="1148" class="Symbol">(</a><a id="1149" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1151" class="Symbol">→</a> <a id="1153" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1154" class="Symbol">)</a> <a id="1156" class="Symbol">→</a> <a id="1158" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1160" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1162" class="Symbol">→</a> <a id="1164" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+
+  <a id="DefaultFoldable.foldr"></a><a id="1169" href="Haskell.Prim.Foldable.html#1169" class="Function">foldr</a> <a id="1175" class="Symbol">:</a> <a id="1177" class="Symbol">(</a><a id="1178" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1180" class="Symbol">→</a> <a id="1182" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1184" class="Symbol">→</a> <a id="1186" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1187" class="Symbol">)</a> <a id="1189" class="Symbol">→</a> <a id="1191" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1193" class="Symbol">→</a> <a id="1195" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1197" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1199" class="Symbol">→</a> <a id="1201" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+  <a id="1205" href="Haskell.Prim.Foldable.html#1169" class="Function">foldr</a> <a id="1211" href="Haskell.Prim.Foldable.html#1211" class="Bound">f</a> <a id="1213" href="Haskell.Prim.Foldable.html#1213" class="Bound">z</a> <a id="1215" href="Haskell.Prim.Foldable.html#1215" class="Bound">t</a> <a id="1217" class="Symbol">=</a> <a id="1219" href="Haskell.Prim.Foldable.html#1123" class="Field">foldMap</a> <a id="1227" class="Symbol">⦃</a> <a id="1229" href="Haskell.Prim.Monoid.html#2674" class="Function">MonoidEndo</a> <a id="1240" class="Symbol">⦄</a> <a id="1242" href="Haskell.Prim.Foldable.html#1211" class="Bound">f</a> <a id="1244" href="Haskell.Prim.Foldable.html#1215" class="Bound">t</a> <a id="1246" href="Haskell.Prim.Foldable.html#1213" class="Bound">z</a>
+
+  <a id="DefaultFoldable.foldl"></a><a id="1251" href="Haskell.Prim.Foldable.html#1251" class="Function">foldl</a> <a id="1257" class="Symbol">:</a> <a id="1259" class="Symbol">(</a><a id="1260" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1262" class="Symbol">→</a> <a id="1264" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1266" class="Symbol">→</a> <a id="1268" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1269" class="Symbol">)</a> <a id="1271" class="Symbol">→</a> <a id="1273" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1275" class="Symbol">→</a> <a id="1277" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1279" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1281" class="Symbol">→</a> <a id="1283" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+  <a id="1287" href="Haskell.Prim.Foldable.html#1251" class="Function">foldl</a> <a id="1293" href="Haskell.Prim.Foldable.html#1293" class="Bound">f</a> <a id="1295" href="Haskell.Prim.Foldable.html#1295" class="Bound">z</a> <a id="1297" href="Haskell.Prim.Foldable.html#1297" class="Bound">t</a> <a id="1299" class="Symbol">=</a> <a id="1301" href="Haskell.Prim.Foldable.html#1123" class="Field">foldMap</a> <a id="1309" class="Symbol">⦃</a> <a id="1311" href="Haskell.Prim.Monoid.html#2769" class="Function">MonoidEndoᵒᵖ</a> <a id="1324" class="Symbol">⦄</a> <a id="1326" class="Symbol">(</a><a id="1327" href="Haskell.Prim.html#1383" class="Function">flip</a> <a id="1332" href="Haskell.Prim.Foldable.html#1293" class="Bound">f</a><a id="1333" class="Symbol">)</a> <a id="1335" href="Haskell.Prim.Foldable.html#1297" class="Bound">t</a> <a id="1337" href="Haskell.Prim.Foldable.html#1295" class="Bound">z</a>
+
+  <a id="DefaultFoldable.any"></a><a id="1342" href="Haskell.Prim.Foldable.html#1342" class="Function">any</a> <a id="1346" class="Symbol">:</a> <a id="1348" class="Symbol">(</a><a id="1349" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1351" class="Symbol">→</a> <a id="1353" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="1357" class="Symbol">)</a> <a id="1359" class="Symbol">→</a> <a id="1361" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1363" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1365" class="Symbol">→</a> <a id="1367" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="1374" href="Haskell.Prim.Foldable.html#1342" class="Function">any</a> <a id="1378" class="Symbol">=</a> <a id="1380" href="Haskell.Prim.Foldable.html#1123" class="Field">foldMap</a> <a id="1388" class="Symbol">⦃</a> <a id="1390" href="Haskell.Prim.Monoid.html#2978" class="Function">MonoidDisj</a> <a id="1401" class="Symbol">⦄</a>
+
+  <a id="DefaultFoldable.all"></a><a id="1406" href="Haskell.Prim.Foldable.html#1406" class="Function">all</a> <a id="1410" class="Symbol">:</a> <a id="1412" class="Symbol">(</a><a id="1413" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1415" class="Symbol">→</a> <a id="1417" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="1421" class="Symbol">)</a> <a id="1423" class="Symbol">→</a> <a id="1425" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1427" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1429" class="Symbol">→</a> <a id="1431" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="1438" href="Haskell.Prim.Foldable.html#1406" class="Function">all</a> <a id="1442" class="Symbol">=</a> <a id="1444" href="Haskell.Prim.Foldable.html#1123" class="Field">foldMap</a> <a id="1452" class="Symbol">⦃</a> <a id="1454" href="Haskell.Prim.Monoid.html#2878" class="Function">MonoidConj</a> <a id="1465" class="Symbol">⦄</a>
+
+  <a id="DefaultFoldable.and"></a><a id="1470" href="Haskell.Prim.Foldable.html#1470" class="Function">and</a> <a id="1474" class="Symbol">:</a> <a id="1476" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1478" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="1483" class="Symbol">→</a> <a id="1485" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="1492" href="Haskell.Prim.Foldable.html#1470" class="Function">and</a> <a id="1496" class="Symbol">=</a> <a id="1498" href="Haskell.Prim.Foldable.html#1406" class="Function">all</a> <a id="1502" href="Haskell.Prim.html#1296" class="Function">id</a>
+
+  <a id="DefaultFoldable.or"></a><a id="1508" href="Haskell.Prim.Foldable.html#1508" class="Function">or</a> <a id="1511" class="Symbol">:</a> <a id="1513" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1515" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="1520" class="Symbol">→</a> <a id="1522" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="1529" href="Haskell.Prim.Foldable.html#1508" class="Function">or</a> <a id="1532" class="Symbol">=</a> <a id="1534" href="Haskell.Prim.Foldable.html#1342" class="Function">any</a> <a id="1538" href="Haskell.Prim.html#1296" class="Function">id</a>
+
+  <a id="DefaultFoldable.null"></a><a id="1544" href="Haskell.Prim.Foldable.html#1544" class="Function">null</a> <a id="1549" class="Symbol">:</a> <a id="1551" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1553" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1555" class="Symbol">→</a> <a id="1557" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="1564" href="Haskell.Prim.Foldable.html#1544" class="Function">null</a> <a id="1569" class="Symbol">=</a> <a id="1571" href="Haskell.Prim.Foldable.html#1406" class="Function">all</a> <a id="1575" class="Symbol">(</a><a id="1576" href="Haskell.Prim.html#1434" class="Function">const</a> <a id="1582" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a><a id="1587" class="Symbol">)</a>
+
+  <a id="DefaultFoldable.concat"></a><a id="1592" href="Haskell.Prim.Foldable.html#1592" class="Function">concat</a> <a id="1599" class="Symbol">:</a> <a id="1601" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1603" class="Symbol">(</a><a id="1604" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1609" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="1610" class="Symbol">)</a> <a id="1612" class="Symbol">→</a> <a id="1614" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1619" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+  <a id="1623" href="Haskell.Prim.Foldable.html#1592" class="Function">concat</a> <a id="1630" class="Symbol">=</a> <a id="1632" href="Haskell.Prim.Foldable.html#1123" class="Field">foldMap</a> <a id="1640" href="Haskell.Prim.html#1296" class="Function">id</a>
+
+  <a id="DefaultFoldable.concatMap"></a><a id="1646" href="Haskell.Prim.Foldable.html#1646" class="Function">concatMap</a> <a id="1656" class="Symbol">:</a> <a id="1658" class="Symbol">(</a><a id="1659" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1661" class="Symbol">→</a> <a id="1663" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1668" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1669" class="Symbol">)</a> <a id="1671" class="Symbol">→</a> <a id="1673" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1675" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1677" class="Symbol">→</a> <a id="1679" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1684" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+  <a id="1688" href="Haskell.Prim.Foldable.html#1646" class="Function">concatMap</a> <a id="1698" class="Symbol">=</a> <a id="1700" href="Haskell.Prim.Foldable.html#1123" class="Field">foldMap</a>
+
+  <a id="DefaultFoldable.elem"></a><a id="1711" href="Haskell.Prim.Foldable.html#1711" class="Function">elem</a> <a id="1716" class="Symbol">:</a> <a id="1718" class="Symbol">⦃</a> <a id="1720" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1723" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1725" class="Symbol">⦄</a> <a id="1727" class="Symbol">→</a> <a id="1729" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1731" class="Symbol">→</a> <a id="1733" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1735" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1737" class="Symbol">→</a> <a id="1739" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="1746" href="Haskell.Prim.Foldable.html#1711" class="Function">elem</a> <a id="1751" href="Haskell.Prim.Foldable.html#1751" class="Bound">x</a> <a id="1753" class="Symbol">=</a> <a id="1755" href="Haskell.Prim.Foldable.html#1123" class="Field">foldMap</a> <a id="1763" class="Symbol">⦃</a> <a id="1765" href="Haskell.Prim.Monoid.html#2978" class="Function">MonoidDisj</a> <a id="1776" class="Symbol">⦄</a> <a id="1778" class="Symbol">(</a><a id="1779" href="Haskell.Prim.Foldable.html#1751" class="Bound">x</a> <a id="1781" href="Haskell.Prim.Eq.html#458" class="Field Operator">==_</a><a id="1784" class="Symbol">)</a>
+
+  <a id="DefaultFoldable.notElem"></a><a id="1789" href="Haskell.Prim.Foldable.html#1789" class="Function">notElem</a> <a id="1797" class="Symbol">:</a> <a id="1799" class="Symbol">⦃</a> <a id="1801" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1804" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1806" class="Symbol">⦄</a> <a id="1808" class="Symbol">→</a> <a id="1810" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1812" class="Symbol">→</a> <a id="1814" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1816" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1818" class="Symbol">→</a> <a id="1820" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="1827" href="Haskell.Prim.Foldable.html#1789" class="Function">notElem</a> <a id="1835" href="Haskell.Prim.Foldable.html#1835" class="Bound">x</a> <a id="1837" href="Haskell.Prim.Foldable.html#1837" class="Bound">t</a> <a id="1839" class="Symbol">=</a> <a id="1841" href="Haskell.Prim.Bool.html#273" class="Function">not</a> <a id="1845" class="Symbol">(</a><a id="1846" href="Haskell.Prim.Foldable.html#1711" class="Function">elem</a> <a id="1851" href="Haskell.Prim.Foldable.html#1835" class="Bound">x</a> <a id="1853" href="Haskell.Prim.Foldable.html#1837" class="Bound">t</a><a id="1854" class="Symbol">)</a>
+
+  <a id="DefaultFoldable.toList"></a><a id="1859" href="Haskell.Prim.Foldable.html#1859" class="Function">toList</a> <a id="1866" class="Symbol">:</a> <a id="1868" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1870" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1872" class="Symbol">→</a> <a id="1874" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1879" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+  <a id="1883" href="Haskell.Prim.Foldable.html#1859" class="Function">toList</a> <a id="1890" class="Symbol">=</a> <a id="1892" href="Haskell.Prim.Foldable.html#1169" class="Function">foldr</a> <a id="1898" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">_∷_</a> <a id="1902" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+
+  <a id="DefaultFoldable.sum"></a><a id="1908" href="Haskell.Prim.Foldable.html#1908" class="Function">sum</a> <a id="1912" class="Symbol">:</a> <a id="1914" class="Symbol">⦃</a> <a id="1916" href="Haskell.Prim.Foldable.html#1916" class="Bound">iNum</a> <a id="1921" class="Symbol">:</a> <a id="1923" href="Haskell.Prim.Num.html#371" class="Record">Num</a> <a id="1927" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1929" class="Symbol">⦄</a> <a id="1931" class="Symbol">→</a> <a id="1933" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="1935" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1937" class="Symbol">→</a> <a id="1939" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+  <a id="1943" href="Haskell.Prim.Foldable.html#1908" class="Function">sum</a> <a id="1947" class="Symbol">=</a> <a id="1949" href="Haskell.Prim.Foldable.html#1123" class="Field">foldMap</a> <a id="1957" class="Symbol">⦃</a> <a id="1959" href="Haskell.Prim.Num.html#3733" class="Function">MonoidSum</a> <a id="1969" class="Symbol">⦄</a> <a id="1971" href="Haskell.Prim.html#1296" class="Function">id</a>
+
+  <a id="DefaultFoldable.product"></a><a id="1977" href="Haskell.Prim.Foldable.html#1977" class="Function">product</a> <a id="1985" class="Symbol">:</a> <a id="1987" class="Symbol">⦃</a> <a id="1989" href="Haskell.Prim.Foldable.html#1989" class="Bound">iNum</a> <a id="1994" class="Symbol">:</a> <a id="1996" href="Haskell.Prim.Num.html#371" class="Record">Num</a> <a id="2000" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2002" class="Symbol">⦄</a> <a id="2004" class="Symbol">→</a> <a id="2006" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="2008" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2010" class="Symbol">→</a> <a id="2012" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+  <a id="2016" href="Haskell.Prim.Foldable.html#1977" class="Function">product</a> <a id="2024" class="Symbol">=</a> <a id="2026" href="Haskell.Prim.Foldable.html#1123" class="Field">foldMap</a> <a id="2034" class="Symbol">⦃</a> <a id="2036" href="Haskell.Prim.Num.html#3861" class="Function">MonoidProduct</a> <a id="2050" class="Symbol">⦄</a> <a id="2052" href="Haskell.Prim.html#1296" class="Function">id</a>
+
+  <a id="DefaultFoldable.length"></a><a id="2058" href="Haskell.Prim.Foldable.html#2058" class="Function">length</a> <a id="2065" class="Symbol">:</a> <a id="2067" href="Haskell.Prim.Foldable.html#1057" class="Bound">t</a> <a id="2069" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2071" class="Symbol">→</a> <a id="2073" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+  <a id="2079" href="Haskell.Prim.Foldable.html#2058" class="Function">length</a> <a id="2086" class="Symbol">=</a> <a id="2088" href="Haskell.Prim.Foldable.html#1123" class="Field">foldMap</a> <a id="2096" class="Symbol">⦃</a> <a id="2098" href="Haskell.Prim.Num.html#3733" class="Function">MonoidSum</a> <a id="2108" class="Symbol">⦄</a> <a id="2110" class="Symbol">(</a><a id="2111" href="Haskell.Prim.html#1434" class="Function">const</a> <a id="2117" class="Number">1</a><a id="2118" class="Symbol">)</a>
+<a id="2120" class="Comment">-- ** export</a>
+<a id="2133" class="Keyword">open</a> <a id="2138" href="Haskell.Prim.Foldable.html#431" class="Module">Foldable</a> <a id="2147" class="Symbol">⦃...⦄</a> <a id="2153" class="Keyword">public</a>
+<a id="2160" class="Symbol">{-#</a> <a id="2164" class="Keyword">COMPILE</a> <a id="2172" class="Keyword">AGDA2HS</a> <a id="2180" href="Haskell.Prim.Foldable.html#431" class="Record">Foldable</a> <a id="2189" class="Pragma">existing-class</a> <a id="2204" class="Symbol">#-}</a>
+
+<a id="2209" class="Comment">-- ** instances</a>
+<a id="2225" class="Keyword">private</a>
+  <a id="mkFoldable"></a><a id="2235" href="Haskell.Prim.Foldable.html#2235" class="Function">mkFoldable</a> <a id="2246" class="Symbol">:</a> <a id="2248" href="Haskell.Prim.Foldable.html#1040" class="Record">DefaultFoldable</a> <a id="2264" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="2266" class="Symbol">→</a> <a id="2268" href="Haskell.Prim.Foldable.html#431" class="Record">Foldable</a> <a id="2277" href="Haskell.Prim.html#1215" class="Generalizable">t</a>
+  <a id="2281" href="Haskell.Prim.Foldable.html#2235" class="Function">mkFoldable</a> <a id="2292" href="Haskell.Prim.Foldable.html#2292" class="Bound">x</a> <a id="2294" class="Symbol">=</a> <a id="2296" class="Keyword">record</a> <a id="2303" class="Symbol">{</a><a id="2304" href="Haskell.Prim.Foldable.html#2304" class="Module">DefaultFoldable</a> <a id="2320" href="Haskell.Prim.Foldable.html#2292" class="Bound">x</a><a id="2321" class="Symbol">}</a>
+
+  <a id="foldMap=_"></a><a id="2326" href="Haskell.Prim.Foldable.html#2326" class="Function Operator">foldMap=_</a> <a id="2336" class="Symbol">:</a> <a id="2338" class="Symbol">(∀</a> <a id="2341" class="Symbol">{</a><a id="2342" href="Haskell.Prim.Foldable.html#2342" class="Bound">b</a> <a id="2344" href="Haskell.Prim.Foldable.html#2344" class="Bound">a</a><a id="2345" class="Symbol">}</a> <a id="2347" class="Symbol">→</a> <a id="2349" class="Symbol">⦃</a> <a id="2351" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2358" href="Haskell.Prim.Foldable.html#2342" class="Bound">b</a> <a id="2360" class="Symbol">⦄</a> <a id="2362" class="Symbol">→</a> <a id="2364" class="Symbol">(</a><a id="2365" href="Haskell.Prim.Foldable.html#2344" class="Bound">a</a> <a id="2367" class="Symbol">→</a> <a id="2369" href="Haskell.Prim.Foldable.html#2342" class="Bound">b</a><a id="2370" class="Symbol">)</a> <a id="2372" class="Symbol">→</a> <a id="2374" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="2376" href="Haskell.Prim.Foldable.html#2344" class="Bound">a</a> <a id="2378" class="Symbol">→</a> <a id="2380" href="Haskell.Prim.Foldable.html#2342" class="Bound">b</a><a id="2381" class="Symbol">)</a> <a id="2383" class="Symbol">→</a> <a id="2385" href="Haskell.Prim.Foldable.html#431" class="Record">Foldable</a> <a id="2394" href="Haskell.Prim.html#1215" class="Generalizable">t</a>
+  <a id="2398" href="Haskell.Prim.Foldable.html#2326" class="Function Operator">foldMap=</a> <a id="2407" href="Haskell.Prim.Foldable.html#2407" class="Bound">x</a> <a id="2409" class="Symbol">=</a> <a id="2411" class="Keyword">record</a> <a id="2418" class="Symbol">{</a><a id="2419" href="Haskell.Prim.Foldable.html#2419" class="Module">DefaultFoldable</a> <a id="2435" class="Symbol">(</a><a id="2436" class="Keyword">record</a> <a id="2443" class="Symbol">{</a><a id="2444" href="Haskell.Prim.Foldable.html#1123" class="Field">foldMap</a> <a id="2452" class="Symbol">=</a> <a id="2454" href="Haskell.Prim.Foldable.html#2407" class="Bound">x</a><a id="2455" class="Symbol">})}</a>
+<a id="2459" class="Keyword">instance</a>
+  <a id="iFoldableList"></a><a id="2470" href="Haskell.Prim.Foldable.html#2470" class="Function">iFoldableList</a> <a id="2484" class="Symbol">:</a> <a id="2486" href="Haskell.Prim.Foldable.html#431" class="Record">Foldable</a> <a id="2495" href="Agda.Builtin.List.html#147" class="Datatype">List</a>
+  <a id="2502" href="Haskell.Prim.Foldable.html#2470" class="Function">iFoldableList</a> <a id="2516" class="Symbol">=</a> <a id="2518" href="Haskell.Prim.Foldable.html#2326" class="Function Operator">foldMap=</a> <a id="2527" href="Haskell.Prim.Foldable.html#2555" class="Function">foldMapList</a>
+    <a id="2543" class="Keyword">where</a>
+      <a id="2555" href="Haskell.Prim.Foldable.html#2555" class="Function">foldMapList</a> <a id="2567" class="Symbol">:</a> <a id="2569" class="Symbol">⦃</a> <a id="2571" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2578" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2580" class="Symbol">⦄</a> <a id="2582" class="Symbol">→</a> <a id="2584" class="Symbol">(</a><a id="2585" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2587" class="Symbol">→</a> <a id="2589" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="2590" class="Symbol">)</a> <a id="2592" class="Symbol">→</a> <a id="2594" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2599" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2601" class="Symbol">→</a> <a id="2603" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+      <a id="2611" href="Haskell.Prim.Foldable.html#2555" class="Function">foldMapList</a> <a id="2623" href="Haskell.Prim.Foldable.html#2623" class="Bound">f</a> <a id="2625" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="2634" class="Symbol">=</a> <a id="2636" href="Haskell.Prim.Monoid.html#1466" class="Field">mempty</a>
+      <a id="2649" href="Haskell.Prim.Foldable.html#2555" class="Function">foldMapList</a> <a id="2661" href="Haskell.Prim.Foldable.html#2661" class="Bound">f</a> <a id="2663" class="Symbol">(</a><a id="2664" href="Haskell.Prim.Foldable.html#2664" class="Bound">x</a> <a id="2666" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2668" href="Haskell.Prim.Foldable.html#2668" class="Bound">xs</a><a id="2670" class="Symbol">)</a> <a id="2672" class="Symbol">=</a> <a id="2674" href="Haskell.Prim.Foldable.html#2661" class="Bound">f</a> <a id="2676" href="Haskell.Prim.Foldable.html#2664" class="Bound">x</a> <a id="2678" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="2681" href="Haskell.Prim.Foldable.html#2555" class="Function">foldMapList</a> <a id="2693" href="Haskell.Prim.Foldable.html#2661" class="Bound">f</a> <a id="2695" href="Haskell.Prim.Foldable.html#2668" class="Bound">xs</a>
+
+  <a id="iFoldableMaybe"></a><a id="2701" href="Haskell.Prim.Foldable.html#2701" class="Function">iFoldableMaybe</a> <a id="2716" class="Symbol">:</a> <a id="2718" href="Haskell.Prim.Foldable.html#431" class="Record">Foldable</a> <a id="2727" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a>
+  <a id="2735" href="Haskell.Prim.Foldable.html#2701" class="Function">iFoldableMaybe</a> <a id="2750" class="Symbol">=</a> <a id="2752" href="Haskell.Prim.Foldable.html#2326" class="Function Operator">foldMap=</a> <a id="2761" class="Symbol">λ</a> <a id="2763" class="Keyword">where</a>
+    <a id="2773" class="Symbol">_</a> <a id="2775" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="2784" class="Symbol">→</a> <a id="2786" href="Haskell.Prim.Monoid.html#1466" class="Field">mempty</a>
+    <a id="2797" href="Haskell.Prim.Foldable.html#2797" class="Bound">f</a> <a id="2799" class="Symbol">(</a><a id="2800" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="2805" href="Haskell.Prim.Foldable.html#2805" class="Bound">x</a><a id="2806" class="Symbol">)</a> <a id="2808" class="Symbol">→</a> <a id="2810" href="Haskell.Prim.Foldable.html#2797" class="Bound">f</a> <a id="2812" href="Haskell.Prim.Foldable.html#2805" class="Bound">x</a>
+
+  <a id="iFoldableEither"></a><a id="2817" href="Haskell.Prim.Foldable.html#2817" class="Function">iFoldableEither</a> <a id="2833" class="Symbol">:</a> <a id="2835" href="Haskell.Prim.Foldable.html#431" class="Record">Foldable</a> <a id="2844" class="Symbol">(</a><a id="2845" href="Haskell.Prim.Either.html#159" class="Datatype">Either</a> <a id="2852" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="2853" class="Symbol">)</a>
+  <a id="2857" href="Haskell.Prim.Foldable.html#2817" class="Function">iFoldableEither</a> <a id="2873" class="Symbol">=</a> <a id="2875" href="Haskell.Prim.Foldable.html#2326" class="Function Operator">foldMap=</a> <a id="2884" class="Symbol">λ</a> <a id="2886" class="Keyword">where</a>
+    <a id="2896" class="Symbol">_</a> <a id="2898" class="Symbol">(</a><a id="2899" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a> <a id="2904" class="Symbol">_)</a>  <a id="2908" class="Symbol">→</a> <a id="2910" href="Haskell.Prim.Monoid.html#1466" class="Field">mempty</a>
+    <a id="2921" href="Haskell.Prim.Foldable.html#2921" class="Bound">f</a> <a id="2923" class="Symbol">(</a><a id="2924" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="2930" href="Haskell.Prim.Foldable.html#2930" class="Bound">x</a><a id="2931" class="Symbol">)</a> <a id="2933" class="Symbol">→</a> <a id="2935" href="Haskell.Prim.Foldable.html#2921" class="Bound">f</a> <a id="2937" href="Haskell.Prim.Foldable.html#2930" class="Bound">x</a>
+
+  <a id="iFoldablePair"></a><a id="2942" href="Haskell.Prim.Foldable.html#2942" class="Function">iFoldablePair</a> <a id="2956" class="Symbol">:</a> <a id="2958" href="Haskell.Prim.Foldable.html#431" class="Record">Foldable</a> <a id="2967" class="Symbol">(</a><a id="2968" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2970" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×_</a><a id="2972" class="Symbol">)</a>
+  <a id="2976" href="Haskell.Prim.Foldable.html#2942" class="Function">iFoldablePair</a> <a id="2990" class="Symbol">=</a> <a id="2992" href="Haskell.Prim.Foldable.html#2326" class="Function Operator">foldMap=</a> <a id="3001" class="Symbol">λ</a> <a id="3003" href="Haskell.Prim.Foldable.html#3003" class="Bound">f</a> <a id="3005" class="Symbol">(_</a> <a id="3008" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="3010" href="Haskell.Prim.Foldable.html#3010" class="Bound">x</a><a id="3011" class="Symbol">)</a> <a id="3013" class="Symbol">→</a> <a id="3015" href="Haskell.Prim.Foldable.html#3003" class="Bound">f</a> <a id="3017" href="Haskell.Prim.Foldable.html#3010" class="Bound">x</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Functor.html b/lib/Haskell.Prim.Functor.html
new file mode 100644
index 00000000..e9b93875
--- /dev/null
+++ b/lib/Haskell.Prim.Functor.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Functor</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Functor.html" class="Module">Haskell.Prim.Functor</a> <a id="30" class="Keyword">where</a>
+
+<a id="37" class="Keyword">open</a> <a id="42" class="Keyword">import</a> <a id="49" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="62" class="Keyword">open</a> <a id="67" class="Keyword">import</a> <a id="74" href="Haskell.Prim.Either.html" class="Module">Haskell.Prim.Either</a>
+<a id="94" class="Keyword">open</a> <a id="99" class="Keyword">import</a> <a id="106" href="Haskell.Prim.IO.html" class="Module">Haskell.Prim.IO</a>
+<a id="122" class="Keyword">open</a> <a id="127" class="Keyword">import</a> <a id="134" href="Haskell.Prim.List.html" class="Module">Haskell.Prim.List</a>
+<a id="152" class="Keyword">open</a> <a id="157" class="Keyword">import</a> <a id="164" href="Haskell.Prim.Maybe.html" class="Module">Haskell.Prim.Maybe</a>
+<a id="183" class="Keyword">open</a> <a id="188" class="Keyword">import</a> <a id="195" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a>
+
+<a id="215" class="Comment">--------------------------------------------------</a>
+<a id="266" class="Comment">-- Functor</a>
+
+<a id="278" class="Comment">-- ** base</a>
+<a id="289" class="Keyword">record</a> <a id="Functor"></a><a id="296" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="304" class="Symbol">(</a><a id="305" href="Haskell.Prim.Functor.html#305" class="Bound">f</a> <a id="307" class="Symbol">:</a> <a id="309" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="313" class="Symbol">→</a> <a id="315" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="318" class="Symbol">)</a> <a id="320" class="Symbol">:</a> <a id="322" href="Agda.Primitive.html#388" class="Primitive">Set₁</a> <a id="327" class="Keyword">where</a>
+  <a id="335" class="Keyword">infixl</a> <a id="342" class="Number">1</a> _&lt;&amp;&gt;_
+  <a id="352" class="Keyword">infixl</a> <a id="359" class="Number">4</a> _&lt;$&gt;_ _&lt;$_ _$&gt;_
+  <a id="379" class="Keyword">field</a>
+    <a id="Functor.fmap"></a><a id="389" href="Haskell.Prim.Functor.html#389" class="Field">fmap</a> <a id="394" class="Symbol">:</a> <a id="396" class="Symbol">(</a><a id="397" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="399" class="Symbol">→</a> <a id="401" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="402" class="Symbol">)</a> <a id="404" class="Symbol">→</a> <a id="406" href="Haskell.Prim.Functor.html#305" class="Bound">f</a> <a id="408" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="410" class="Symbol">→</a> <a id="412" href="Haskell.Prim.Functor.html#305" class="Bound">f</a> <a id="414" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+    <a id="Functor._&lt;$&gt;_"></a><a id="420" href="Haskell.Prim.Functor.html#420" class="Field Operator">_&lt;$&gt;_</a> <a id="426" class="Symbol">:</a> <a id="428" class="Symbol">(</a><a id="429" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="431" class="Symbol">→</a> <a id="433" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="434" class="Symbol">)</a> <a id="436" class="Symbol">→</a> <a id="438" href="Haskell.Prim.Functor.html#305" class="Bound">f</a> <a id="440" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="442" class="Symbol">→</a> <a id="444" href="Haskell.Prim.Functor.html#305" class="Bound">f</a> <a id="446" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+    <a id="Functor._&lt;&amp;&gt;_"></a><a id="452" href="Haskell.Prim.Functor.html#452" class="Field Operator">_&lt;&amp;&gt;_</a> <a id="458" class="Symbol">:</a> <a id="460" href="Haskell.Prim.Functor.html#305" class="Bound">f</a> <a id="462" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="464" class="Symbol">→</a> <a id="466" class="Symbol">(</a><a id="467" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="469" class="Symbol">→</a> <a id="471" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="472" class="Symbol">)</a> <a id="474" class="Symbol">→</a> <a id="476" href="Haskell.Prim.Functor.html#305" class="Bound">f</a> <a id="478" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+    <a id="Functor._&lt;$_"></a><a id="484" href="Haskell.Prim.Functor.html#484" class="Field Operator">_&lt;$_</a> <a id="489" class="Symbol">:</a> <a id="491" class="Symbol">(@</a><a id="493" class="Symbol">0</a> <a id="495" class="Symbol">{{</a> <a id="498" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="500" class="Symbol">}}</a> <a id="503" class="Symbol">→</a> <a id="505" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="506" class="Symbol">)</a> <a id="508" class="Symbol">→</a> <a id="510" href="Haskell.Prim.Functor.html#305" class="Bound">f</a> <a id="512" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="514" class="Symbol">→</a> <a id="516" href="Haskell.Prim.Functor.html#305" class="Bound">f</a> <a id="518" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+    <a id="Functor._$&gt;_"></a><a id="524" href="Haskell.Prim.Functor.html#524" class="Field Operator">_$&gt;_</a> <a id="529" class="Symbol">:</a> <a id="531" href="Haskell.Prim.Functor.html#305" class="Bound">f</a> <a id="533" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="535" class="Symbol">→</a> <a id="537" class="Symbol">(@</a><a id="539" class="Symbol">0</a> <a id="541" class="Symbol">{{</a> <a id="544" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="546" class="Symbol">}}</a> <a id="549" class="Symbol">→</a> <a id="551" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="552" class="Symbol">)</a> <a id="554" class="Symbol">→</a> <a id="556" href="Haskell.Prim.Functor.html#305" class="Bound">f</a> <a id="558" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+    <a id="Functor.void"></a><a id="564" href="Haskell.Prim.Functor.html#564" class="Field">void</a> <a id="569" class="Symbol">:</a> <a id="571" href="Haskell.Prim.Functor.html#305" class="Bound">f</a> <a id="573" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="575" class="Symbol">→</a> <a id="577" href="Haskell.Prim.Functor.html#305" class="Bound">f</a> <a id="579" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+<a id="581" class="Comment">-- ** defaults</a>
+<a id="596" class="Keyword">record</a> <a id="DefaultFunctor"></a><a id="603" href="Haskell.Prim.Functor.html#603" class="Record">DefaultFunctor</a> <a id="618" class="Symbol">(</a><a id="619" href="Haskell.Prim.Functor.html#619" class="Bound">f</a> <a id="621" class="Symbol">:</a> <a id="623" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="627" class="Symbol">→</a> <a id="629" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="632" class="Symbol">)</a> <a id="634" class="Symbol">:</a> <a id="636" href="Agda.Primitive.html#388" class="Primitive">Set₁</a> <a id="641" class="Keyword">where</a>
+  <a id="649" class="Keyword">field</a> <a id="DefaultFunctor.fmap"></a><a id="655" href="Haskell.Prim.Functor.html#655" class="Field">fmap</a> <a id="660" class="Symbol">:</a> <a id="662" class="Symbol">(</a><a id="663" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="665" class="Symbol">→</a> <a id="667" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="668" class="Symbol">)</a> <a id="670" class="Symbol">→</a> <a id="672" href="Haskell.Prim.Functor.html#619" class="Bound">f</a> <a id="674" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="676" class="Symbol">→</a> <a id="678" href="Haskell.Prim.Functor.html#619" class="Bound">f</a> <a id="680" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+
+  <a id="685" class="Keyword">infixl</a> <a id="692" class="Number">1</a> <a id="694" href="Haskell.Prim.Functor.html#776" class="Function Operator">_&lt;&amp;&gt;_</a>
+  <a id="702" class="Keyword">infixl</a> <a id="709" class="Number">4</a> <a id="711" href="Haskell.Prim.Functor.html#730" class="Function Operator">_&lt;$&gt;_</a> <a id="717" href="Haskell.Prim.Functor.html#828" class="Function Operator">_&lt;$_</a> <a id="722" href="Haskell.Prim.Functor.html#901" class="Function Operator">_$&gt;_</a>
+
+  <a id="DefaultFunctor._&lt;$&gt;_"></a><a id="730" href="Haskell.Prim.Functor.html#730" class="Function Operator">_&lt;$&gt;_</a> <a id="736" class="Symbol">:</a> <a id="738" class="Symbol">(</a><a id="739" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="741" class="Symbol">→</a> <a id="743" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="744" class="Symbol">)</a> <a id="746" class="Symbol">→</a> <a id="748" href="Haskell.Prim.Functor.html#619" class="Bound">f</a> <a id="750" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="752" class="Symbol">→</a> <a id="754" href="Haskell.Prim.Functor.html#619" class="Bound">f</a> <a id="756" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+  <a id="760" href="Haskell.Prim.Functor.html#730" class="Function Operator">_&lt;$&gt;_</a> <a id="766" class="Symbol">=</a> <a id="768" href="Haskell.Prim.Functor.html#655" class="Field">fmap</a>
+
+  <a id="DefaultFunctor._&lt;&amp;&gt;_"></a><a id="776" href="Haskell.Prim.Functor.html#776" class="Function Operator">_&lt;&amp;&gt;_</a> <a id="782" class="Symbol">:</a> <a id="784" href="Haskell.Prim.Functor.html#619" class="Bound">f</a> <a id="786" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="788" class="Symbol">→</a> <a id="790" class="Symbol">(</a><a id="791" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="793" class="Symbol">→</a> <a id="795" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="796" class="Symbol">)</a> <a id="798" class="Symbol">→</a> <a id="800" href="Haskell.Prim.Functor.html#619" class="Bound">f</a> <a id="802" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+  <a id="806" href="Haskell.Prim.Functor.html#806" class="Bound">m</a> <a id="808" href="Haskell.Prim.Functor.html#776" class="Function Operator">&lt;&amp;&gt;</a> <a id="812" href="Haskell.Prim.Functor.html#812" class="Bound">f</a> <a id="814" class="Symbol">=</a> <a id="816" href="Haskell.Prim.Functor.html#655" class="Field">fmap</a> <a id="821" href="Haskell.Prim.Functor.html#812" class="Bound">f</a> <a id="823" href="Haskell.Prim.Functor.html#806" class="Bound">m</a>
+
+  <a id="DefaultFunctor._&lt;$_"></a><a id="828" href="Haskell.Prim.Functor.html#828" class="Function Operator">_&lt;$_</a> <a id="833" class="Symbol">:</a> <a id="835" class="Symbol">(@</a><a id="837" class="Symbol">0</a> <a id="839" class="Symbol">{{</a> <a id="842" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="844" class="Symbol">}}</a> <a id="847" class="Symbol">→</a> <a id="849" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="850" class="Symbol">)</a> <a id="852" class="Symbol">→</a> <a id="854" href="Haskell.Prim.Functor.html#619" class="Bound">f</a> <a id="856" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="858" class="Symbol">→</a> <a id="860" href="Haskell.Prim.Functor.html#619" class="Bound">f</a> <a id="862" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+  <a id="866" href="Haskell.Prim.Functor.html#866" class="Bound">x</a> <a id="868" href="Haskell.Prim.Functor.html#828" class="Function Operator">&lt;$</a> <a id="871" href="Haskell.Prim.Functor.html#871" class="Bound">m</a> <a id="873" class="Symbol">=</a> <a id="875" href="Haskell.Prim.Functor.html#655" class="Field">fmap</a> <a id="880" class="Symbol">(λ</a> <a id="883" href="Haskell.Prim.Functor.html#883" class="Bound">b</a> <a id="885" class="Symbol">→</a> <a id="887" href="Haskell.Prim.Functor.html#866" class="Bound">x</a> <a id="889" class="Symbol">{{</a><a id="891" href="Haskell.Prim.Functor.html#883" class="Bound">b</a><a id="892" class="Symbol">}})</a> <a id="896" href="Haskell.Prim.Functor.html#871" class="Bound">m</a>
+
+  <a id="DefaultFunctor._$&gt;_"></a><a id="901" href="Haskell.Prim.Functor.html#901" class="Function Operator">_$&gt;_</a> <a id="906" class="Symbol">:</a> <a id="908" href="Haskell.Prim.Functor.html#619" class="Bound">f</a> <a id="910" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="912" class="Symbol">→</a> <a id="914" class="Symbol">(@</a><a id="916" class="Symbol">0</a> <a id="918" class="Symbol">{{</a> <a id="921" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="923" class="Symbol">}}</a> <a id="926" class="Symbol">→</a> <a id="928" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="929" class="Symbol">)</a> <a id="931" class="Symbol">→</a> <a id="933" href="Haskell.Prim.Functor.html#619" class="Bound">f</a> <a id="935" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+  <a id="939" href="Haskell.Prim.Functor.html#939" class="Bound">m</a> <a id="941" href="Haskell.Prim.Functor.html#901" class="Function Operator">$&gt;</a> <a id="944" href="Haskell.Prim.Functor.html#944" class="Bound">x</a> <a id="946" class="Symbol">=</a> <a id="948" href="Haskell.Prim.Functor.html#944" class="Bound">x</a> <a id="950" href="Haskell.Prim.Functor.html#828" class="Function Operator">&lt;$</a> <a id="953" href="Haskell.Prim.Functor.html#939" class="Bound">m</a>
+
+  <a id="DefaultFunctor.void"></a><a id="958" href="Haskell.Prim.Functor.html#958" class="Function">void</a> <a id="963" class="Symbol">:</a> <a id="965" href="Haskell.Prim.Functor.html#619" class="Bound">f</a> <a id="967" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="969" class="Symbol">→</a> <a id="971" href="Haskell.Prim.Functor.html#619" class="Bound">f</a> <a id="973" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="977" href="Haskell.Prim.Functor.html#958" class="Function">void</a> <a id="982" class="Symbol">=</a> <a id="984" href="Agda.Builtin.Unit.html#212" class="InductiveConstructor">tt</a> <a id="987" href="Haskell.Prim.Functor.html#828" class="Function Operator">&lt;$_</a>
+<a id="991" class="Comment">-- ** export</a>
+<a id="1004" class="Keyword">open</a> <a id="1009" href="Haskell.Prim.Functor.html#296" class="Module">Functor</a> <a id="1017" class="Symbol">⦃...⦄</a> <a id="1023" class="Keyword">public</a>
+<a id="1030" class="Symbol">{-#</a> <a id="1034" class="Keyword">COMPILE</a> <a id="1042" class="Keyword">AGDA2HS</a> <a id="1050" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="1058" class="Pragma">existing-class</a> <a id="1073" class="Symbol">#-}</a>
+<a id="1077" class="Comment">-- ** instances</a>
+<a id="1093" class="Keyword">private</a>
+  <a id="mkFunctor"></a><a id="1103" href="Haskell.Prim.Functor.html#1103" class="Function">mkFunctor</a> <a id="1113" class="Symbol">:</a> <a id="1115" href="Haskell.Prim.Functor.html#603" class="Record">DefaultFunctor</a> <a id="1130" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="1132" class="Symbol">→</a> <a id="1134" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="1142" href="Haskell.Prim.html#1215" class="Generalizable">t</a>
+  <a id="1146" href="Haskell.Prim.Functor.html#1103" class="Function">mkFunctor</a> <a id="1156" href="Haskell.Prim.Functor.html#1156" class="Bound">x</a> <a id="1158" class="Symbol">=</a> <a id="1160" class="Keyword">record</a> <a id="1167" class="Symbol">{</a><a id="1168" href="Haskell.Prim.Functor.html#1168" class="Module">DefaultFunctor</a> <a id="1183" href="Haskell.Prim.Functor.html#1156" class="Bound">x</a><a id="1184" class="Symbol">}</a>
+
+  <a id="fmap=_"></a><a id="1189" href="Haskell.Prim.Functor.html#1189" class="Function Operator">fmap=_</a> <a id="1196" class="Symbol">:</a> <a id="1198" class="Symbol">(∀</a> <a id="1201" class="Symbol">{</a><a id="1202" href="Haskell.Prim.Functor.html#1202" class="Bound">a</a> <a id="1204" href="Haskell.Prim.Functor.html#1204" class="Bound">b</a><a id="1205" class="Symbol">}</a> <a id="1207" class="Symbol">→</a> <a id="1209" class="Symbol">(</a><a id="1210" href="Haskell.Prim.Functor.html#1202" class="Bound">a</a> <a id="1212" class="Symbol">→</a> <a id="1214" href="Haskell.Prim.Functor.html#1204" class="Bound">b</a><a id="1215" class="Symbol">)</a> <a id="1217" class="Symbol">→</a> <a id="1219" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="1221" href="Haskell.Prim.Functor.html#1202" class="Bound">a</a> <a id="1223" class="Symbol">→</a> <a id="1225" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="1227" href="Haskell.Prim.Functor.html#1204" class="Bound">b</a><a id="1228" class="Symbol">)</a> <a id="1230" class="Symbol">→</a> <a id="1232" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="1240" href="Haskell.Prim.html#1209" class="Generalizable">f</a>
+  <a id="1244" href="Haskell.Prim.Functor.html#1189" class="Function Operator">fmap=</a> <a id="1250" href="Haskell.Prim.Functor.html#1250" class="Bound">x</a> <a id="1252" class="Symbol">=</a> <a id="1254" class="Keyword">record</a> <a id="1261" class="Symbol">{</a><a id="1262" href="Haskell.Prim.Functor.html#1262" class="Module">DefaultFunctor</a> <a id="1277" class="Symbol">(</a><a id="1278" class="Keyword">record</a> <a id="1285" class="Symbol">{</a><a id="1286" href="Haskell.Prim.Functor.html#655" class="Field">fmap</a> <a id="1291" class="Symbol">=</a> <a id="1293" href="Haskell.Prim.Functor.html#1250" class="Bound">x</a><a id="1294" class="Symbol">})}</a>
+<a id="1298" class="Keyword">instance</a>
+  <a id="iFunctorList"></a><a id="1309" href="Haskell.Prim.Functor.html#1309" class="Function">iFunctorList</a> <a id="1322" class="Symbol">:</a> <a id="1324" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="1332" href="Agda.Builtin.List.html#147" class="Datatype">List</a>
+  <a id="1339" href="Haskell.Prim.Functor.html#1309" class="Function">iFunctorList</a> <a id="1352" class="Symbol">=</a> <a id="1354" href="Haskell.Prim.Functor.html#1189" class="Function Operator">fmap=</a> <a id="1360" href="Haskell.Prim.List.html#211" class="Function">map</a>
+
+  <a id="iFunctorMaybe"></a><a id="1367" href="Haskell.Prim.Functor.html#1367" class="Function">iFunctorMaybe</a> <a id="1381" class="Symbol">:</a> <a id="1383" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="1391" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a>
+  <a id="1399" href="Haskell.Prim.Functor.html#1367" class="Function">iFunctorMaybe</a> <a id="1413" class="Symbol">=</a> <a id="1415" href="Haskell.Prim.Functor.html#1189" class="Function Operator">fmap=</a> <a id="1421" class="Symbol">λ</a> <a id="1423" class="Keyword">where</a>
+    <a id="1433" href="Haskell.Prim.Functor.html#1433" class="Bound">f</a> <a id="1435" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="1444" class="Symbol">→</a> <a id="1446" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>
+    <a id="1458" href="Haskell.Prim.Functor.html#1458" class="Bound">f</a> <a id="1460" class="Symbol">(</a><a id="1461" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="1466" href="Haskell.Prim.Functor.html#1466" class="Bound">x</a><a id="1467" class="Symbol">)</a> <a id="1469" class="Symbol">→</a> <a id="1471" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="1476" class="Symbol">(</a><a id="1477" href="Haskell.Prim.Functor.html#1458" class="Bound">f</a> <a id="1479" href="Haskell.Prim.Functor.html#1466" class="Bound">x</a><a id="1480" class="Symbol">)</a>
+
+  <a id="iFunctorEither"></a><a id="1485" href="Haskell.Prim.Functor.html#1485" class="Function">iFunctorEither</a> <a id="1500" class="Symbol">:</a> <a id="1502" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="1510" class="Symbol">(</a><a id="1511" href="Haskell.Prim.Either.html#159" class="Datatype">Either</a> <a id="1518" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="1519" class="Symbol">)</a>
+  <a id="1523" href="Haskell.Prim.Functor.html#1485" class="Function">iFunctorEither</a> <a id="1538" class="Symbol">=</a> <a id="1540" href="Haskell.Prim.Functor.html#1189" class="Function Operator">fmap=</a> <a id="1546" class="Symbol">λ</a> <a id="1548" class="Keyword">where</a>
+    <a id="1558" href="Haskell.Prim.Functor.html#1558" class="Bound">f</a> <a id="1560" class="Symbol">(</a><a id="1561" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a>  <a id="1567" href="Haskell.Prim.Functor.html#1567" class="Bound">x</a><a id="1568" class="Symbol">)</a> <a id="1570" class="Symbol">→</a> <a id="1572" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a> <a id="1577" href="Haskell.Prim.Functor.html#1567" class="Bound">x</a>
+    <a id="1583" href="Haskell.Prim.Functor.html#1583" class="Bound">f</a> <a id="1585" class="Symbol">(</a><a id="1586" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="1592" href="Haskell.Prim.Functor.html#1592" class="Bound">y</a><a id="1593" class="Symbol">)</a> <a id="1595" class="Symbol">→</a> <a id="1597" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="1603" class="Symbol">(</a><a id="1604" href="Haskell.Prim.Functor.html#1583" class="Bound">f</a> <a id="1606" href="Haskell.Prim.Functor.html#1592" class="Bound">y</a><a id="1607" class="Symbol">)</a>
+
+  <a id="iFunctorFun"></a><a id="1612" href="Haskell.Prim.Functor.html#1612" class="Function">iFunctorFun</a> <a id="1624" class="Symbol">:</a> <a id="1626" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="1634" class="Symbol">(λ</a> <a id="1637" href="Haskell.Prim.Functor.html#1637" class="Bound">b</a> <a id="1639" class="Symbol">→</a> <a id="1641" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1643" class="Symbol">→</a> <a id="1645" href="Haskell.Prim.Functor.html#1637" class="Bound">b</a><a id="1646" class="Symbol">)</a>
+  <a id="1650" href="Haskell.Prim.Functor.html#1612" class="Function">iFunctorFun</a> <a id="1662" class="Symbol">=</a> <a id="1664" href="Haskell.Prim.Functor.html#1189" class="Function Operator">fmap=</a> <a id="1670" href="Haskell.Prim.html#1330" class="Function Operator">_∘_</a>
+
+  <a id="iFunctorTuple₂"></a><a id="1677" href="Haskell.Prim.Functor.html#1677" class="Function">iFunctorTuple₂</a> <a id="1692" class="Symbol">:</a> <a id="1694" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="1702" class="Symbol">(</a><a id="1703" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1705" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×_</a><a id="1707" class="Symbol">)</a>
+  <a id="1711" href="Haskell.Prim.Functor.html#1677" class="Function">iFunctorTuple₂</a> <a id="1726" class="Symbol">=</a> <a id="1728" href="Haskell.Prim.Functor.html#1189" class="Function Operator">fmap=</a> <a id="1734" class="Symbol">λ</a> <a id="1736" href="Haskell.Prim.Functor.html#1736" class="Bound">f</a> <a id="1738" class="Symbol">(</a><a id="1739" href="Haskell.Prim.Functor.html#1739" class="Bound">x</a> <a id="1741" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="1743" href="Haskell.Prim.Functor.html#1743" class="Bound">y</a><a id="1744" class="Symbol">)</a> <a id="1746" class="Symbol">→</a> <a id="1748" href="Haskell.Prim.Functor.html#1739" class="Bound">x</a> <a id="1750" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="1752" href="Haskell.Prim.Functor.html#1736" class="Bound">f</a> <a id="1754" href="Haskell.Prim.Functor.html#1743" class="Bound">y</a>
+
+  <a id="iFunctorTuple₃"></a><a id="1759" href="Haskell.Prim.Functor.html#1759" class="Function">iFunctorTuple₃</a> <a id="1774" class="Symbol">:</a> <a id="1776" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="1784" class="Symbol">(</a><a id="1785" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1787" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="1789" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1791" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×_</a><a id="1793" class="Symbol">)</a>
+  <a id="1797" href="Haskell.Prim.Functor.html#1759" class="Function">iFunctorTuple₃</a> <a id="1812" class="Symbol">=</a> <a id="1814" href="Haskell.Prim.Functor.html#1189" class="Function Operator">fmap=</a> <a id="1820" class="Symbol">λ</a> <a id="1822" class="Keyword">where</a> <a id="1828" href="Haskell.Prim.Functor.html#1828" class="Bound">f</a> <a id="1830" class="Symbol">(</a><a id="1831" href="Haskell.Prim.Functor.html#1831" class="Bound">x</a> <a id="1833" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="1835" href="Haskell.Prim.Functor.html#1835" class="Bound">y</a> <a id="1837" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="1839" href="Haskell.Prim.Functor.html#1839" class="Bound">z</a><a id="1840" class="Symbol">)</a> <a id="1842" class="Symbol">→</a> <a id="1844" href="Haskell.Prim.Functor.html#1831" class="Bound">x</a> <a id="1846" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="1848" href="Haskell.Prim.Functor.html#1835" class="Bound">y</a> <a id="1850" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="1852" href="Haskell.Prim.Functor.html#1828" class="Bound">f</a> <a id="1854" href="Haskell.Prim.Functor.html#1839" class="Bound">z</a>
+
+<a id="1857" class="Keyword">instance</a> <a id="1866" class="Keyword">postulate</a> <a id="iFunctiorIO"></a><a id="1876" href="Haskell.Prim.Functor.html#1876" class="Postulate">iFunctiorIO</a> <a id="1888" class="Symbol">:</a> <a id="1890" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="1898" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.IO.html b/lib/Haskell.Prim.IO.html
new file mode 100644
index 00000000..03f84638
--- /dev/null
+++ b/lib/Haskell.Prim.IO.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.IO</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Keyword">module</a> <a id="8" href="Haskell.Prim.IO.html" class="Module">Haskell.Prim.IO</a> <a id="24" class="Keyword">where</a>
+
+<a id="31" class="Keyword">open</a> <a id="36" class="Keyword">import</a> <a id="43" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="56" class="Keyword">open</a> <a id="61" class="Keyword">import</a> <a id="68" href="Haskell.Prim.Show.html" class="Module">Haskell.Prim.Show</a>
+<a id="86" class="Keyword">open</a> <a id="91" class="Keyword">import</a> <a id="98" href="Haskell.Prim.String.html" class="Module">Haskell.Prim.String</a>
+
+<a id="119" class="Keyword">postulate</a> <a id="IO"></a><a id="129" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a> <a id="132" class="Symbol">:</a> <a id="134" class="Symbol">∀{</a><a id="136" href="Haskell.Prim.IO.html#136" class="Bound">a</a><a id="137" class="Symbol">}</a> <a id="139" class="Symbol">→</a> <a id="141" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="145" href="Haskell.Prim.IO.html#136" class="Bound">a</a> <a id="147" class="Symbol">→</a> <a id="149" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="153" href="Haskell.Prim.IO.html#136" class="Bound">a</a>
+
+<a id="FilePath"></a><a id="156" href="Haskell.Prim.IO.html#156" class="Function">FilePath</a> <a id="165" class="Symbol">=</a> <a id="167" href="Haskell.Prim.String.html#344" class="Function">String</a>
+
+<a id="175" class="Keyword">postulate</a>
+  <a id="187" class="Comment">-- Input functions</a>
+  <a id="interact"></a><a id="208" href="Haskell.Prim.IO.html#208" class="Postulate">interact</a>       <a id="223" class="Symbol">:</a> <a id="225" class="Symbol">(</a><a id="226" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="233" class="Symbol">→</a> <a id="235" href="Haskell.Prim.String.html#344" class="Function">String</a><a id="241" class="Symbol">)</a> <a id="243" class="Symbol">→</a> <a id="245" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a> <a id="248" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="getContents"></a><a id="252" href="Haskell.Prim.IO.html#252" class="Postulate">getContents</a>    <a id="267" class="Symbol">:</a> <a id="269" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a> <a id="272" href="Haskell.Prim.String.html#344" class="Function">String</a>
+  <a id="getLine"></a><a id="281" href="Haskell.Prim.IO.html#281" class="Postulate">getLine</a>        <a id="296" class="Symbol">:</a> <a id="298" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a> <a id="301" href="Haskell.Prim.String.html#344" class="Function">String</a>
+  <a id="getChar"></a><a id="310" href="Haskell.Prim.IO.html#310" class="Postulate">getChar</a>        <a id="325" class="Symbol">:</a> <a id="327" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a> <a id="330" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a>
+
+  <a id="338" class="Comment">-- Output functions</a>
+  <a id="print"></a><a id="360" href="Haskell.Prim.IO.html#360" class="Postulate">print</a>          <a id="375" class="Symbol">:</a> <a id="377" class="Symbol">⦃</a> <a id="379" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="384" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="386" class="Symbol">⦄</a> <a id="388" class="Symbol">→</a> <a id="390" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="392" class="Symbol">→</a> <a id="394" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a> <a id="397" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="putChar"></a><a id="401" href="Haskell.Prim.IO.html#401" class="Postulate">putChar</a>        <a id="416" class="Symbol">:</a> <a id="418" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="423" class="Symbol">→</a> <a id="425" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a> <a id="428" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="putStr"></a><a id="432" href="Haskell.Prim.IO.html#432" class="Postulate">putStr</a>         <a id="447" class="Symbol">:</a> <a id="449" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="456" class="Symbol">→</a> <a id="458" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a> <a id="461" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="putStrLn"></a><a id="465" href="Haskell.Prim.IO.html#465" class="Postulate">putStrLn</a>       <a id="480" class="Symbol">:</a> <a id="482" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="489" class="Symbol">→</a> <a id="491" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a> <a id="494" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+
+  <a id="499" class="Comment">-- Files</a>
+  <a id="readFile"></a><a id="510" href="Haskell.Prim.IO.html#510" class="Postulate">readFile</a>       <a id="525" class="Symbol">:</a> <a id="527" href="Haskell.Prim.IO.html#156" class="Function">FilePath</a> <a id="536" class="Symbol">→</a> <a id="538" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a> <a id="541" href="Haskell.Prim.String.html#344" class="Function">String</a>
+  <a id="writeFile"></a><a id="550" href="Haskell.Prim.IO.html#550" class="Postulate">writeFile</a>      <a id="565" class="Symbol">:</a> <a id="567" href="Haskell.Prim.IO.html#156" class="Function">FilePath</a> <a id="576" class="Symbol">→</a> <a id="578" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="585" class="Symbol">→</a> <a id="587" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a> <a id="590" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="appendFile"></a><a id="594" href="Haskell.Prim.IO.html#594" class="Postulate">appendFile</a>     <a id="609" class="Symbol">:</a> <a id="611" href="Haskell.Prim.IO.html#156" class="Function">FilePath</a> <a id="620" class="Symbol">→</a> <a id="622" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="629" class="Symbol">→</a> <a id="631" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a> <a id="634" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Int.html b/lib/Haskell.Prim.Int.html
new file mode 100644
index 00000000..d34ed86b
--- /dev/null
+++ b/lib/Haskell.Prim.Int.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Int</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--no-auto-inline</a> <a id="30" class="Symbol">#-}</a>
+
+<a id="35" class="Comment">-- Agda doesn&#39;t have an Int type (only Word64). With some work we</a>
+<a id="101" class="Comment">-- can represent signed ints using Word64.</a>
+
+<a id="145" class="Keyword">module</a> <a id="152" href="Haskell.Prim.Int.html" class="Module">Haskell.Prim.Int</a> <a id="169" class="Keyword">where</a>
+
+<a id="176" class="Keyword">open</a> <a id="181" class="Keyword">import</a> <a id="188" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="201" class="Keyword">open</a> <a id="206" class="Keyword">import</a> <a id="213" href="Haskell.Prim.Word.html" class="Module">Haskell.Prim.Word</a>
+<a id="231" class="Keyword">open</a> <a id="236" class="Keyword">import</a> <a id="243" href="Haskell.Prim.Integer.html" class="Module">Haskell.Prim.Integer</a>
+<a id="264" class="Keyword">open</a> <a id="269" class="Keyword">import</a> <a id="276" href="Haskell.Prim.Bool.html" class="Module">Haskell.Prim.Bool</a>
+
+
+<a id="296" class="Comment">--------------------------------------------------</a>
+<a id="347" class="Comment">-- Definition</a>
+
+<a id="362" class="Keyword">data</a> <a id="Int"></a><a id="367" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="371" class="Symbol">:</a> <a id="373" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="377" class="Keyword">where</a>
+  <a id="Int.int64"></a><a id="385" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="391" class="Symbol">:</a> <a id="393" href="Agda.Builtin.Word.html#208" class="Postulate">Word64</a> <a id="400" class="Symbol">→</a> <a id="402" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+
+<a id="intToWord"></a><a id="407" href="Haskell.Prim.Int.html#407" class="Function">intToWord</a> <a id="417" class="Symbol">:</a> <a id="419" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="423" class="Symbol">→</a> <a id="425" href="Agda.Builtin.Word.html#208" class="Postulate">Word64</a>
+<a id="432" href="Haskell.Prim.Int.html#407" class="Function">intToWord</a> <a id="442" class="Symbol">(</a><a id="443" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="449" href="Haskell.Prim.Int.html#449" class="Bound">a</a><a id="450" class="Symbol">)</a> <a id="452" class="Symbol">=</a> <a id="454" href="Haskell.Prim.Int.html#449" class="Bound">a</a>
+
+<a id="unsafeIntToNat"></a><a id="457" href="Haskell.Prim.Int.html#457" class="Function">unsafeIntToNat</a> <a id="472" class="Symbol">:</a> <a id="474" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="478" class="Symbol">→</a> <a id="480" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+<a id="484" href="Haskell.Prim.Int.html#457" class="Function">unsafeIntToNat</a> <a id="499" href="Haskell.Prim.Int.html#499" class="Bound">a</a> <a id="501" class="Symbol">=</a> <a id="503" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="507" class="Symbol">(</a><a id="508" href="Haskell.Prim.Int.html#407" class="Function">intToWord</a> <a id="518" href="Haskell.Prim.Int.html#499" class="Bound">a</a><a id="519" class="Symbol">)</a>
+
+
+<a id="523" class="Comment">--------------------------------------------------</a>
+<a id="574" class="Comment">-- Literals</a>
+
+<a id="587" class="Keyword">private</a>
+  <a id="2⁶⁴"></a><a id="597" href="Haskell.Prim.Int.html#597" class="Function">2⁶⁴</a> <a id="601" class="Symbol">:</a> <a id="603" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="609" href="Haskell.Prim.Int.html#597" class="Function">2⁶⁴</a> <a id="613" class="Symbol">=</a> <a id="615" class="Number">18446744073709551616</a>
+
+  <a id="2⁶³"></a><a id="639" href="Haskell.Prim.Int.html#639" class="Function">2⁶³</a> <a id="643" class="Symbol">:</a> <a id="645" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="651" href="Haskell.Prim.Int.html#639" class="Function">2⁶³</a> <a id="655" class="Symbol">=</a> <a id="657" class="Number">9223372036854775808</a>
+
+  <a id="maxInt"></a><a id="680" href="Haskell.Prim.Int.html#680" class="Function">maxInt</a> <a id="687" class="Symbol">:</a> <a id="689" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="695" href="Haskell.Prim.Int.html#680" class="Function">maxInt</a> <a id="702" class="Symbol">=</a> <a id="704" href="Agda.Builtin.Nat.html#426" class="Primitive">monusNat</a> <a id="713" href="Haskell.Prim.Int.html#639" class="Function">2⁶³</a> <a id="717" class="Number">1</a>
+
+<a id="720" class="Keyword">instance</a>
+  <a id="iNumberInt"></a><a id="731" href="Haskell.Prim.Int.html#731" class="Function">iNumberInt</a> <a id="742" class="Symbol">:</a> <a id="744" href="Agda.Builtin.FromNat.html#196" class="Record">Number</a> <a id="751" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+  <a id="757" href="Haskell.Prim.Int.html#731" class="Function">iNumberInt</a> <a id="768" class="Symbol">.</a><a id="769" href="Agda.Builtin.FromNat.html#252" class="Field">Number.Constraint</a> <a id="787" href="Haskell.Prim.Int.html#787" class="Bound">n</a> <a id="789" class="Symbol">=</a> <a id="791" href="Haskell.Prim.html#2981" class="Datatype">IsTrue</a> <a id="798" class="Symbol">(</a><a id="799" href="Agda.Builtin.Nat.html#757" class="Primitive">ltNat</a> <a id="805" href="Haskell.Prim.Int.html#787" class="Bound">n</a> <a id="807" href="Haskell.Prim.Int.html#639" class="Function">2⁶³</a><a id="810" class="Symbol">)</a>
+  <a id="814" href="Haskell.Prim.Int.html#731" class="Function">iNumberInt</a> <a id="825" class="Symbol">.</a><a id="826" href="Agda.Builtin.FromNat.html#281" class="Field">fromNat</a> <a id="834" href="Haskell.Prim.Int.html#834" class="Bound">n</a> <a id="836" class="Symbol">=</a> <a id="838" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="844" class="Symbol">(</a><a id="845" href="Agda.Builtin.Word.html#299" class="Primitive">n2w</a> <a id="849" href="Haskell.Prim.Int.html#834" class="Bound">n</a><a id="850" class="Symbol">)</a>
+
+  <a id="iNegativeInt"></a><a id="855" href="Haskell.Prim.Int.html#855" class="Function">iNegativeInt</a> <a id="868" class="Symbol">:</a> <a id="870" href="Agda.Builtin.FromNeg.html#196" class="Record">Negative</a> <a id="879" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+  <a id="885" href="Haskell.Prim.Int.html#855" class="Function">iNegativeInt</a> <a id="898" class="Symbol">.</a><a id="899" href="Agda.Builtin.FromNeg.html#254" class="Field">Negative.Constraint</a> <a id="919" href="Haskell.Prim.Int.html#919" class="Bound">n</a> <a id="921" class="Symbol">=</a> <a id="923" href="Haskell.Prim.html#2981" class="Datatype">IsTrue</a> <a id="930" class="Symbol">(</a><a id="931" href="Agda.Builtin.Nat.html#757" class="Primitive">ltNat</a> <a id="937" href="Haskell.Prim.Int.html#919" class="Bound">n</a> <a id="939" class="Symbol">(</a><a id="940" href="Agda.Builtin.Nat.html#336" class="Primitive">addNat</a> <a id="947" class="Number">1</a> <a id="949" href="Haskell.Prim.Int.html#639" class="Function">2⁶³</a><a id="952" class="Symbol">))</a>
+  <a id="957" href="Haskell.Prim.Int.html#855" class="Function">iNegativeInt</a> <a id="970" class="Symbol">.</a><a id="971" href="Agda.Builtin.FromNeg.html#283" class="Field">fromNeg</a> <a id="979" href="Haskell.Prim.Int.html#979" class="Bound">n</a> <a id="981" class="Symbol">=</a> <a id="983" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="989" class="Symbol">(</a><a id="990" href="Agda.Builtin.Word.html#299" class="Primitive">n2w</a> <a id="994" class="Symbol">(</a><a id="995" href="Agda.Builtin.Nat.html#426" class="Primitive">monusNat</a> <a id="1004" href="Haskell.Prim.Int.html#597" class="Function">2⁶⁴</a> <a id="1008" href="Haskell.Prim.Int.html#979" class="Bound">n</a><a id="1009" class="Symbol">))</a>
+
+
+<a id="1014" class="Comment">--------------------------------------------------</a>
+<a id="1065" class="Comment">-- Arithmetic</a>
+
+<a id="isNegativeInt"></a><a id="1080" href="Haskell.Prim.Int.html#1080" class="Function">isNegativeInt</a> <a id="1094" class="Symbol">:</a> <a id="1096" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1100" class="Symbol">→</a> <a id="1102" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="1107" href="Haskell.Prim.Int.html#1080" class="Function">isNegativeInt</a> <a id="1121" class="Symbol">(</a><a id="1122" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="1128" href="Haskell.Prim.Int.html#1128" class="Bound">w</a><a id="1129" class="Symbol">)</a> <a id="1131" class="Symbol">=</a> <a id="1133" href="Agda.Builtin.Nat.html#757" class="Primitive">ltNat</a> <a id="1139" href="Haskell.Prim.Int.html#680" class="Function">maxInt</a> <a id="1146" class="Symbol">(</a><a id="1147" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="1151" href="Haskell.Prim.Int.html#1128" class="Bound">w</a><a id="1152" class="Symbol">)</a>
+
+<a id="eqInt"></a><a id="1155" href="Haskell.Prim.Int.html#1155" class="Function">eqInt</a> <a id="1161" class="Symbol">:</a> <a id="1163" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1167" class="Symbol">→</a> <a id="1169" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1173" class="Symbol">→</a> <a id="1175" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="1180" href="Haskell.Prim.Int.html#1155" class="Function">eqInt</a> <a id="1186" class="Symbol">(</a><a id="1187" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="1193" href="Haskell.Prim.Int.html#1193" class="Bound">a</a><a id="1194" class="Symbol">)</a> <a id="1196" class="Symbol">(</a><a id="1197" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="1203" href="Haskell.Prim.Int.html#1203" class="Bound">b</a><a id="1204" class="Symbol">)</a> <a id="1206" class="Symbol">=</a> <a id="1208" href="Agda.Builtin.Nat.html#631" class="Primitive">eqNat</a> <a id="1214" class="Symbol">(</a><a id="1215" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="1219" href="Haskell.Prim.Int.html#1193" class="Bound">a</a><a id="1220" class="Symbol">)</a> <a id="1222" class="Symbol">(</a><a id="1223" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="1227" href="Haskell.Prim.Int.html#1203" class="Bound">b</a><a id="1228" class="Symbol">)</a>
+
+<a id="negateInt"></a><a id="1231" href="Haskell.Prim.Int.html#1231" class="Function">negateInt</a> <a id="1241" class="Symbol">:</a> <a id="1243" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1247" class="Symbol">→</a> <a id="1249" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+<a id="1253" href="Haskell.Prim.Int.html#1231" class="Function">negateInt</a> <a id="1263" class="Symbol">(</a><a id="1264" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="1270" href="Haskell.Prim.Int.html#1270" class="Bound">a</a><a id="1271" class="Symbol">)</a> <a id="1273" class="Symbol">=</a> <a id="1275" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="1281" class="Symbol">(</a><a id="1282" href="Agda.Builtin.Word.html#299" class="Primitive">n2w</a> <a id="1286" class="Symbol">(</a><a id="1287" href="Agda.Builtin.Nat.html#426" class="Primitive">monusNat</a> <a id="1296" href="Haskell.Prim.Int.html#597" class="Function">2⁶⁴</a> <a id="1300" class="Symbol">(</a><a id="1301" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="1305" href="Haskell.Prim.Int.html#1270" class="Bound">a</a><a id="1306" class="Symbol">)))</a>
+
+<a id="intToInteger"></a><a id="1311" href="Haskell.Prim.Int.html#1311" class="Function">intToInteger</a> <a id="1324" class="Symbol">:</a> <a id="1326" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1330" class="Symbol">→</a> <a id="1332" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+<a id="1340" href="Haskell.Prim.Int.html#1311" class="Function">intToInteger</a> <a id="1353" href="Haskell.Prim.Int.html#1353" class="Bound">a</a> <a id="1355" class="Symbol">=</a> <a id="1357" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="1360" href="Haskell.Prim.Int.html#1080" class="Function">isNegativeInt</a> <a id="1374" href="Haskell.Prim.Int.html#1353" class="Bound">a</a> <a id="1376" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="1381" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1388" class="Symbol">(</a><a id="1389" href="Agda.Builtin.Nat.html#426" class="Primitive">monusNat</a> <a id="1398" class="Symbol">(</a><a id="1399" href="Haskell.Prim.Int.html#457" class="Function">unsafeIntToNat</a> <a id="1414" class="Symbol">(</a><a id="1415" href="Haskell.Prim.Int.html#1231" class="Function">negateInt</a> <a id="1425" href="Haskell.Prim.Int.html#1353" class="Bound">a</a><a id="1426" class="Symbol">))</a> <a id="1429" class="Number">1</a><a id="1430" class="Symbol">)</a>
+                                    <a id="1468" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="1473" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="1477" class="Symbol">(</a><a id="1478" href="Haskell.Prim.Int.html#457" class="Function">unsafeIntToNat</a> <a id="1493" href="Haskell.Prim.Int.html#1353" class="Bound">a</a><a id="1494" class="Symbol">)</a>
+
+<a id="integerToInt"></a><a id="1497" href="Haskell.Prim.Int.html#1497" class="Function">integerToInt</a> <a id="1510" class="Symbol">:</a> <a id="1512" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="1520" class="Symbol">→</a> <a id="1522" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+<a id="1526" href="Haskell.Prim.Int.html#1497" class="Function">integerToInt</a> <a id="1539" class="Symbol">(</a><a id="1540" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="1547" href="Haskell.Prim.Int.html#1547" class="Bound">n</a><a id="1548" class="Symbol">)</a> <a id="1550" class="Symbol">=</a> <a id="1552" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="1558" class="Symbol">(</a><a id="1559" href="Agda.Builtin.Word.html#299" class="Primitive">n2w</a> <a id="1563" href="Haskell.Prim.Int.html#1547" class="Bound">n</a><a id="1564" class="Symbol">)</a>
+<a id="1566" href="Haskell.Prim.Int.html#1497" class="Function">integerToInt</a> <a id="1579" class="Symbol">(</a><a id="1580" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1587" href="Haskell.Prim.Int.html#1587" class="Bound">n</a><a id="1588" class="Symbol">)</a> <a id="1590" class="Symbol">=</a> <a id="1592" href="Haskell.Prim.Int.html#1231" class="Function">negateInt</a> <a id="1602" class="Symbol">(</a><a id="1603" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="1609" class="Symbol">(</a><a id="1610" href="Agda.Builtin.Word.html#299" class="Primitive">n2w</a> <a id="1614" class="Symbol">(</a><a id="1615" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1619" href="Haskell.Prim.Int.html#1587" class="Bound">n</a><a id="1620" class="Symbol">)))</a>
+
+<a id="1625" class="Keyword">private</a>
+  <a id="ltPosInt"></a><a id="1635" href="Haskell.Prim.Int.html#1635" class="Function">ltPosInt</a> <a id="1644" class="Symbol">:</a> <a id="1646" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1650" class="Symbol">→</a> <a id="1652" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1656" class="Symbol">→</a> <a id="1658" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="1665" href="Haskell.Prim.Int.html#1635" class="Function">ltPosInt</a> <a id="1674" class="Symbol">(</a><a id="1675" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="1681" href="Haskell.Prim.Int.html#1681" class="Bound">a</a><a id="1682" class="Symbol">)</a> <a id="1684" class="Symbol">(</a><a id="1685" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="1691" href="Haskell.Prim.Int.html#1691" class="Bound">b</a><a id="1692" class="Symbol">)</a> <a id="1694" class="Symbol">=</a> <a id="1696" href="Haskell.Prim.Word.html#846" class="Function">ltWord</a> <a id="1703" href="Haskell.Prim.Int.html#1681" class="Bound">a</a> <a id="1705" href="Haskell.Prim.Int.html#1691" class="Bound">b</a>
+
+<a id="ltInt"></a><a id="1708" href="Haskell.Prim.Int.html#1708" class="Function">ltInt</a> <a id="1714" class="Symbol">:</a> <a id="1716" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1720" class="Symbol">→</a> <a id="1722" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1726" class="Symbol">→</a> <a id="1728" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="1733" href="Haskell.Prim.Int.html#1708" class="Function">ltInt</a> <a id="1739" href="Haskell.Prim.Int.html#1739" class="Bound">a</a> <a id="1741" href="Haskell.Prim.Int.html#1741" class="Bound">b</a> <a id="1743" class="Keyword">with</a> <a id="1748" href="Haskell.Prim.Int.html#1080" class="Function">isNegativeInt</a> <a id="1762" href="Haskell.Prim.Int.html#1739" class="Bound">a</a> <a id="1764" class="Symbol">|</a> <a id="1766" href="Haskell.Prim.Int.html#1080" class="Function">isNegativeInt</a> <a id="1780" href="Haskell.Prim.Int.html#1741" class="Bound">b</a>
+<a id="1782" class="Symbol">...</a> <a id="1786" class="Symbol">|</a> <a id="1788" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>  <a id="1794" class="Symbol">|</a> <a id="1796" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a> <a id="1802" class="Symbol">=</a> <a id="1804" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+<a id="1809" class="Symbol">...</a> <a id="1813" class="Symbol">|</a> <a id="1815" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a> <a id="1821" class="Symbol">|</a> <a id="1823" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>  <a id="1829" class="Symbol">=</a> <a id="1831" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a>
+<a id="1837" class="Symbol">...</a> <a id="1841" class="Symbol">|</a> <a id="1843" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>  <a id="1849" class="Symbol">|</a> <a id="1851" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>  <a id="1857" class="Symbol">=</a> <a id="1859" href="Haskell.Prim.Int.html#1635" class="Function">ltPosInt</a> <a id="1868" class="Symbol">(</a><a id="1869" href="Haskell.Prim.Int.html#1231" class="Function">negateInt</a> <a id="1879" class="Bound">b</a><a id="1880" class="Symbol">)</a> <a id="1882" class="Symbol">(</a><a id="1883" href="Haskell.Prim.Int.html#1231" class="Function">negateInt</a> <a id="1893" class="Bound">a</a><a id="1894" class="Symbol">)</a>
+<a id="1896" class="Symbol">...</a> <a id="1900" class="Symbol">|</a> <a id="1902" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a> <a id="1908" class="Symbol">|</a> <a id="1910" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a> <a id="1916" class="Symbol">=</a> <a id="1918" href="Haskell.Prim.Int.html#1635" class="Function">ltPosInt</a> <a id="1927" class="Bound">a</a> <a id="1929" class="Bound">b</a>
+
+<a id="addInt"></a><a id="1932" href="Haskell.Prim.Int.html#1932" class="Function">addInt</a> <a id="1939" class="Symbol">:</a> <a id="1941" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1945" class="Symbol">→</a> <a id="1947" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1951" class="Symbol">→</a> <a id="1953" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+<a id="1957" href="Haskell.Prim.Int.html#1932" class="Function">addInt</a> <a id="1964" class="Symbol">(</a><a id="1965" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="1971" href="Haskell.Prim.Int.html#1971" class="Bound">a</a><a id="1972" class="Symbol">)</a> <a id="1974" class="Symbol">(</a><a id="1975" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="1981" href="Haskell.Prim.Int.html#1981" class="Bound">b</a><a id="1982" class="Symbol">)</a> <a id="1984" class="Symbol">=</a> <a id="1986" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="1992" class="Symbol">(</a><a id="1993" href="Haskell.Prim.Word.html#567" class="Function">addWord</a> <a id="2001" href="Haskell.Prim.Int.html#1971" class="Bound">a</a> <a id="2003" href="Haskell.Prim.Int.html#1981" class="Bound">b</a><a id="2004" class="Symbol">)</a>
+
+<a id="subInt"></a><a id="2007" href="Haskell.Prim.Int.html#2007" class="Function">subInt</a> <a id="2014" class="Symbol">:</a> <a id="2016" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="2020" class="Symbol">→</a> <a id="2022" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="2026" class="Symbol">→</a> <a id="2028" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+<a id="2032" href="Haskell.Prim.Int.html#2007" class="Function">subInt</a> <a id="2039" href="Haskell.Prim.Int.html#2039" class="Bound">a</a> <a id="2041" href="Haskell.Prim.Int.html#2041" class="Bound">b</a> <a id="2043" class="Symbol">=</a> <a id="2045" href="Haskell.Prim.Int.html#1932" class="Function">addInt</a> <a id="2052" href="Haskell.Prim.Int.html#2039" class="Bound">a</a> <a id="2054" class="Symbol">(</a><a id="2055" href="Haskell.Prim.Int.html#1231" class="Function">negateInt</a> <a id="2065" href="Haskell.Prim.Int.html#2041" class="Bound">b</a><a id="2066" class="Symbol">)</a>
+
+<a id="mulInt"></a><a id="2069" href="Haskell.Prim.Int.html#2069" class="Function">mulInt</a> <a id="2076" class="Symbol">:</a> <a id="2078" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="2082" class="Symbol">→</a> <a id="2084" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="2088" class="Symbol">→</a> <a id="2090" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+<a id="2094" href="Haskell.Prim.Int.html#2069" class="Function">mulInt</a> <a id="2101" class="Symbol">(</a><a id="2102" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="2108" href="Haskell.Prim.Int.html#2108" class="Bound">a</a><a id="2109" class="Symbol">)</a> <a id="2111" class="Symbol">(</a><a id="2112" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="2118" href="Haskell.Prim.Int.html#2118" class="Bound">b</a><a id="2119" class="Symbol">)</a> <a id="2121" class="Symbol">=</a> <a id="2123" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="2129" class="Symbol">(</a><a id="2130" href="Haskell.Prim.Word.html#709" class="Function">mulWord</a> <a id="2138" href="Haskell.Prim.Int.html#2108" class="Bound">a</a> <a id="2140" href="Haskell.Prim.Int.html#2118" class="Bound">b</a><a id="2141" class="Symbol">)</a>
+
+<a id="absInt"></a><a id="2144" href="Haskell.Prim.Int.html#2144" class="Function">absInt</a> <a id="2151" class="Symbol">:</a> <a id="2153" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="2157" class="Symbol">→</a> <a id="2159" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+<a id="2163" href="Haskell.Prim.Int.html#2144" class="Function">absInt</a> <a id="2170" href="Haskell.Prim.Int.html#2170" class="Bound">a</a> <a id="2172" class="Symbol">=</a> <a id="2174" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="2177" href="Haskell.Prim.Int.html#1080" class="Function">isNegativeInt</a> <a id="2191" href="Haskell.Prim.Int.html#2170" class="Bound">a</a> <a id="2193" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="2198" href="Haskell.Prim.Int.html#1231" class="Function">negateInt</a> <a id="2208" href="Haskell.Prim.Int.html#2170" class="Bound">a</a> <a id="2210" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="2215" href="Haskell.Prim.Int.html#2170" class="Bound">a</a>
+
+<a id="signInt"></a><a id="2218" href="Haskell.Prim.Int.html#2218" class="Function">signInt</a> <a id="2226" class="Symbol">:</a> <a id="2228" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="2232" class="Symbol">→</a> <a id="2234" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+<a id="2238" href="Haskell.Prim.Int.html#2218" class="Function">signInt</a> <a id="2246" href="Haskell.Prim.Int.html#2246" class="Bound">a</a> <a id="2248" class="Symbol">=</a> <a id="2250" href="Haskell.Prim.html#1713" class="Function Operator">if</a>      <a id="2258" href="Haskell.Prim.Int.html#1080" class="Function">isNegativeInt</a> <a id="2272" href="Haskell.Prim.Int.html#2246" class="Bound">a</a> <a id="2274" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="2279" class="Number">-1</a>
+            <a id="2294" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="2299" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="2302" href="Haskell.Prim.Int.html#1155" class="Function">eqInt</a> <a id="2308" href="Haskell.Prim.Int.html#2246" class="Bound">a</a> <a id="2310" class="Number">0</a>       <a id="2318" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="2323" class="Number">0</a> <a id="2325" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="2330" class="Number">1</a>
+
+<a id="showInt"></a><a id="2333" href="Haskell.Prim.Int.html#2333" class="Function">showInt</a> <a id="2341" class="Symbol">:</a> <a id="2343" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="2347" class="Symbol">→</a> <a id="2349" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2354" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a>
+<a id="2359" href="Haskell.Prim.Int.html#2333" class="Function">showInt</a> <a id="2367" href="Haskell.Prim.Int.html#2367" class="Bound">a</a> <a id="2369" class="Symbol">=</a> <a id="2371" href="Haskell.Prim.Integer.html#2190" class="Function">showInteger</a> <a id="2383" class="Symbol">(</a><a id="2384" href="Haskell.Prim.Int.html#1311" class="Function">intToInteger</a> <a id="2397" href="Haskell.Prim.Int.html#2367" class="Bound">a</a><a id="2398" class="Symbol">)</a>
+
+
+<a id="2402" class="Comment">--------------------------------------------------</a>
+<a id="2453" class="Comment">-- Constraints</a>
+
+<a id="IsNonNegativeInt"></a><a id="2469" href="Haskell.Prim.Int.html#2469" class="Function">IsNonNegativeInt</a> <a id="2486" class="Symbol">:</a> <a id="2488" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="2492" class="Symbol">→</a> <a id="2494" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="2498" href="Haskell.Prim.Int.html#2469" class="Function">IsNonNegativeInt</a> <a id="2515" href="Haskell.Prim.Int.html#2515" class="Bound">a</a><a id="2516" class="Symbol">@(</a><a id="2518" href="Haskell.Prim.Int.html#385" class="InductiveConstructor">int64</a> <a id="2524" class="Symbol">_)</a> <a id="2527" class="Symbol">=</a>
+  <a id="2531" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="2534" href="Haskell.Prim.Int.html#1080" class="Function">isNegativeInt</a> <a id="2548" href="Haskell.Prim.Int.html#2515" class="Bound">a</a> <a id="2550" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="2555" href="Haskell.Prim.html#3215" class="Datatype">TypeError</a> <a id="2565" class="Symbol">(</a><a id="2566" href="Agda.Builtin.String.html#537" class="Primitive">primStringAppend</a> <a id="2583" class="Symbol">(</a><a id="2584" href="Agda.Builtin.String.html#495" class="Primitive">primStringFromList</a> <a id="2603" class="Symbol">(</a><a id="2604" href="Haskell.Prim.Int.html#2333" class="Function">showInt</a> <a id="2612" href="Haskell.Prim.Int.html#2515" class="Bound">a</a><a id="2613" class="Symbol">))</a> <a id="2616" class="String">&quot; is negative&quot;</a><a id="2630" class="Symbol">)</a>
+                     <a id="2653" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="2658" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+
+<a id="intToNat"></a><a id="2661" href="Haskell.Prim.Int.html#2661" class="Function">intToNat</a> <a id="2670" class="Symbol">:</a> <a id="2672" class="Symbol">(</a><a id="2673" href="Haskell.Prim.Int.html#2673" class="Bound">a</a> <a id="2675" class="Symbol">:</a> <a id="2677" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a><a id="2680" class="Symbol">)</a> <a id="2682" class="Symbol">→</a> <a id="2684" class="Symbol">@</a><a id="2685" class="Symbol">0</a> <a id="2687" class="Symbol">⦃</a> <a id="2689" href="Haskell.Prim.Int.html#2469" class="Function">IsNonNegativeInt</a> <a id="2706" href="Haskell.Prim.Int.html#2673" class="Bound">a</a> <a id="2708" class="Symbol">⦄</a> <a id="2710" class="Symbol">→</a> <a id="2712" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+<a id="2716" href="Haskell.Prim.Int.html#2661" class="Function">intToNat</a> <a id="2725" href="Haskell.Prim.Int.html#2725" class="Bound">a</a> <a id="2727" class="Symbol">=</a> <a id="2729" href="Haskell.Prim.Int.html#457" class="Function">unsafeIntToNat</a> <a id="2744" href="Haskell.Prim.Int.html#2725" class="Bound">a</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Integer.html b/lib/Haskell.Prim.Integer.html
new file mode 100644
index 00000000..58af9964
--- /dev/null
+++ b/lib/Haskell.Prim.Integer.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Integer</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Integer.html" class="Module">Haskell.Prim.Integer</a> <a id="30" class="Keyword">where</a>
+
+<a id="37" class="Keyword">open</a> <a id="42" class="Keyword">import</a> <a id="49" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="62" class="Keyword">open</a> <a id="67" class="Keyword">import</a> <a id="74" href="Haskell.Prim.Bool.html" class="Module">Haskell.Prim.Bool</a>
+
+
+<a id="94" class="Comment">--------------------------------------------------</a>
+<a id="145" class="Comment">-- Literals</a>
+
+<a id="158" class="Keyword">private</a>
+  <a id="negNat"></a><a id="168" href="Haskell.Prim.Integer.html#168" class="Function">negNat</a> <a id="175" class="Symbol">:</a> <a id="177" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="181" class="Symbol">→</a> <a id="183" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+  <a id="193" href="Haskell.Prim.Integer.html#168" class="Function">negNat</a> <a id="200" class="Number">0</a>       <a id="208" class="Symbol">=</a> <a id="210" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="214" class="Number">0</a>
+  <a id="218" href="Haskell.Prim.Integer.html#168" class="Function">negNat</a> <a id="225" class="Symbol">(</a><a id="226" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="230" href="Haskell.Prim.Integer.html#230" class="Bound">n</a><a id="231" class="Symbol">)</a> <a id="233" class="Symbol">=</a> <a id="235" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="242" href="Haskell.Prim.Integer.html#230" class="Bound">n</a>
+
+<a id="245" class="Keyword">instance</a>
+  <a id="iNumberInteger"></a><a id="256" href="Haskell.Prim.Integer.html#256" class="Function">iNumberInteger</a> <a id="271" class="Symbol">:</a> <a id="273" href="Agda.Builtin.FromNat.html#196" class="Record">Number</a> <a id="280" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+  <a id="290" href="Haskell.Prim.Integer.html#256" class="Function">iNumberInteger</a> <a id="305" class="Symbol">.</a><a id="306" href="Agda.Builtin.FromNat.html#252" class="Field">Number.Constraint</a> <a id="324" class="Symbol">_</a> <a id="326" class="Symbol">=</a> <a id="328" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="332" href="Haskell.Prim.Integer.html#256" class="Function">iNumberInteger</a> <a id="347" class="Symbol">.</a><a id="348" href="Agda.Builtin.FromNat.html#281" class="Field">fromNat</a> <a id="356" href="Haskell.Prim.Integer.html#356" class="Bound">n</a> <a id="358" class="Symbol">=</a> <a id="360" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="364" href="Haskell.Prim.Integer.html#356" class="Bound">n</a>
+
+  <a id="iNegativeInteger"></a><a id="369" href="Haskell.Prim.Integer.html#369" class="Function">iNegativeInteger</a> <a id="386" class="Symbol">:</a> <a id="388" href="Agda.Builtin.FromNeg.html#196" class="Record">Negative</a> <a id="397" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+  <a id="407" href="Haskell.Prim.Integer.html#369" class="Function">iNegativeInteger</a> <a id="424" class="Symbol">.</a><a id="425" href="Agda.Builtin.FromNeg.html#254" class="Field">Negative.Constraint</a> <a id="445" class="Symbol">_</a> <a id="447" class="Symbol">=</a> <a id="449" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="453" href="Haskell.Prim.Integer.html#369" class="Function">iNegativeInteger</a> <a id="470" class="Symbol">.</a><a id="471" href="Agda.Builtin.FromNeg.html#283" class="Field">fromNeg</a> <a id="479" href="Haskell.Prim.Integer.html#479" class="Bound">n</a> <a id="481" class="Symbol">=</a> <a id="483" href="Haskell.Prim.Integer.html#168" class="Function">negNat</a> <a id="490" href="Haskell.Prim.Integer.html#479" class="Bound">n</a>
+
+
+<a id="494" class="Comment">--------------------------------------------------</a>
+<a id="545" class="Comment">-- Arithmetic</a>
+
+<a id="560" class="Keyword">private</a>
+  <a id="subNat"></a><a id="570" href="Haskell.Prim.Integer.html#570" class="Function">subNat</a> <a id="577" class="Symbol">:</a> <a id="579" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="583" class="Symbol">→</a> <a id="585" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="589" class="Symbol">→</a> <a id="591" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+  <a id="601" href="Haskell.Prim.Integer.html#570" class="Function">subNat</a> <a id="608" href="Haskell.Prim.Integer.html#608" class="Bound">n</a> <a id="610" href="Haskell.Prim.Integer.html#610" class="Bound">m</a> <a id="612" class="Symbol">=</a> <a id="614" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="617" class="Symbol">(</a><a id="618" href="Agda.Builtin.Nat.html#757" class="Primitive">ltNat</a> <a id="624" href="Haskell.Prim.Integer.html#608" class="Bound">n</a> <a id="626" href="Haskell.Prim.Integer.html#610" class="Bound">m</a><a id="627" class="Symbol">)</a> <a id="629" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="634" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="641" class="Symbol">(</a><a id="642" href="Agda.Builtin.Nat.html#426" class="Primitive">monusNat</a> <a id="651" href="Haskell.Prim.Integer.html#610" class="Bound">m</a> <a id="653" class="Symbol">(</a><a id="654" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="658" href="Haskell.Prim.Integer.html#608" class="Bound">n</a><a id="659" class="Symbol">))</a> <a id="662" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="667" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="671" class="Symbol">(</a><a id="672" href="Agda.Builtin.Nat.html#426" class="Primitive">monusNat</a> <a id="681" href="Haskell.Prim.Integer.html#608" class="Bound">n</a> <a id="683" href="Haskell.Prim.Integer.html#610" class="Bound">m</a><a id="684" class="Symbol">)</a>
+
+<a id="negateInteger"></a><a id="687" href="Haskell.Prim.Integer.html#687" class="Function">negateInteger</a> <a id="701" class="Symbol">:</a> <a id="703" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="711" class="Symbol">→</a> <a id="713" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+<a id="721" href="Haskell.Prim.Integer.html#687" class="Function">negateInteger</a> <a id="735" class="Symbol">(</a><a id="736" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="740" class="Number">0</a><a id="741" class="Symbol">)</a>       <a id="749" class="Symbol">=</a> <a id="751" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="755" class="Number">0</a>
+<a id="757" href="Haskell.Prim.Integer.html#687" class="Function">negateInteger</a> <a id="771" class="Symbol">(</a><a id="772" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="776" class="Symbol">(</a><a id="777" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="781" href="Haskell.Prim.Integer.html#781" class="Bound">n</a><a id="782" class="Symbol">))</a> <a id="785" class="Symbol">=</a> <a id="787" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="794" href="Haskell.Prim.Integer.html#781" class="Bound">n</a>
+<a id="796" href="Haskell.Prim.Integer.html#687" class="Function">negateInteger</a> <a id="810" class="Symbol">(</a><a id="811" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="818" href="Haskell.Prim.Integer.html#818" class="Bound">n</a><a id="819" class="Symbol">)</a>    <a id="824" class="Symbol">=</a> <a id="826" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="830" class="Symbol">(</a><a id="831" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="835" href="Haskell.Prim.Integer.html#818" class="Bound">n</a><a id="836" class="Symbol">)</a>
+
+<a id="addInteger"></a><a id="839" href="Haskell.Prim.Integer.html#839" class="Function">addInteger</a> <a id="850" class="Symbol">:</a> <a id="852" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="860" class="Symbol">→</a> <a id="862" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="870" class="Symbol">→</a> <a id="872" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+<a id="880" href="Haskell.Prim.Integer.html#839" class="Function">addInteger</a> <a id="891" class="Symbol">(</a><a id="892" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="899" href="Haskell.Prim.Integer.html#899" class="Bound">n</a><a id="900" class="Symbol">)</a> <a id="902" class="Symbol">(</a><a id="903" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="910" href="Haskell.Prim.Integer.html#910" class="Bound">m</a><a id="911" class="Symbol">)</a> <a id="913" class="Symbol">=</a> <a id="915" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="919" class="Symbol">(</a><a id="920" href="Agda.Builtin.Nat.html#336" class="Primitive">addNat</a> <a id="927" href="Haskell.Prim.Integer.html#899" class="Bound">n</a> <a id="929" href="Haskell.Prim.Integer.html#910" class="Bound">m</a><a id="930" class="Symbol">)</a>
+<a id="932" href="Haskell.Prim.Integer.html#839" class="Function">addInteger</a> <a id="943" class="Symbol">(</a><a id="944" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="951" href="Haskell.Prim.Integer.html#951" class="Bound">n</a><a id="952" class="Symbol">)</a> <a id="954" class="Symbol">(</a><a id="955" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="962" href="Haskell.Prim.Integer.html#962" class="Bound">m</a><a id="963" class="Symbol">)</a> <a id="965" class="Symbol">=</a> <a id="967" href="Haskell.Prim.Integer.html#570" class="Function">subNat</a> <a id="974" href="Haskell.Prim.Integer.html#951" class="Bound">n</a> <a id="976" class="Symbol">(</a><a id="977" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="981" href="Haskell.Prim.Integer.html#962" class="Bound">m</a><a id="982" class="Symbol">)</a>
+<a id="984" href="Haskell.Prim.Integer.html#839" class="Function">addInteger</a> <a id="995" class="Symbol">(</a><a id="996" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1003" href="Haskell.Prim.Integer.html#1003" class="Bound">n</a><a id="1004" class="Symbol">)</a> <a id="1006" class="Symbol">(</a><a id="1007" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="1014" href="Haskell.Prim.Integer.html#1014" class="Bound">m</a><a id="1015" class="Symbol">)</a> <a id="1017" class="Symbol">=</a> <a id="1019" href="Haskell.Prim.Integer.html#570" class="Function">subNat</a> <a id="1026" href="Haskell.Prim.Integer.html#1014" class="Bound">m</a> <a id="1028" class="Symbol">(</a><a id="1029" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1033" href="Haskell.Prim.Integer.html#1003" class="Bound">n</a><a id="1034" class="Symbol">)</a>
+<a id="1036" href="Haskell.Prim.Integer.html#839" class="Function">addInteger</a> <a id="1047" class="Symbol">(</a><a id="1048" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1055" href="Haskell.Prim.Integer.html#1055" class="Bound">n</a><a id="1056" class="Symbol">)</a> <a id="1058" class="Symbol">(</a><a id="1059" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1066" href="Haskell.Prim.Integer.html#1066" class="Bound">m</a><a id="1067" class="Symbol">)</a> <a id="1069" class="Symbol">=</a> <a id="1071" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1078" class="Symbol">(</a><a id="1079" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1083" class="Symbol">(</a><a id="1084" href="Agda.Builtin.Nat.html#336" class="Primitive">addNat</a> <a id="1091" href="Haskell.Prim.Integer.html#1055" class="Bound">n</a> <a id="1093" href="Haskell.Prim.Integer.html#1066" class="Bound">m</a><a id="1094" class="Symbol">))</a>
+
+<a id="subInteger"></a><a id="1098" href="Haskell.Prim.Integer.html#1098" class="Function">subInteger</a> <a id="1109" class="Symbol">:</a> <a id="1111" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="1119" class="Symbol">→</a> <a id="1121" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="1129" class="Symbol">→</a> <a id="1131" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+<a id="1139" href="Haskell.Prim.Integer.html#1098" class="Function">subInteger</a> <a id="1150" href="Haskell.Prim.Integer.html#1150" class="Bound">n</a> <a id="1152" href="Haskell.Prim.Integer.html#1152" class="Bound">m</a> <a id="1154" class="Symbol">=</a> <a id="1156" href="Haskell.Prim.Integer.html#839" class="Function">addInteger</a> <a id="1167" href="Haskell.Prim.Integer.html#1150" class="Bound">n</a> <a id="1169" class="Symbol">(</a><a id="1170" href="Haskell.Prim.Integer.html#687" class="Function">negateInteger</a> <a id="1184" href="Haskell.Prim.Integer.html#1152" class="Bound">m</a><a id="1185" class="Symbol">)</a>
+
+<a id="mulInteger"></a><a id="1188" href="Haskell.Prim.Integer.html#1188" class="Function">mulInteger</a> <a id="1199" class="Symbol">:</a> <a id="1201" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="1209" class="Symbol">→</a> <a id="1211" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="1219" class="Symbol">→</a> <a id="1221" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+<a id="1229" href="Haskell.Prim.Integer.html#1188" class="Function">mulInteger</a> <a id="1240" class="Symbol">(</a><a id="1241" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="1248" href="Haskell.Prim.Integer.html#1248" class="Bound">n</a><a id="1249" class="Symbol">)</a> <a id="1251" class="Symbol">(</a><a id="1252" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="1259" href="Haskell.Prim.Integer.html#1259" class="Bound">m</a><a id="1260" class="Symbol">)</a> <a id="1262" class="Symbol">=</a> <a id="1264" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="1268" class="Symbol">(</a><a id="1269" href="Agda.Builtin.Nat.html#539" class="Primitive">mulNat</a> <a id="1276" href="Haskell.Prim.Integer.html#1248" class="Bound">n</a> <a id="1278" href="Haskell.Prim.Integer.html#1259" class="Bound">m</a><a id="1279" class="Symbol">)</a>
+<a id="1281" href="Haskell.Prim.Integer.html#1188" class="Function">mulInteger</a> <a id="1292" class="Symbol">(</a><a id="1293" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="1300" href="Haskell.Prim.Integer.html#1300" class="Bound">n</a><a id="1301" class="Symbol">)</a> <a id="1303" class="Symbol">(</a><a id="1304" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1311" href="Haskell.Prim.Integer.html#1311" class="Bound">m</a><a id="1312" class="Symbol">)</a> <a id="1314" class="Symbol">=</a> <a id="1316" href="Haskell.Prim.Integer.html#168" class="Function">negNat</a> <a id="1323" class="Symbol">(</a><a id="1324" href="Agda.Builtin.Nat.html#539" class="Primitive">mulNat</a> <a id="1331" href="Haskell.Prim.Integer.html#1300" class="Bound">n</a> <a id="1333" class="Symbol">(</a><a id="1334" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1338" href="Haskell.Prim.Integer.html#1311" class="Bound">m</a><a id="1339" class="Symbol">))</a>
+<a id="1342" href="Haskell.Prim.Integer.html#1188" class="Function">mulInteger</a> <a id="1353" class="Symbol">(</a><a id="1354" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1361" href="Haskell.Prim.Integer.html#1361" class="Bound">n</a><a id="1362" class="Symbol">)</a> <a id="1364" class="Symbol">(</a><a id="1365" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="1372" href="Haskell.Prim.Integer.html#1372" class="Bound">m</a><a id="1373" class="Symbol">)</a> <a id="1375" class="Symbol">=</a> <a id="1377" href="Haskell.Prim.Integer.html#168" class="Function">negNat</a> <a id="1384" class="Symbol">(</a><a id="1385" href="Agda.Builtin.Nat.html#539" class="Primitive">mulNat</a> <a id="1392" class="Symbol">(</a><a id="1393" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1397" href="Haskell.Prim.Integer.html#1361" class="Bound">n</a><a id="1398" class="Symbol">)</a> <a id="1400" href="Haskell.Prim.Integer.html#1372" class="Bound">m</a><a id="1401" class="Symbol">)</a>
+<a id="1403" href="Haskell.Prim.Integer.html#1188" class="Function">mulInteger</a> <a id="1414" class="Symbol">(</a><a id="1415" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1422" href="Haskell.Prim.Integer.html#1422" class="Bound">n</a><a id="1423" class="Symbol">)</a> <a id="1425" class="Symbol">(</a><a id="1426" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1433" href="Haskell.Prim.Integer.html#1433" class="Bound">m</a><a id="1434" class="Symbol">)</a> <a id="1436" class="Symbol">=</a> <a id="1438" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="1442" class="Symbol">(</a><a id="1443" href="Agda.Builtin.Nat.html#539" class="Primitive">mulNat</a> <a id="1450" class="Symbol">(</a><a id="1451" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1455" href="Haskell.Prim.Integer.html#1422" class="Bound">n</a><a id="1456" class="Symbol">)</a> <a id="1458" class="Symbol">(</a><a id="1459" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1463" href="Haskell.Prim.Integer.html#1433" class="Bound">m</a><a id="1464" class="Symbol">))</a>
+
+<a id="absInteger"></a><a id="1468" href="Haskell.Prim.Integer.html#1468" class="Function">absInteger</a> <a id="1479" class="Symbol">:</a> <a id="1481" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="1489" class="Symbol">→</a> <a id="1491" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+<a id="1499" href="Haskell.Prim.Integer.html#1468" class="Function">absInteger</a> <a id="1510" class="Symbol">(</a><a id="1511" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="1518" href="Haskell.Prim.Integer.html#1518" class="Bound">n</a><a id="1519" class="Symbol">)</a> <a id="1521" class="Symbol">=</a> <a id="1523" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="1527" href="Haskell.Prim.Integer.html#1518" class="Bound">n</a>
+<a id="1529" href="Haskell.Prim.Integer.html#1468" class="Function">absInteger</a> <a id="1540" class="Symbol">(</a><a id="1541" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1548" href="Haskell.Prim.Integer.html#1548" class="Bound">n</a><a id="1549" class="Symbol">)</a> <a id="1551" class="Symbol">=</a> <a id="1553" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="1557" class="Symbol">(</a><a id="1558" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1562" href="Haskell.Prim.Integer.html#1548" class="Bound">n</a><a id="1563" class="Symbol">)</a>
+
+<a id="signInteger"></a><a id="1566" href="Haskell.Prim.Integer.html#1566" class="Function">signInteger</a> <a id="1578" class="Symbol">:</a> <a id="1580" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="1588" class="Symbol">→</a> <a id="1590" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+<a id="1598" href="Haskell.Prim.Integer.html#1566" class="Function">signInteger</a> <a id="1610" class="Symbol">(</a><a id="1611" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="1615" class="Number">0</a><a id="1616" class="Symbol">)</a>       <a id="1624" class="Symbol">=</a> <a id="1626" class="Number">0</a>
+<a id="1628" href="Haskell.Prim.Integer.html#1566" class="Function">signInteger</a> <a id="1640" class="Symbol">(</a><a id="1641" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="1645" class="Symbol">(</a><a id="1646" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1650" class="Symbol">_))</a> <a id="1654" class="Symbol">=</a> <a id="1656" class="Number">1</a>
+<a id="1658" href="Haskell.Prim.Integer.html#1566" class="Function">signInteger</a> <a id="1670" class="Symbol">(</a><a id="1671" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1678" class="Symbol">_)</a>    <a id="1684" class="Symbol">=</a> <a id="1686" class="Number">-1</a>
+
+
+<a id="1691" class="Comment">--------------------------------------------------</a>
+<a id="1742" class="Comment">-- Comparisons</a>
+
+<a id="eqInteger"></a><a id="1758" href="Haskell.Prim.Integer.html#1758" class="Function">eqInteger</a> <a id="1768" class="Symbol">:</a> <a id="1770" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="1778" class="Symbol">→</a> <a id="1780" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="1788" class="Symbol">→</a> <a id="1790" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="1795" href="Haskell.Prim.Integer.html#1758" class="Function">eqInteger</a> <a id="1805" class="Symbol">(</a><a id="1806" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="1810" href="Haskell.Prim.Integer.html#1810" class="Bound">n</a><a id="1811" class="Symbol">)</a>    <a id="1816" class="Symbol">(</a><a id="1817" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="1821" href="Haskell.Prim.Integer.html#1821" class="Bound">m</a><a id="1822" class="Symbol">)</a>    <a id="1827" class="Symbol">=</a> <a id="1829" href="Agda.Builtin.Nat.html#631" class="Primitive">eqNat</a> <a id="1835" href="Haskell.Prim.Integer.html#1810" class="Bound">n</a> <a id="1837" href="Haskell.Prim.Integer.html#1821" class="Bound">m</a>
+<a id="1839" href="Haskell.Prim.Integer.html#1758" class="Function">eqInteger</a> <a id="1849" class="Symbol">(</a><a id="1850" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1857" href="Haskell.Prim.Integer.html#1857" class="Bound">n</a><a id="1858" class="Symbol">)</a> <a id="1860" class="Symbol">(</a><a id="1861" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1868" href="Haskell.Prim.Integer.html#1868" class="Bound">m</a><a id="1869" class="Symbol">)</a> <a id="1871" class="Symbol">=</a> <a id="1873" href="Agda.Builtin.Nat.html#631" class="Primitive">eqNat</a> <a id="1879" href="Haskell.Prim.Integer.html#1857" class="Bound">n</a> <a id="1881" href="Haskell.Prim.Integer.html#1868" class="Bound">m</a>
+<a id="1883" href="Haskell.Prim.Integer.html#1758" class="CatchallClause Function">eqInteger</a><a id="1892" class="CatchallClause"> </a><a id="1893" class="CatchallClause Symbol">_</a><a id="1894" class="CatchallClause">          </a><a id="1904" class="CatchallClause Symbol">_</a>          <a id="1915" class="Symbol">=</a> <a id="1917" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a>
+
+<a id="ltInteger"></a><a id="1924" href="Haskell.Prim.Integer.html#1924" class="Function">ltInteger</a> <a id="1934" class="Symbol">:</a> <a id="1936" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="1944" class="Symbol">→</a> <a id="1946" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="1954" class="Symbol">→</a> <a id="1956" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="1961" href="Haskell.Prim.Integer.html#1924" class="Function">ltInteger</a> <a id="1971" class="Symbol">(</a><a id="1972" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="1979" href="Haskell.Prim.Integer.html#1979" class="Bound">n</a><a id="1980" class="Symbol">)</a> <a id="1982" class="Symbol">(</a><a id="1983" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="1990" href="Haskell.Prim.Integer.html#1990" class="Bound">m</a><a id="1991" class="Symbol">)</a> <a id="1993" class="Symbol">=</a> <a id="1995" href="Agda.Builtin.Nat.html#757" class="Primitive">ltNat</a> <a id="2001" href="Haskell.Prim.Integer.html#1979" class="Bound">n</a> <a id="2003" href="Haskell.Prim.Integer.html#1990" class="Bound">m</a>
+<a id="2005" href="Haskell.Prim.Integer.html#1924" class="Function">ltInteger</a> <a id="2015" class="Symbol">(</a><a id="2016" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="2023" href="Haskell.Prim.Integer.html#2023" class="Bound">n</a><a id="2024" class="Symbol">)</a> <a id="2026" class="Symbol">(</a><a id="2027" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="2034" class="Symbol">_)</a> <a id="2037" class="Symbol">=</a> <a id="2039" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a>
+<a id="2045" href="Haskell.Prim.Integer.html#1924" class="Function">ltInteger</a> <a id="2055" class="Symbol">(</a><a id="2056" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="2063" href="Haskell.Prim.Integer.html#2063" class="Bound">n</a><a id="2064" class="Symbol">)</a> <a id="2066" class="Symbol">(</a><a id="2067" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="2074" class="Symbol">_)</a> <a id="2077" class="Symbol">=</a> <a id="2079" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+<a id="2084" href="Haskell.Prim.Integer.html#1924" class="Function">ltInteger</a> <a id="2094" class="Symbol">(</a><a id="2095" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="2102" href="Haskell.Prim.Integer.html#2102" class="Bound">n</a><a id="2103" class="Symbol">)</a> <a id="2105" class="Symbol">(</a><a id="2106" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="2113" href="Haskell.Prim.Integer.html#2113" class="Bound">m</a><a id="2114" class="Symbol">)</a> <a id="2116" class="Symbol">=</a> <a id="2118" href="Agda.Builtin.Nat.html#757" class="Primitive">ltNat</a> <a id="2124" href="Haskell.Prim.Integer.html#2113" class="Bound">m</a> <a id="2126" href="Haskell.Prim.Integer.html#2102" class="Bound">n</a>
+
+
+<a id="2130" class="Comment">--------------------------------------------------</a>
+<a id="2181" class="Comment">-- Show</a>
+
+<a id="showInteger"></a><a id="2190" href="Haskell.Prim.Integer.html#2190" class="Function">showInteger</a> <a id="2202" class="Symbol">:</a> <a id="2204" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="2212" class="Symbol">→</a> <a id="2214" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2219" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a>
+<a id="2224" href="Haskell.Prim.Integer.html#2190" class="Function">showInteger</a> <a id="2236" href="Haskell.Prim.Integer.html#2236" class="Bound">n</a> <a id="2238" class="Symbol">=</a> <a id="2240" href="Agda.Builtin.String.html#453" class="Primitive">primStringToList</a> <a id="2257" class="Symbol">(</a><a id="2258" href="Agda.Builtin.Int.html#438" class="Primitive">primShowInteger</a> <a id="2274" href="Haskell.Prim.Integer.html#2236" class="Bound">n</a><a id="2275" class="Symbol">)</a>
+
+
+<a id="2279" class="Comment">--------------------------------------------------</a>
+<a id="2330" class="Comment">-- Constraints</a>
+
+<a id="isNegativeInteger"></a><a id="2346" href="Haskell.Prim.Integer.html#2346" class="Function">isNegativeInteger</a> <a id="2364" class="Symbol">:</a> <a id="2366" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="2374" class="Symbol">→</a> <a id="2376" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="2381" href="Haskell.Prim.Integer.html#2346" class="Function">isNegativeInteger</a> <a id="2399" class="Symbol">(</a><a id="2400" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="2404" class="Symbol">_)</a>    <a id="2410" class="Symbol">=</a> <a id="2412" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a>
+<a id="2418" href="Haskell.Prim.Integer.html#2346" class="Function">isNegativeInteger</a> <a id="2436" class="Symbol">(</a><a id="2437" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="2444" class="Symbol">_)</a> <a id="2447" class="Symbol">=</a> <a id="2449" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+
+<a id="IsNonNegativeInteger"></a><a id="2455" href="Haskell.Prim.Integer.html#2455" class="Function">IsNonNegativeInteger</a> <a id="2476" class="Symbol">:</a> <a id="2478" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="2486" class="Symbol">→</a> <a id="2488" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="2492" href="Haskell.Prim.Integer.html#2455" class="Function">IsNonNegativeInteger</a> <a id="2513" class="Symbol">(</a><a id="2514" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="2518" class="Symbol">_)</a>      <a id="2526" class="Symbol">=</a> <a id="2528" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+<a id="2530" href="Haskell.Prim.Integer.html#2455" class="Function">IsNonNegativeInteger</a> <a id="2551" href="Haskell.Prim.Integer.html#2551" class="Bound">n</a><a id="2552" class="Symbol">@(</a><a id="2554" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="2561" class="Symbol">_)</a> <a id="2564" class="Symbol">=</a>
+  <a id="2568" href="Haskell.Prim.html#3215" class="Datatype">TypeError</a> <a id="2578" class="Symbol">(</a><a id="2579" href="Agda.Builtin.String.html#537" class="Primitive">primStringAppend</a> <a id="2596" class="Symbol">(</a><a id="2597" href="Agda.Builtin.Int.html#438" class="Primitive">primShowInteger</a> <a id="2613" href="Haskell.Prim.Integer.html#2551" class="Bound">n</a><a id="2614" class="Symbol">)</a> <a id="2616" class="Symbol">(</a><a id="2617" class="String">&quot; is negative&quot;</a><a id="2631" class="Symbol">))</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.List.html b/lib/Haskell.Prim.List.html
new file mode 100644
index 00000000..a3affb3a
--- /dev/null
+++ b/lib/Haskell.Prim.List.html
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.List</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.List.html" class="Module">Haskell.Prim.List</a> <a id="27" class="Keyword">where</a>
+
+<a id="34" class="Keyword">open</a> <a id="39" class="Keyword">import</a> <a id="46" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="59" class="Keyword">open</a> <a id="64" class="Keyword">import</a> <a id="71" href="Haskell.Prim.Bool.html" class="Module">Haskell.Prim.Bool</a>
+<a id="89" class="Keyword">open</a> <a id="94" class="Keyword">import</a> <a id="101" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a>
+<a id="120" class="Keyword">open</a> <a id="125" class="Keyword">import</a> <a id="132" href="Haskell.Prim.Int.html" class="Module">Haskell.Prim.Int</a>
+
+
+<a id="151" class="Comment">--------------------------------------------------</a>
+<a id="202" class="Comment">-- List</a>
+
+<a id="map"></a><a id="211" href="Haskell.Prim.List.html#211" class="Function">map</a> <a id="215" class="Symbol">:</a> <a id="217" class="Symbol">(</a><a id="218" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="220" class="Symbol">→</a> <a id="222" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="223" class="Symbol">)</a> <a id="225" class="Symbol">→</a> <a id="227" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="232" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="234" class="Symbol">→</a> <a id="236" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="241" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="243" href="Haskell.Prim.List.html#211" class="Function">map</a> <a id="247" href="Haskell.Prim.List.html#247" class="Bound">f</a> <a id="249" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="258" class="Symbol">=</a> <a id="260" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="263" href="Haskell.Prim.List.html#211" class="Function">map</a> <a id="267" href="Haskell.Prim.List.html#267" class="Bound">f</a> <a id="269" class="Symbol">(</a><a id="270" href="Haskell.Prim.List.html#270" class="Bound">x</a> <a id="272" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="274" href="Haskell.Prim.List.html#274" class="Bound">xs</a><a id="276" class="Symbol">)</a> <a id="278" class="Symbol">=</a> <a id="280" href="Haskell.Prim.List.html#267" class="Bound">f</a> <a id="282" href="Haskell.Prim.List.html#270" class="Bound">x</a> <a id="284" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="286" href="Haskell.Prim.List.html#211" class="Function">map</a> <a id="290" href="Haskell.Prim.List.html#267" class="Bound">f</a> <a id="292" href="Haskell.Prim.List.html#274" class="Bound">xs</a>
+
+<a id="296" class="Keyword">infixr</a> <a id="303" class="Number">5</a> <a id="305" href="Haskell.Prim.List.html#310" class="Function Operator">_++_</a>
+<a id="_++_"></a><a id="310" href="Haskell.Prim.List.html#310" class="Function Operator">_++_</a> <a id="315" class="Symbol">:</a> <a id="317" class="Symbol">∀</a> <a id="319" class="Symbol">{@</a><a id="321" class="Symbol">0</a> <a id="323" href="Haskell.Prim.List.html#323" class="Bound">ℓ</a><a id="324" class="Symbol">}</a> <a id="326" class="Symbol">{@</a><a id="328" class="Symbol">0</a> <a id="330" href="Haskell.Prim.List.html#330" class="Bound">a</a> <a id="332" class="Symbol">:</a> <a id="334" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="338" href="Haskell.Prim.List.html#323" class="Bound">ℓ</a><a id="339" class="Symbol">}</a> <a id="341" class="Symbol">→</a> <a id="343" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="348" href="Haskell.Prim.List.html#330" class="Bound">a</a> <a id="350" class="Symbol">→</a> <a id="352" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="357" href="Haskell.Prim.List.html#330" class="Bound">a</a> <a id="359" class="Symbol">→</a> <a id="361" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="366" href="Haskell.Prim.List.html#330" class="Bound">a</a>
+<a id="368" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="377" href="Haskell.Prim.List.html#310" class="Function Operator">++</a> <a id="380" href="Haskell.Prim.List.html#380" class="Bound">ys</a> <a id="383" class="Symbol">=</a> <a id="385" href="Haskell.Prim.List.html#380" class="Bound">ys</a>
+<a id="388" class="Symbol">(</a><a id="389" href="Haskell.Prim.List.html#389" class="Bound">x</a> <a id="391" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="393" href="Haskell.Prim.List.html#393" class="Bound">xs</a><a id="395" class="Symbol">)</a> <a id="397" href="Haskell.Prim.List.html#310" class="Function Operator">++</a> <a id="400" href="Haskell.Prim.List.html#400" class="Bound">ys</a> <a id="403" class="Symbol">=</a> <a id="405" href="Haskell.Prim.List.html#389" class="Bound">x</a> <a id="407" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="409" href="Haskell.Prim.List.html#393" class="Bound">xs</a> <a id="412" href="Haskell.Prim.List.html#310" class="Function Operator">++</a> <a id="415" href="Haskell.Prim.List.html#400" class="Bound">ys</a>
+
+<a id="filter"></a><a id="419" href="Haskell.Prim.List.html#419" class="Function">filter</a> <a id="426" class="Symbol">:</a> <a id="428" class="Symbol">(</a><a id="429" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="431" class="Symbol">→</a> <a id="433" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="437" class="Symbol">)</a> <a id="439" class="Symbol">→</a> <a id="441" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="446" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="448" class="Symbol">→</a> <a id="450" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="455" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="457" href="Haskell.Prim.List.html#419" class="Function">filter</a> <a id="464" href="Haskell.Prim.List.html#464" class="Bound">p</a> <a id="466" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="475" class="Symbol">=</a> <a id="477" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="480" href="Haskell.Prim.List.html#419" class="Function">filter</a> <a id="487" href="Haskell.Prim.List.html#487" class="Bound">p</a> <a id="489" class="Symbol">(</a><a id="490" href="Haskell.Prim.List.html#490" class="Bound">x</a> <a id="492" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="494" href="Haskell.Prim.List.html#494" class="Bound">xs</a><a id="496" class="Symbol">)</a> <a id="498" class="Symbol">=</a> <a id="500" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="503" href="Haskell.Prim.List.html#487" class="Bound">p</a> <a id="505" href="Haskell.Prim.List.html#490" class="Bound">x</a> <a id="507" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="512" href="Haskell.Prim.List.html#490" class="Bound">x</a> <a id="514" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="516" href="Haskell.Prim.List.html#419" class="Function">filter</a> <a id="523" href="Haskell.Prim.List.html#487" class="Bound">p</a> <a id="525" href="Haskell.Prim.List.html#494" class="Bound">xs</a> <a id="528" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="533" href="Haskell.Prim.List.html#419" class="Function">filter</a> <a id="540" href="Haskell.Prim.List.html#487" class="Bound">p</a> <a id="542" href="Haskell.Prim.List.html#494" class="Bound">xs</a>
+
+<a id="scanl"></a><a id="546" href="Haskell.Prim.List.html#546" class="Function">scanl</a> <a id="552" class="Symbol">:</a> <a id="554" class="Symbol">(</a><a id="555" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="557" class="Symbol">→</a> <a id="559" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="561" class="Symbol">→</a> <a id="563" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="564" class="Symbol">)</a> <a id="566" class="Symbol">→</a> <a id="568" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="570" class="Symbol">→</a> <a id="572" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="577" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="579" class="Symbol">→</a> <a id="581" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="586" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="588" href="Haskell.Prim.List.html#546" class="Function">scanl</a> <a id="594" href="Haskell.Prim.List.html#594" class="Bound">f</a> <a id="596" href="Haskell.Prim.List.html#596" class="Bound">z</a> <a id="598" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="607" class="Symbol">=</a> <a id="609" href="Haskell.Prim.List.html#596" class="Bound">z</a> <a id="611" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="613" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="616" href="Haskell.Prim.List.html#546" class="Function">scanl</a> <a id="622" href="Haskell.Prim.List.html#622" class="Bound">f</a> <a id="624" href="Haskell.Prim.List.html#624" class="Bound">z</a> <a id="626" class="Symbol">(</a><a id="627" href="Haskell.Prim.List.html#627" class="Bound">x</a> <a id="629" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="631" href="Haskell.Prim.List.html#631" class="Bound">xs</a><a id="633" class="Symbol">)</a> <a id="635" class="Symbol">=</a> <a id="637" href="Haskell.Prim.List.html#624" class="Bound">z</a> <a id="639" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="641" href="Haskell.Prim.List.html#546" class="Function">scanl</a> <a id="647" href="Haskell.Prim.List.html#622" class="Bound">f</a> <a id="649" class="Symbol">(</a><a id="650" href="Haskell.Prim.List.html#622" class="Bound">f</a> <a id="652" href="Haskell.Prim.List.html#624" class="Bound">z</a> <a id="654" href="Haskell.Prim.List.html#627" class="Bound">x</a><a id="655" class="Symbol">)</a> <a id="657" href="Haskell.Prim.List.html#631" class="Bound">xs</a>
+
+<a id="scanr"></a><a id="661" href="Haskell.Prim.List.html#661" class="Function">scanr</a> <a id="667" class="Symbol">:</a> <a id="669" class="Symbol">(</a><a id="670" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="672" class="Symbol">→</a> <a id="674" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="676" class="Symbol">→</a> <a id="678" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="679" class="Symbol">)</a> <a id="681" class="Symbol">→</a> <a id="683" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="685" class="Symbol">→</a> <a id="687" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="692" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="694" class="Symbol">→</a> <a id="696" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="701" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="703" href="Haskell.Prim.List.html#661" class="Function">scanr</a> <a id="709" href="Haskell.Prim.List.html#709" class="Bound">f</a> <a id="711" href="Haskell.Prim.List.html#711" class="Bound">z</a> <a id="713" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="716" class="Symbol">=</a> <a id="718" href="Haskell.Prim.List.html#711" class="Bound">z</a> <a id="720" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="722" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="725" href="Haskell.Prim.List.html#661" class="Function">scanr</a> <a id="731" href="Haskell.Prim.List.html#731" class="Bound">f</a> <a id="733" href="Haskell.Prim.List.html#733" class="Bound">z</a> <a id="735" class="Symbol">(</a><a id="736" href="Haskell.Prim.List.html#736" class="Bound">x</a> <a id="738" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="740" href="Haskell.Prim.List.html#740" class="Bound">xs</a><a id="742" class="Symbol">)</a> <a id="744" class="Symbol">=</a>
+  <a id="748" href="Haskell.Prim.html#1609" class="Function Operator">case</a> <a id="753" href="Haskell.Prim.List.html#661" class="Function">scanr</a> <a id="759" href="Haskell.Prim.List.html#731" class="Bound">f</a> <a id="761" href="Haskell.Prim.List.html#733" class="Bound">z</a> <a id="763" href="Haskell.Prim.List.html#740" class="Bound">xs</a> <a id="766" href="Haskell.Prim.html#1609" class="Function Operator">of</a> <a id="769" class="Symbol">λ</a> <a id="771" class="Keyword">where</a>
+    <a id="781" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>         <a id="792" class="Symbol">→</a> <a id="794" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="797" class="Comment">-- impossible</a>
+    <a id="815" href="Haskell.Prim.List.html#815" class="Bound">qs</a><a id="817" class="Symbol">@(</a><a id="819" href="Haskell.Prim.List.html#819" class="Bound">q</a> <a id="821" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="823" class="Symbol">_)</a> <a id="826" class="Symbol">→</a> <a id="828" href="Haskell.Prim.List.html#731" class="Bound">f</a> <a id="830" href="Haskell.Prim.List.html#736" class="Bound">x</a> <a id="832" href="Haskell.Prim.List.html#819" class="Bound">q</a> <a id="834" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="836" href="Haskell.Prim.List.html#815" class="Bound">qs</a>
+
+<a id="scanl1"></a><a id="840" href="Haskell.Prim.List.html#840" class="Function">scanl1</a> <a id="847" class="Symbol">:</a> <a id="849" class="Symbol">(</a><a id="850" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="852" class="Symbol">→</a> <a id="854" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="856" class="Symbol">→</a> <a id="858" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="859" class="Symbol">)</a> <a id="861" class="Symbol">→</a> <a id="863" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="868" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="870" class="Symbol">→</a> <a id="872" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="877" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="879" href="Haskell.Prim.List.html#840" class="Function">scanl1</a> <a id="886" href="Haskell.Prim.List.html#886" class="Bound">f</a> <a id="888" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="897" class="Symbol">=</a> <a id="899" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="902" href="Haskell.Prim.List.html#840" class="Function">scanl1</a> <a id="909" href="Haskell.Prim.List.html#909" class="Bound">f</a> <a id="911" class="Symbol">(</a><a id="912" href="Haskell.Prim.List.html#912" class="Bound">x</a> <a id="914" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="916" href="Haskell.Prim.List.html#916" class="Bound">xs</a><a id="918" class="Symbol">)</a> <a id="920" class="Symbol">=</a> <a id="922" href="Haskell.Prim.List.html#546" class="Function">scanl</a> <a id="928" href="Haskell.Prim.List.html#909" class="Bound">f</a> <a id="930" href="Haskell.Prim.List.html#912" class="Bound">x</a> <a id="932" href="Haskell.Prim.List.html#916" class="Bound">xs</a>
+
+<a id="scanr1"></a><a id="936" href="Haskell.Prim.List.html#936" class="Function">scanr1</a> <a id="943" class="Symbol">:</a> <a id="945" class="Symbol">(</a><a id="946" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="948" class="Symbol">→</a> <a id="950" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="952" class="Symbol">→</a> <a id="954" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="955" class="Symbol">)</a> <a id="957" class="Symbol">→</a> <a id="959" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="964" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="966" class="Symbol">→</a> <a id="968" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="973" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="975" href="Haskell.Prim.List.html#936" class="Function">scanr1</a> <a id="982" href="Haskell.Prim.List.html#982" class="Bound">f</a> <a id="984" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="993" class="Symbol">=</a> <a id="995" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="998" href="Haskell.Prim.List.html#936" class="Function">scanr1</a> <a id="1005" href="Haskell.Prim.List.html#1005" class="Bound">f</a> <a id="1007" class="Symbol">(</a><a id="1008" href="Haskell.Prim.List.html#1008" class="Bound">x</a> <a id="1010" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1012" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a><a id="1014" class="Symbol">)</a> <a id="1016" class="Symbol">=</a> <a id="1018" href="Haskell.Prim.List.html#1008" class="Bound">x</a> <a id="1020" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1022" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="1025" href="Haskell.Prim.List.html#936" class="CatchallClause Function">scanr1</a><a id="1031" class="CatchallClause"> </a><a id="1032" href="Haskell.Prim.List.html#1032" class="CatchallClause Bound">f</a><a id="1033" class="CatchallClause"> </a><a id="1034" class="CatchallClause Symbol">(</a><a id="1035" href="Haskell.Prim.List.html#1035" class="CatchallClause Bound">x</a><a id="1036" class="CatchallClause"> </a><a id="1037" href="Agda.Builtin.List.html#199" class="CatchallClause InductiveConstructor Operator">∷</a><a id="1038" class="CatchallClause"> </a><a id="1039" href="Haskell.Prim.List.html#1039" class="CatchallClause Bound">xs</a><a id="1041" class="CatchallClause Symbol">)</a> <a id="1043" class="Symbol">=</a>
+  <a id="1047" href="Haskell.Prim.html#1609" class="Function Operator">case</a> <a id="1052" href="Haskell.Prim.List.html#936" class="Function">scanr1</a> <a id="1059" href="Haskell.Prim.List.html#1032" class="Bound">f</a> <a id="1061" href="Haskell.Prim.List.html#1039" class="Bound">xs</a> <a id="1064" href="Haskell.Prim.html#1609" class="Function Operator">of</a> <a id="1067" class="Symbol">λ</a> <a id="1069" class="Keyword">where</a>
+    <a id="1079" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>         <a id="1090" class="Symbol">→</a> <a id="1092" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="1095" class="Comment">-- impossible</a>
+    <a id="1113" href="Haskell.Prim.List.html#1113" class="Bound">qs</a><a id="1115" class="Symbol">@(</a><a id="1117" href="Haskell.Prim.List.html#1117" class="Bound">q</a> <a id="1119" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1121" class="Symbol">_)</a> <a id="1124" class="Symbol">→</a> <a id="1126" href="Haskell.Prim.List.html#1032" class="Bound">f</a> <a id="1128" href="Haskell.Prim.List.html#1035" class="Bound">x</a> <a id="1130" href="Haskell.Prim.List.html#1117" class="Bound">q</a> <a id="1132" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1134" href="Haskell.Prim.List.html#1113" class="Bound">qs</a>
+
+<a id="takeWhile"></a><a id="1138" href="Haskell.Prim.List.html#1138" class="Function">takeWhile</a> <a id="1148" class="Symbol">:</a> <a id="1150" class="Symbol">(</a><a id="1151" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1153" class="Symbol">→</a> <a id="1155" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="1159" class="Symbol">)</a> <a id="1161" class="Symbol">→</a> <a id="1163" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1168" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1170" class="Symbol">→</a> <a id="1172" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1177" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="1179" href="Haskell.Prim.List.html#1138" class="Function">takeWhile</a> <a id="1189" href="Haskell.Prim.List.html#1189" class="Bound">p</a> <a id="1191" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="1194" class="Symbol">=</a> <a id="1196" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="1199" href="Haskell.Prim.List.html#1138" class="Function">takeWhile</a> <a id="1209" href="Haskell.Prim.List.html#1209" class="Bound">p</a> <a id="1211" class="Symbol">(</a><a id="1212" href="Haskell.Prim.List.html#1212" class="Bound">x</a> <a id="1214" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1216" href="Haskell.Prim.List.html#1216" class="Bound">xs</a><a id="1218" class="Symbol">)</a> <a id="1220" class="Symbol">=</a> <a id="1222" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="1225" href="Haskell.Prim.List.html#1209" class="Bound">p</a> <a id="1227" href="Haskell.Prim.List.html#1212" class="Bound">x</a> <a id="1229" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="1234" href="Haskell.Prim.List.html#1212" class="Bound">x</a> <a id="1236" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1238" href="Haskell.Prim.List.html#1138" class="Function">takeWhile</a> <a id="1248" href="Haskell.Prim.List.html#1209" class="Bound">p</a> <a id="1250" href="Haskell.Prim.List.html#1216" class="Bound">xs</a> <a id="1253" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="1258" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+
+<a id="dropWhile"></a><a id="1262" href="Haskell.Prim.List.html#1262" class="Function">dropWhile</a> <a id="1272" class="Symbol">:</a> <a id="1274" class="Symbol">(</a><a id="1275" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1277" class="Symbol">→</a> <a id="1279" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="1283" class="Symbol">)</a> <a id="1285" class="Symbol">→</a> <a id="1287" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1292" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1294" class="Symbol">→</a> <a id="1296" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1301" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="1303" href="Haskell.Prim.List.html#1262" class="Function">dropWhile</a> <a id="1313" href="Haskell.Prim.List.html#1313" class="Bound">p</a> <a id="1315" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="1318" class="Symbol">=</a> <a id="1320" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="1323" href="Haskell.Prim.List.html#1262" class="Function">dropWhile</a> <a id="1333" href="Haskell.Prim.List.html#1333" class="Bound">p</a> <a id="1335" class="Symbol">(</a><a id="1336" href="Haskell.Prim.List.html#1336" class="Bound">x</a> <a id="1338" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1340" href="Haskell.Prim.List.html#1340" class="Bound">xs</a><a id="1342" class="Symbol">)</a> <a id="1344" class="Symbol">=</a> <a id="1346" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="1349" href="Haskell.Prim.List.html#1333" class="Bound">p</a> <a id="1351" href="Haskell.Prim.List.html#1336" class="Bound">x</a> <a id="1353" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="1358" href="Haskell.Prim.List.html#1262" class="Function">dropWhile</a> <a id="1368" href="Haskell.Prim.List.html#1333" class="Bound">p</a> <a id="1370" href="Haskell.Prim.List.html#1340" class="Bound">xs</a> <a id="1373" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="1378" href="Haskell.Prim.List.html#1336" class="Bound">x</a> <a id="1380" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1382" href="Haskell.Prim.List.html#1340" class="Bound">xs</a>
+
+<a id="span"></a><a id="1386" href="Haskell.Prim.List.html#1386" class="Function">span</a> <a id="1391" class="Symbol">:</a> <a id="1393" class="Symbol">(</a><a id="1394" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1396" class="Symbol">→</a> <a id="1398" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="1402" class="Symbol">)</a> <a id="1404" class="Symbol">→</a> <a id="1406" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1411" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1413" class="Symbol">→</a> <a id="1415" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1420" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1422" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="1424" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1429" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="1431" href="Haskell.Prim.List.html#1386" class="Function">span</a> <a id="1436" href="Haskell.Prim.List.html#1436" class="Bound">p</a> <a id="1438" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="1441" class="Symbol">=</a> <a id="1443" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="1446" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="1448" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="1451" href="Haskell.Prim.List.html#1386" class="Function">span</a> <a id="1456" href="Haskell.Prim.List.html#1456" class="Bound">p</a> <a id="1458" class="Symbol">(</a><a id="1459" href="Haskell.Prim.List.html#1459" class="Bound">x</a> <a id="1461" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1463" href="Haskell.Prim.List.html#1463" class="Bound">xs</a><a id="1465" class="Symbol">)</a> <a id="1467" class="Symbol">=</a> <a id="1469" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="1472" href="Haskell.Prim.List.html#1456" class="Bound">p</a> <a id="1474" href="Haskell.Prim.List.html#1459" class="Bound">x</a> <a id="1476" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="1481" href="Haskell.Prim.Tuple.html#452" class="Function">first</a> <a id="1487" class="Symbol">(</a><a id="1488" href="Haskell.Prim.List.html#1459" class="Bound">x</a> <a id="1490" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷_</a><a id="1492" class="Symbol">)</a> <a id="1494" class="Symbol">(</a><a id="1495" href="Haskell.Prim.List.html#1386" class="Function">span</a> <a id="1500" href="Haskell.Prim.List.html#1456" class="Bound">p</a> <a id="1502" href="Haskell.Prim.List.html#1463" class="Bound">xs</a><a id="1504" class="Symbol">)</a>
+                         <a id="1531" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="1536" class="Symbol">(</a><a id="1537" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="1540" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="1542" href="Haskell.Prim.List.html#1459" class="Bound">x</a> <a id="1544" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1546" href="Haskell.Prim.List.html#1463" class="Bound">xs</a><a id="1548" class="Symbol">)</a>
+
+<a id="break"></a><a id="1551" href="Haskell.Prim.List.html#1551" class="Function">break</a> <a id="1557" class="Symbol">:</a> <a id="1559" class="Symbol">(</a><a id="1560" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1562" class="Symbol">→</a> <a id="1564" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="1568" class="Symbol">)</a> <a id="1570" class="Symbol">→</a> <a id="1572" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1577" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1579" class="Symbol">→</a> <a id="1581" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1586" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1588" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="1590" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1595" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="1597" href="Haskell.Prim.List.html#1551" class="Function">break</a> <a id="1603" href="Haskell.Prim.List.html#1603" class="Bound">p</a> <a id="1605" class="Symbol">=</a> <a id="1607" href="Haskell.Prim.List.html#1386" class="Function">span</a> <a id="1612" class="Symbol">(</a><a id="1613" href="Haskell.Prim.Bool.html#273" class="Function">not</a> <a id="1617" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="1619" href="Haskell.Prim.List.html#1603" class="Bound">p</a><a id="1620" class="Symbol">)</a>
+
+<a id="zipWith"></a><a id="1623" href="Haskell.Prim.List.html#1623" class="Function">zipWith</a> <a id="1631" class="Symbol">:</a> <a id="1633" class="Symbol">(</a><a id="1634" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1636" class="Symbol">→</a> <a id="1638" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1640" class="Symbol">→</a> <a id="1642" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="1643" class="Symbol">)</a> <a id="1645" class="Symbol">→</a> <a id="1647" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1652" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1654" class="Symbol">→</a> <a id="1656" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1661" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1663" class="Symbol">→</a> <a id="1665" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1670" href="Haskell.Prim.html#1195" class="Generalizable">c</a>
+<a id="1672" href="Haskell.Prim.List.html#1623" class="Function">zipWith</a> <a id="1680" href="Haskell.Prim.List.html#1680" class="Bound">f</a> <a id="1682" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="1691" class="Symbol">_</a>        <a id="1700" class="Symbol">=</a> <a id="1702" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="1705" href="Haskell.Prim.List.html#1623" class="CatchallClause Function">zipWith</a><a id="1712" class="CatchallClause"> </a><a id="1713" href="Haskell.Prim.List.html#1713" class="CatchallClause Bound">f</a><a id="1714" class="CatchallClause"> </a><a id="1715" class="CatchallClause Symbol">_</a><a id="1716" class="CatchallClause">        </a><a id="1724" href="Agda.Builtin.List.html#184" class="CatchallClause InductiveConstructor">[]</a>       <a id="1733" class="Symbol">=</a> <a id="1735" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="1738" href="Haskell.Prim.List.html#1623" class="Function">zipWith</a> <a id="1746" href="Haskell.Prim.List.html#1746" class="Bound">f</a> <a id="1748" class="Symbol">(</a><a id="1749" href="Haskell.Prim.List.html#1749" class="Bound">x</a> <a id="1751" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1753" href="Haskell.Prim.List.html#1753" class="Bound">xs</a><a id="1755" class="Symbol">)</a> <a id="1757" class="Symbol">(</a><a id="1758" href="Haskell.Prim.List.html#1758" class="Bound">y</a> <a id="1760" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1762" href="Haskell.Prim.List.html#1762" class="Bound">ys</a><a id="1764" class="Symbol">)</a> <a id="1766" class="Symbol">=</a> <a id="1768" href="Haskell.Prim.List.html#1746" class="Bound">f</a> <a id="1770" href="Haskell.Prim.List.html#1749" class="Bound">x</a> <a id="1772" href="Haskell.Prim.List.html#1758" class="Bound">y</a> <a id="1774" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1776" href="Haskell.Prim.List.html#1623" class="Function">zipWith</a> <a id="1784" href="Haskell.Prim.List.html#1746" class="Bound">f</a> <a id="1786" href="Haskell.Prim.List.html#1753" class="Bound">xs</a> <a id="1789" href="Haskell.Prim.List.html#1762" class="Bound">ys</a>
+
+<a id="zip"></a><a id="1793" href="Haskell.Prim.List.html#1793" class="Function">zip</a> <a id="1797" class="Symbol">:</a> <a id="1799" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1804" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1806" class="Symbol">→</a> <a id="1808" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1813" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1815" class="Symbol">→</a> <a id="1817" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1822" class="Symbol">(</a><a id="1823" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1825" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="1827" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1828" class="Symbol">)</a>
+<a id="1830" href="Haskell.Prim.List.html#1793" class="Function">zip</a> <a id="1834" class="Symbol">=</a> <a id="1836" href="Haskell.Prim.List.html#1623" class="Function">zipWith</a> <a id="1844" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">_,_</a>
+
+<a id="zipWith3"></a><a id="1849" href="Haskell.Prim.List.html#1849" class="Function">zipWith3</a> <a id="1858" class="Symbol">:</a> <a id="1860" class="Symbol">(</a><a id="1861" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1863" class="Symbol">→</a> <a id="1865" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1867" class="Symbol">→</a> <a id="1869" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="1871" class="Symbol">→</a> <a id="1873" href="Haskell.Prim.html#1197" class="Generalizable">d</a><a id="1874" class="Symbol">)</a> <a id="1876" class="Symbol">→</a> <a id="1878" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1883" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1885" class="Symbol">→</a> <a id="1887" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1892" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1894" class="Symbol">→</a> <a id="1896" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1901" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="1903" class="Symbol">→</a> <a id="1905" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1910" href="Haskell.Prim.html#1197" class="Generalizable">d</a>
+<a id="1912" href="Haskell.Prim.List.html#1849" class="Function">zipWith3</a> <a id="1921" href="Haskell.Prim.List.html#1921" class="Bound">f</a> <a id="1923" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="1932" class="Symbol">_</a>        <a id="1941" class="Symbol">_</a>        <a id="1950" class="Symbol">=</a> <a id="1952" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="1955" href="Haskell.Prim.List.html#1849" class="CatchallClause Function">zipWith3</a><a id="1963" class="CatchallClause"> </a><a id="1964" href="Haskell.Prim.List.html#1964" class="CatchallClause Bound">f</a><a id="1965" class="CatchallClause"> </a><a id="1966" class="CatchallClause Symbol">_</a><a id="1967" class="CatchallClause">        </a><a id="1975" href="Agda.Builtin.List.html#184" class="CatchallClause InductiveConstructor">[]</a><a id="1977" class="CatchallClause">       </a><a id="1984" class="CatchallClause Symbol">_</a>        <a id="1993" class="Symbol">=</a> <a id="1995" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="1998" href="Haskell.Prim.List.html#1849" class="CatchallClause Function">zipWith3</a><a id="2006" class="CatchallClause"> </a><a id="2007" href="Haskell.Prim.List.html#2007" class="CatchallClause Bound">f</a><a id="2008" class="CatchallClause"> </a><a id="2009" class="CatchallClause Symbol">_</a><a id="2010" class="CatchallClause">        </a><a id="2018" class="CatchallClause Symbol">_</a><a id="2019" class="CatchallClause">        </a><a id="2027" href="Agda.Builtin.List.html#184" class="CatchallClause InductiveConstructor">[]</a>       <a id="2036" class="Symbol">=</a> <a id="2038" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="2041" href="Haskell.Prim.List.html#1849" class="Function">zipWith3</a> <a id="2050" href="Haskell.Prim.List.html#2050" class="Bound">f</a> <a id="2052" class="Symbol">(</a><a id="2053" href="Haskell.Prim.List.html#2053" class="Bound">x</a> <a id="2055" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2057" href="Haskell.Prim.List.html#2057" class="Bound">xs</a><a id="2059" class="Symbol">)</a> <a id="2061" class="Symbol">(</a><a id="2062" href="Haskell.Prim.List.html#2062" class="Bound">y</a> <a id="2064" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2066" href="Haskell.Prim.List.html#2066" class="Bound">ys</a><a id="2068" class="Symbol">)</a> <a id="2070" class="Symbol">(</a><a id="2071" href="Haskell.Prim.List.html#2071" class="Bound">z</a> <a id="2073" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2075" href="Haskell.Prim.List.html#2075" class="Bound">zs</a><a id="2077" class="Symbol">)</a> <a id="2079" class="Symbol">=</a> <a id="2081" href="Haskell.Prim.List.html#2050" class="Bound">f</a> <a id="2083" href="Haskell.Prim.List.html#2053" class="Bound">x</a> <a id="2085" href="Haskell.Prim.List.html#2062" class="Bound">y</a> <a id="2087" href="Haskell.Prim.List.html#2071" class="Bound">z</a> <a id="2089" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2091" href="Haskell.Prim.List.html#1849" class="Function">zipWith3</a> <a id="2100" href="Haskell.Prim.List.html#2050" class="Bound">f</a> <a id="2102" href="Haskell.Prim.List.html#2057" class="Bound">xs</a> <a id="2105" href="Haskell.Prim.List.html#2066" class="Bound">ys</a> <a id="2108" href="Haskell.Prim.List.html#2075" class="Bound">zs</a>
+
+<a id="zip3"></a><a id="2112" href="Haskell.Prim.List.html#2112" class="Function">zip3</a> <a id="2117" class="Symbol">:</a> <a id="2119" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2124" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2126" class="Symbol">→</a> <a id="2128" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2133" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2135" class="Symbol">→</a> <a id="2137" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2142" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="2144" class="Symbol">→</a> <a id="2146" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2151" class="Symbol">(</a><a id="2152" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2154" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="2156" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2158" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="2160" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="2161" class="Symbol">)</a>
+<a id="2163" href="Haskell.Prim.List.html#2112" class="Function">zip3</a> <a id="2168" class="Symbol">=</a> <a id="2170" href="Haskell.Prim.List.html#1849" class="Function">zipWith3</a> <a id="2179" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">_,_,_</a>
+
+<a id="unzip"></a><a id="2186" href="Haskell.Prim.List.html#2186" class="Function">unzip</a> <a id="2192" class="Symbol">:</a> <a id="2194" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2199" class="Symbol">(</a><a id="2200" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2202" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="2204" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="2205" class="Symbol">)</a> <a id="2207" class="Symbol">→</a> <a id="2209" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2214" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2216" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="2218" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2223" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="2225" href="Haskell.Prim.List.html#2186" class="Function">unzip</a> <a id="2231" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>              <a id="2247" class="Symbol">=</a> <a id="2249" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="2252" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="2254" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="2257" href="Haskell.Prim.List.html#2186" class="Function">unzip</a> <a id="2263" class="Symbol">((</a><a id="2265" href="Haskell.Prim.List.html#2265" class="Bound">x</a> <a id="2267" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="2269" href="Haskell.Prim.List.html#2269" class="Bound">y</a><a id="2270" class="Symbol">)</a> <a id="2272" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2274" href="Haskell.Prim.List.html#2274" class="Bound">xys</a><a id="2277" class="Symbol">)</a> <a id="2279" class="Symbol">=</a> <a id="2281" class="Symbol">(</a><a id="2282" href="Haskell.Prim.List.html#2265" class="Bound">x</a> <a id="2284" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷_</a><a id="2286" class="Symbol">)</a> <a id="2288" href="Haskell.Prim.Tuple.html#572" class="Function Operator">***</a> <a id="2292" class="Symbol">(</a><a id="2293" href="Haskell.Prim.List.html#2269" class="Bound">y</a> <a id="2295" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷_</a><a id="2297" class="Symbol">)</a> <a id="2299" href="Haskell.Prim.html#1480" class="Function Operator">$</a> <a id="2301" href="Haskell.Prim.List.html#2186" class="Function">unzip</a> <a id="2307" href="Haskell.Prim.List.html#2274" class="Bound">xys</a>
+
+<a id="unzip3"></a><a id="2312" href="Haskell.Prim.List.html#2312" class="Function">unzip3</a> <a id="2319" class="Symbol">:</a> <a id="2321" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2326" class="Symbol">(</a><a id="2327" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2329" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="2331" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2333" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="2335" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="2336" class="Symbol">)</a> <a id="2338" class="Symbol">→</a> <a id="2340" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2345" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2347" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="2349" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2354" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2356" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="2358" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2363" href="Haskell.Prim.html#1195" class="Generalizable">c</a>
+<a id="2365" href="Haskell.Prim.List.html#2312" class="Function">unzip3</a> <a id="2372" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>                   <a id="2393" class="Symbol">=</a> <a id="2395" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="2398" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2400" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="2403" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2405" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="2408" href="Haskell.Prim.List.html#2312" class="Function">unzip3</a> <a id="2415" class="Symbol">((</a><a id="2417" href="Haskell.Prim.List.html#2417" class="Bound">x</a> <a id="2419" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2421" href="Haskell.Prim.List.html#2421" class="Bound">y</a> <a id="2423" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2425" href="Haskell.Prim.List.html#2425" class="Bound">z</a><a id="2426" class="Symbol">)</a> <a id="2428" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2430" href="Haskell.Prim.List.html#2430" class="Bound">xyzs</a><a id="2434" class="Symbol">)</a> <a id="2436" class="Symbol">=</a>
+  <a id="2440" href="Haskell.Prim.html#1609" class="Function Operator">case</a> <a id="2445" href="Haskell.Prim.List.html#2312" class="Function">unzip3</a> <a id="2452" href="Haskell.Prim.List.html#2430" class="Bound">xyzs</a> <a id="2457" href="Haskell.Prim.html#1609" class="Function Operator">of</a> <a id="2460" class="Symbol">λ</a> <a id="2462" class="Keyword">where</a>
+    <a id="2472" class="Symbol">(</a><a id="2473" href="Haskell.Prim.List.html#2473" class="Bound">xs</a> <a id="2476" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2478" href="Haskell.Prim.List.html#2478" class="Bound">ys</a> <a id="2481" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2483" href="Haskell.Prim.List.html#2483" class="Bound">zs</a><a id="2485" class="Symbol">)</a> <a id="2487" class="Symbol">→</a> <a id="2489" href="Haskell.Prim.List.html#2417" class="Bound">x</a> <a id="2491" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2493" href="Haskell.Prim.List.html#2473" class="Bound">xs</a> <a id="2496" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2498" href="Haskell.Prim.List.html#2421" class="Bound">y</a> <a id="2500" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2502" href="Haskell.Prim.List.html#2478" class="Bound">ys</a> <a id="2505" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2507" href="Haskell.Prim.List.html#2425" class="Bound">z</a> <a id="2509" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2511" href="Haskell.Prim.List.html#2483" class="Bound">zs</a>
+
+<a id="takeNat"></a><a id="2515" href="Haskell.Prim.List.html#2515" class="Function">takeNat</a> <a id="2523" class="Symbol">:</a> <a id="2525" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="2529" class="Symbol">→</a> <a id="2531" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2536" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2538" class="Symbol">→</a> <a id="2540" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2545" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="2547" href="Haskell.Prim.List.html#2515" class="Function">takeNat</a> <a id="2555" href="Haskell.Prim.List.html#2555" class="Bound">n</a>       <a id="2563" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="2566" class="Symbol">=</a> <a id="2568" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="2571" href="Haskell.Prim.List.html#2515" class="CatchallClause Function">takeNat</a><a id="2578" class="CatchallClause"> </a><a id="2579" href="Agda.Builtin.Nat.html#221" class="CatchallClause InductiveConstructor">zero</a><a id="2583" class="CatchallClause">    </a><a id="2587" href="Haskell.Prim.List.html#2587" class="CatchallClause Bound">xs</a> <a id="2590" class="Symbol">=</a> <a id="2592" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="2595" href="Haskell.Prim.List.html#2515" class="Function">takeNat</a> <a id="2603" class="Symbol">(</a><a id="2604" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="2608" href="Haskell.Prim.List.html#2608" class="Bound">n</a><a id="2609" class="Symbol">)</a> <a id="2611" class="Symbol">(</a><a id="2612" href="Haskell.Prim.List.html#2612" class="Bound">x</a> <a id="2614" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2616" href="Haskell.Prim.List.html#2616" class="Bound">xs</a><a id="2618" class="Symbol">)</a> <a id="2620" class="Symbol">=</a> <a id="2622" href="Haskell.Prim.List.html#2612" class="Bound">x</a> <a id="2624" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2626" href="Haskell.Prim.List.html#2515" class="Function">takeNat</a> <a id="2634" href="Haskell.Prim.List.html#2608" class="Bound">n</a> <a id="2636" href="Haskell.Prim.List.html#2616" class="Bound">xs</a>
+
+<a id="take"></a><a id="2640" href="Haskell.Prim.List.html#2640" class="Function">take</a> <a id="2645" class="Symbol">:</a> <a id="2647" class="Symbol">(</a><a id="2648" href="Haskell.Prim.List.html#2648" class="Bound">n</a> <a id="2650" class="Symbol">:</a> <a id="2652" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a><a id="2655" class="Symbol">)</a> <a id="2657" class="Symbol">→</a> <a id="2659" class="Symbol">@</a><a id="2660" class="Symbol">0</a> <a id="2662" class="Symbol">⦃</a> <a id="2664" href="Haskell.Prim.Int.html#2469" class="Function">IsNonNegativeInt</a> <a id="2681" href="Haskell.Prim.List.html#2648" class="Bound">n</a> <a id="2683" class="Symbol">⦄</a> <a id="2685" class="Symbol">→</a> <a id="2687" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2692" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2694" class="Symbol">→</a> <a id="2696" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2701" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="2703" href="Haskell.Prim.List.html#2640" class="Function">take</a> <a id="2708" href="Haskell.Prim.List.html#2708" class="Bound">n</a> <a id="2710" href="Haskell.Prim.List.html#2710" class="Bound">xs</a> <a id="2713" class="Symbol">=</a> <a id="2715" href="Haskell.Prim.List.html#2515" class="Function">takeNat</a> <a id="2723" class="Symbol">(</a><a id="2724" href="Haskell.Prim.Int.html#2661" class="Function">intToNat</a> <a id="2733" href="Haskell.Prim.List.html#2708" class="Bound">n</a><a id="2734" class="Symbol">)</a> <a id="2736" href="Haskell.Prim.List.html#2710" class="Bound">xs</a>
+
+<a id="dropNat"></a><a id="2740" href="Haskell.Prim.List.html#2740" class="Function">dropNat</a> <a id="2748" class="Symbol">:</a> <a id="2750" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="2754" class="Symbol">→</a> <a id="2756" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2761" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2763" class="Symbol">→</a> <a id="2765" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2770" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="2772" href="Haskell.Prim.List.html#2740" class="Function">dropNat</a> <a id="2780" href="Haskell.Prim.List.html#2780" class="Bound">n</a>       <a id="2788" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="2791" class="Symbol">=</a> <a id="2793" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="2796" href="Haskell.Prim.List.html#2740" class="CatchallClause Function">dropNat</a><a id="2803" class="CatchallClause"> </a><a id="2804" href="Agda.Builtin.Nat.html#221" class="CatchallClause InductiveConstructor">zero</a><a id="2808" class="CatchallClause">    </a><a id="2812" href="Haskell.Prim.List.html#2812" class="CatchallClause Bound">xs</a> <a id="2815" class="Symbol">=</a> <a id="2817" href="Haskell.Prim.List.html#2812" class="Bound">xs</a>
+<a id="2820" href="Haskell.Prim.List.html#2740" class="Function">dropNat</a> <a id="2828" class="Symbol">(</a><a id="2829" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="2833" href="Haskell.Prim.List.html#2833" class="Bound">n</a><a id="2834" class="Symbol">)</a> <a id="2836" class="Symbol">(_</a> <a id="2839" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2841" href="Haskell.Prim.List.html#2841" class="Bound">xs</a><a id="2843" class="Symbol">)</a> <a id="2845" class="Symbol">=</a> <a id="2847" href="Haskell.Prim.List.html#2740" class="Function">dropNat</a> <a id="2855" href="Haskell.Prim.List.html#2833" class="Bound">n</a> <a id="2857" href="Haskell.Prim.List.html#2841" class="Bound">xs</a>
+
+<a id="drop"></a><a id="2861" href="Haskell.Prim.List.html#2861" class="Function">drop</a> <a id="2866" class="Symbol">:</a> <a id="2868" class="Symbol">(</a><a id="2869" href="Haskell.Prim.List.html#2869" class="Bound">n</a> <a id="2871" class="Symbol">:</a> <a id="2873" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a><a id="2876" class="Symbol">)</a> <a id="2878" class="Symbol">→</a> <a id="2880" class="Symbol">@</a><a id="2881" class="Symbol">0</a> <a id="2883" class="Symbol">⦃</a> <a id="2885" href="Haskell.Prim.Int.html#2469" class="Function">IsNonNegativeInt</a> <a id="2902" href="Haskell.Prim.List.html#2869" class="Bound">n</a> <a id="2904" class="Symbol">⦄</a> <a id="2906" class="Symbol">→</a> <a id="2908" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2913" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2915" class="Symbol">→</a> <a id="2917" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2922" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="2924" href="Haskell.Prim.List.html#2861" class="Function">drop</a> <a id="2929" href="Haskell.Prim.List.html#2929" class="Bound">n</a> <a id="2931" href="Haskell.Prim.List.html#2931" class="Bound">xs</a> <a id="2934" class="Symbol">=</a> <a id="2936" href="Haskell.Prim.List.html#2740" class="Function">dropNat</a> <a id="2944" class="Symbol">(</a><a id="2945" href="Haskell.Prim.Int.html#2661" class="Function">intToNat</a> <a id="2954" href="Haskell.Prim.List.html#2929" class="Bound">n</a><a id="2955" class="Symbol">)</a> <a id="2957" href="Haskell.Prim.List.html#2931" class="Bound">xs</a>
+
+<a id="splitAtNat"></a><a id="2961" href="Haskell.Prim.List.html#2961" class="Function">splitAtNat</a> <a id="2972" class="Symbol">:</a> <a id="2974" class="Symbol">(</a><a id="2975" href="Haskell.Prim.List.html#2975" class="Bound">n</a> <a id="2977" class="Symbol">:</a> <a id="2979" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="2982" class="Symbol">)</a> <a id="2984" class="Symbol">→</a> <a id="2986" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2991" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2993" class="Symbol">→</a> <a id="2995" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3000" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3002" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="3004" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3009" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3011" href="Haskell.Prim.List.html#2961" class="Function">splitAtNat</a> <a id="3022" class="Symbol">_</a>       <a id="3030" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="3039" class="Symbol">=</a> <a id="3041" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="3044" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="3046" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="3049" href="Haskell.Prim.List.html#2961" class="CatchallClause Function">splitAtNat</a><a id="3059" class="CatchallClause"> </a><a id="3060" class="CatchallClause Number">0</a><a id="3061" class="CatchallClause">       </a><a id="3068" href="Haskell.Prim.List.html#3068" class="CatchallClause Bound">xs</a>       <a id="3077" class="Symbol">=</a> <a id="3079" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="3082" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="3084" href="Haskell.Prim.List.html#3068" class="Bound">xs</a>
+<a id="3087" href="Haskell.Prim.List.html#2961" class="Function">splitAtNat</a> <a id="3098" class="Symbol">(</a><a id="3099" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="3103" href="Haskell.Prim.List.html#3103" class="Bound">n</a><a id="3104" class="Symbol">)</a> <a id="3106" class="Symbol">(</a><a id="3107" href="Haskell.Prim.List.html#3107" class="Bound">x</a> <a id="3109" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3111" href="Haskell.Prim.List.html#3111" class="Bound">xs</a><a id="3113" class="Symbol">)</a> <a id="3115" class="Symbol">=</a> <a id="3117" href="Haskell.Prim.Tuple.html#452" class="Function">first</a> <a id="3123" class="Symbol">(</a><a id="3124" href="Haskell.Prim.List.html#3107" class="Bound">x</a> <a id="3126" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷_</a><a id="3128" class="Symbol">)</a> <a id="3130" class="Symbol">(</a><a id="3131" href="Haskell.Prim.List.html#2961" class="Function">splitAtNat</a> <a id="3142" href="Haskell.Prim.List.html#3103" class="Bound">n</a> <a id="3144" href="Haskell.Prim.List.html#3111" class="Bound">xs</a><a id="3146" class="Symbol">)</a>
+
+<a id="splitAt"></a><a id="3149" href="Haskell.Prim.List.html#3149" class="Function">splitAt</a> <a id="3157" class="Symbol">:</a> <a id="3159" class="Symbol">(</a><a id="3160" href="Haskell.Prim.List.html#3160" class="Bound">n</a> <a id="3162" class="Symbol">:</a> <a id="3164" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a><a id="3167" class="Symbol">)</a> <a id="3169" class="Symbol">→</a> <a id="3171" class="Symbol">@</a><a id="3172" class="Symbol">0</a> <a id="3174" class="Symbol">⦃</a> <a id="3176" href="Haskell.Prim.Int.html#2469" class="Function">IsNonNegativeInt</a> <a id="3193" href="Haskell.Prim.List.html#3160" class="Bound">n</a> <a id="3195" class="Symbol">⦄</a> <a id="3197" class="Symbol">→</a> <a id="3199" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3204" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3206" class="Symbol">→</a> <a id="3208" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3213" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3215" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="3217" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3222" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3224" href="Haskell.Prim.List.html#3149" class="Function">splitAt</a> <a id="3232" href="Haskell.Prim.List.html#3232" class="Bound">n</a> <a id="3234" href="Haskell.Prim.List.html#3234" class="Bound">xs</a> <a id="3237" class="Symbol">=</a> <a id="3239" href="Haskell.Prim.List.html#2961" class="Function">splitAtNat</a> <a id="3250" class="Symbol">(</a><a id="3251" href="Haskell.Prim.Int.html#2661" class="Function">intToNat</a> <a id="3260" href="Haskell.Prim.List.html#3232" class="Bound">n</a><a id="3261" class="Symbol">)</a> <a id="3263" href="Haskell.Prim.List.html#3234" class="Bound">xs</a>
+
+<a id="head"></a><a id="3267" href="Haskell.Prim.List.html#3267" class="Function">head</a> <a id="3272" class="Symbol">:</a> <a id="3274" class="Symbol">(</a><a id="3275" href="Haskell.Prim.List.html#3275" class="Bound">xs</a> <a id="3278" class="Symbol">:</a> <a id="3280" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3285" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="3286" class="Symbol">)</a> <a id="3288" class="Symbol">→</a> <a id="3290" class="Symbol">@</a><a id="3291" class="Symbol">0</a> <a id="3293" class="Symbol">⦃</a> <a id="3295" href="Haskell.Prim.html#3115" class="Datatype">NonEmpty</a> <a id="3304" href="Haskell.Prim.List.html#3275" class="Bound">xs</a> <a id="3307" class="Symbol">⦄</a> <a id="3309" class="Symbol">→</a> <a id="3311" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3313" href="Haskell.Prim.List.html#3267" class="Function">head</a> <a id="3318" class="Symbol">(</a><a id="3319" href="Haskell.Prim.List.html#3319" class="Bound">x</a> <a id="3321" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3323" class="Symbol">_)</a> <a id="3326" class="Symbol">=</a> <a id="3328" href="Haskell.Prim.List.html#3319" class="Bound">x</a>
+
+<a id="tail"></a><a id="3331" href="Haskell.Prim.List.html#3331" class="Function">tail</a> <a id="3336" class="Symbol">:</a> <a id="3338" class="Symbol">(</a><a id="3339" href="Haskell.Prim.List.html#3339" class="Bound">xs</a> <a id="3342" class="Symbol">:</a> <a id="3344" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3349" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="3350" class="Symbol">)</a> <a id="3352" class="Symbol">→</a> <a id="3354" class="Symbol">@</a><a id="3355" class="Symbol">0</a> <a id="3357" class="Symbol">⦃</a> <a id="3359" href="Haskell.Prim.html#3115" class="Datatype">NonEmpty</a> <a id="3368" href="Haskell.Prim.List.html#3339" class="Bound">xs</a> <a id="3371" class="Symbol">⦄</a> <a id="3373" class="Symbol">→</a> <a id="3375" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3380" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3382" href="Haskell.Prim.List.html#3331" class="Function">tail</a> <a id="3387" class="Symbol">(_</a> <a id="3390" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3392" href="Haskell.Prim.List.html#3392" class="Bound">xs</a><a id="3394" class="Symbol">)</a> <a id="3396" class="Symbol">=</a> <a id="3398" href="Haskell.Prim.List.html#3392" class="Bound">xs</a>
+
+<a id="last"></a><a id="3402" href="Haskell.Prim.List.html#3402" class="Function">last</a> <a id="3407" class="Symbol">:</a> <a id="3409" class="Symbol">(</a><a id="3410" href="Haskell.Prim.List.html#3410" class="Bound">xs</a> <a id="3413" class="Symbol">:</a> <a id="3415" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3420" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="3421" class="Symbol">)</a> <a id="3423" class="Symbol">→</a> <a id="3425" class="Symbol">@</a><a id="3426" class="Symbol">0</a> <a id="3428" class="Symbol">⦃</a> <a id="3430" href="Haskell.Prim.html#3115" class="Datatype">NonEmpty</a> <a id="3439" href="Haskell.Prim.List.html#3410" class="Bound">xs</a> <a id="3442" class="Symbol">⦄</a> <a id="3444" class="Symbol">→</a> <a id="3446" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3448" href="Haskell.Prim.List.html#3402" class="Function">last</a> <a id="3453" class="Symbol">(</a><a id="3454" href="Haskell.Prim.List.html#3454" class="Bound">x</a> <a id="3456" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3458" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a><a id="3460" class="Symbol">)</a>         <a id="3470" class="Symbol">=</a> <a id="3472" href="Haskell.Prim.List.html#3454" class="Bound">x</a>
+<a id="3474" href="Haskell.Prim.List.html#3402" class="Function">last</a> <a id="3479" class="Symbol">(_</a> <a id="3482" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3484" href="Haskell.Prim.List.html#3484" class="Bound">xs</a><a id="3486" class="Symbol">@(_</a> <a id="3490" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3492" class="Symbol">_))</a> <a id="3496" class="Symbol">=</a> <a id="3498" href="Haskell.Prim.List.html#3402" class="Function">last</a> <a id="3503" href="Haskell.Prim.List.html#3484" class="Bound">xs</a>
+
+<a id="init"></a><a id="3507" href="Haskell.Prim.List.html#3507" class="Function">init</a> <a id="3512" class="Symbol">:</a> <a id="3514" class="Symbol">(</a><a id="3515" href="Haskell.Prim.List.html#3515" class="Bound">xs</a> <a id="3518" class="Symbol">:</a> <a id="3520" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3525" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="3526" class="Symbol">)</a> <a id="3528" class="Symbol">→</a> <a id="3530" class="Symbol">@</a><a id="3531" class="Symbol">0</a> <a id="3533" class="Symbol">⦃</a> <a id="3535" href="Haskell.Prim.html#3115" class="Datatype">NonEmpty</a> <a id="3544" href="Haskell.Prim.List.html#3515" class="Bound">xs</a> <a id="3547" class="Symbol">⦄</a> <a id="3549" class="Symbol">→</a> <a id="3551" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3556" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3558" href="Haskell.Prim.List.html#3507" class="Function">init</a> <a id="3563" class="Symbol">(</a><a id="3564" href="Haskell.Prim.List.html#3564" class="Bound">x</a> <a id="3566" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3568" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a><a id="3570" class="Symbol">)</a>         <a id="3580" class="Symbol">=</a> <a id="3582" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="3585" href="Haskell.Prim.List.html#3507" class="Function">init</a> <a id="3590" class="Symbol">(</a><a id="3591" href="Haskell.Prim.List.html#3591" class="Bound">x</a> <a id="3593" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3595" href="Haskell.Prim.List.html#3595" class="Bound">xs</a><a id="3597" class="Symbol">@(_</a> <a id="3601" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3603" class="Symbol">_))</a> <a id="3607" class="Symbol">=</a> <a id="3609" href="Haskell.Prim.List.html#3591" class="Bound">x</a> <a id="3611" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3613" href="Haskell.Prim.List.html#3507" class="Function">init</a> <a id="3618" href="Haskell.Prim.List.html#3595" class="Bound">xs</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Maybe.html b/lib/Haskell.Prim.Maybe.html
new file mode 100644
index 00000000..e0cd83ca
--- /dev/null
+++ b/lib/Haskell.Prim.Maybe.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Maybe</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Maybe.html" class="Module">Haskell.Prim.Maybe</a> <a id="28" class="Keyword">where</a>
+
+<a id="35" class="Comment">--------------------------------------------------</a>
+<a id="86" class="Comment">-- Maybe</a>
+
+<a id="96" class="Keyword">data</a> <a id="Maybe"></a><a id="101" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="107" class="Symbol">{@</a><a id="109" class="Symbol">0</a> <a id="111" href="Haskell.Prim.Maybe.html#111" class="Bound">ℓ</a><a id="112" class="Symbol">}</a> <a id="114" class="Symbol">(</a><a id="115" href="Haskell.Prim.Maybe.html#115" class="Bound">a</a> <a id="117" class="Symbol">:</a> <a id="119" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="123" href="Haskell.Prim.Maybe.html#111" class="Bound">ℓ</a><a id="124" class="Symbol">)</a> <a id="126" class="Symbol">:</a> <a id="128" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="132" href="Haskell.Prim.Maybe.html#111" class="Bound">ℓ</a> <a id="134" class="Keyword">where</a>
+  <a id="Maybe.Nothing"></a><a id="142" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a> <a id="150" class="Symbol">:</a> <a id="152" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="158" href="Haskell.Prim.Maybe.html#115" class="Bound">a</a>
+  <a id="Maybe.Just"></a><a id="162" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a>    <a id="170" class="Symbol">:</a> <a id="172" href="Haskell.Prim.Maybe.html#115" class="Bound">a</a> <a id="174" class="Symbol">-&gt;</a> <a id="177" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="183" href="Haskell.Prim.Maybe.html#115" class="Bound">a</a>
+
+<a id="maybe"></a><a id="186" href="Haskell.Prim.Maybe.html#186" class="Function">maybe</a> <a id="192" class="Symbol">:</a> <a id="194" class="Symbol">∀</a> <a id="196" class="Symbol">{@</a><a id="198" class="Symbol">0</a> <a id="200" href="Haskell.Prim.Maybe.html#200" class="Bound">ℓ₁</a> <a id="203" href="Haskell.Prim.Maybe.html#203" class="Bound">ℓ₂</a><a id="205" class="Symbol">}</a> <a id="207" class="Symbol">{@</a><a id="209" class="Symbol">0</a> <a id="211" href="Haskell.Prim.Maybe.html#211" class="Bound">a</a> <a id="213" class="Symbol">:</a> <a id="215" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="219" href="Haskell.Prim.Maybe.html#200" class="Bound">ℓ₁</a><a id="221" class="Symbol">}</a> <a id="223" class="Symbol">{@</a><a id="225" class="Symbol">0</a> <a id="227" href="Haskell.Prim.Maybe.html#227" class="Bound">b</a> <a id="229" class="Symbol">:</a> <a id="231" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="235" href="Haskell.Prim.Maybe.html#203" class="Bound">ℓ₂</a><a id="237" class="Symbol">}</a> <a id="239" class="Symbol">→</a> <a id="241" href="Haskell.Prim.Maybe.html#227" class="Bound">b</a> <a id="243" class="Symbol">→</a> <a id="245" class="Symbol">(</a><a id="246" href="Haskell.Prim.Maybe.html#211" class="Bound">a</a> <a id="248" class="Symbol">→</a> <a id="250" href="Haskell.Prim.Maybe.html#227" class="Bound">b</a><a id="251" class="Symbol">)</a> <a id="253" class="Symbol">→</a> <a id="255" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="261" href="Haskell.Prim.Maybe.html#211" class="Bound">a</a> <a id="263" class="Symbol">→</a> <a id="265" href="Haskell.Prim.Maybe.html#227" class="Bound">b</a>
+<a id="267" href="Haskell.Prim.Maybe.html#186" class="Function">maybe</a> <a id="273" href="Haskell.Prim.Maybe.html#273" class="Bound">n</a> <a id="275" href="Haskell.Prim.Maybe.html#275" class="Bound">j</a> <a id="277" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="286" class="Symbol">=</a> <a id="288" href="Haskell.Prim.Maybe.html#273" class="Bound">n</a>
+<a id="290" href="Haskell.Prim.Maybe.html#186" class="Function">maybe</a> <a id="296" href="Haskell.Prim.Maybe.html#296" class="Bound">n</a> <a id="298" href="Haskell.Prim.Maybe.html#298" class="Bound">j</a> <a id="300" class="Symbol">(</a><a id="301" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="306" href="Haskell.Prim.Maybe.html#306" class="Bound">x</a><a id="307" class="Symbol">)</a> <a id="309" class="Symbol">=</a> <a id="311" href="Haskell.Prim.Maybe.html#298" class="Bound">j</a> <a id="313" href="Haskell.Prim.Maybe.html#306" class="Bound">x</a>
+
+<a id="fromMaybe"></a><a id="316" href="Haskell.Prim.Maybe.html#316" class="Function">fromMaybe</a> <a id="326" class="Symbol">:</a> <a id="328" class="Symbol">{</a><a id="329" href="Haskell.Prim.Maybe.html#329" class="Bound">a</a> <a id="331" class="Symbol">:</a> <a id="333" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="336" class="Symbol">}</a> <a id="338" class="Symbol">→</a> <a id="340" href="Haskell.Prim.Maybe.html#329" class="Bound">a</a> <a id="342" class="Symbol">→</a> <a id="344" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="350" href="Haskell.Prim.Maybe.html#329" class="Bound">a</a> <a id="352" class="Symbol">→</a> <a id="354" href="Haskell.Prim.Maybe.html#329" class="Bound">a</a>
+<a id="356" href="Haskell.Prim.Maybe.html#316" class="Function">fromMaybe</a> <a id="366" href="Haskell.Prim.Maybe.html#366" class="Bound">d</a> <a id="368" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a> <a id="376" class="Symbol">=</a> <a id="378" href="Haskell.Prim.Maybe.html#366" class="Bound">d</a>
+<a id="380" href="Haskell.Prim.Maybe.html#316" class="Function">fromMaybe</a> <a id="390" class="Symbol">_</a> <a id="392" class="Symbol">(</a><a id="393" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="398" href="Haskell.Prim.Maybe.html#398" class="Bound">x</a><a id="399" class="Symbol">)</a> <a id="401" class="Symbol">=</a> <a id="403" href="Haskell.Prim.Maybe.html#398" class="Bound">x</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Monad.html b/lib/Haskell.Prim.Monad.html
new file mode 100644
index 00000000..9fce4388
--- /dev/null
+++ b/lib/Haskell.Prim.Monad.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Monad</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Monad.html" class="Module">Haskell.Prim.Monad</a> <a id="28" class="Keyword">where</a>
+
+<a id="35" class="Keyword">open</a> <a id="40" class="Keyword">import</a> <a id="47" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="60" class="Keyword">open</a> <a id="65" class="Keyword">import</a> <a id="72" href="Haskell.Prim.Applicative.html" class="Module">Haskell.Prim.Applicative</a>
+<a id="97" class="Keyword">open</a> <a id="102" class="Keyword">import</a> <a id="109" href="Haskell.Prim.Either.html" class="Module">Haskell.Prim.Either</a>
+<a id="129" class="Keyword">open</a> <a id="134" class="Keyword">import</a> <a id="141" href="Haskell.Prim.Foldable.html" class="Module">Haskell.Prim.Foldable</a>
+<a id="163" class="Keyword">open</a> <a id="168" class="Keyword">import</a> <a id="175" href="Haskell.Prim.Functor.html" class="Module">Haskell.Prim.Functor</a>
+<a id="196" class="Keyword">open</a> <a id="201" class="Keyword">import</a> <a id="208" href="Haskell.Prim.IO.html" class="Module">Haskell.Prim.IO</a>
+<a id="224" class="Keyword">open</a> <a id="229" class="Keyword">import</a> <a id="236" href="Haskell.Prim.List.html" class="Module">Haskell.Prim.List</a>
+<a id="254" class="Keyword">open</a> <a id="259" class="Keyword">import</a> <a id="266" href="Haskell.Prim.Maybe.html" class="Module">Haskell.Prim.Maybe</a>
+<a id="285" class="Keyword">open</a> <a id="290" class="Keyword">import</a> <a id="297" href="Haskell.Prim.Monoid.html" class="Module">Haskell.Prim.Monoid</a>
+<a id="317" class="Keyword">open</a> <a id="322" class="Keyword">import</a> <a id="329" href="Haskell.Prim.String.html" class="Module">Haskell.Prim.String</a>
+<a id="349" class="Keyword">open</a> <a id="354" class="Keyword">import</a> <a id="361" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a>
+
+<a id="381" class="Comment">--------------------------------------------------</a>
+<a id="432" class="Comment">-- Monad</a>
+
+<a id="442" class="Keyword">module</a> <a id="Do"></a><a id="449" href="Haskell.Prim.Monad.html#449" class="Module">Do</a> <a id="452" class="Keyword">where</a>
+
+  <a id="461" class="Comment">-- ** base</a>
+  <a id="474" class="Keyword">record</a> <a id="Do.Monad"></a><a id="481" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="487" class="Symbol">(</a><a id="488" href="Haskell.Prim.Monad.html#488" class="Bound">m</a> <a id="490" class="Symbol">:</a> <a id="492" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="496" class="Symbol">→</a> <a id="498" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="501" class="Symbol">)</a> <a id="503" class="Symbol">:</a> <a id="505" href="Agda.Primitive.html#388" class="Primitive">Set₁</a> <a id="510" class="Keyword">where</a>
+    <a id="520" class="Keyword">field</a>
+      <a id="Do.Monad._&gt;&gt;=_"></a><a id="532" href="Haskell.Prim.Monad.html#532" class="Field Operator">_&gt;&gt;=_</a> <a id="538" class="Symbol">:</a> <a id="540" href="Haskell.Prim.Monad.html#488" class="Bound">m</a> <a id="542" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="544" class="Symbol">→</a> <a id="546" class="Symbol">(</a><a id="547" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="549" class="Symbol">→</a> <a id="551" href="Haskell.Prim.Monad.html#488" class="Bound">m</a> <a id="553" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="554" class="Symbol">)</a> <a id="556" class="Symbol">→</a> <a id="558" href="Haskell.Prim.Monad.html#488" class="Bound">m</a> <a id="560" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+      <a id="568" class="Keyword">overlap</a> <a id="576" class="Symbol">⦃</a> <a id="Do.Monad.super"></a><a id="578" href="Haskell.Prim.Monad.html#578" class="Field">super</a> <a id="584" class="Symbol">⦄</a> <a id="586" class="Symbol">:</a> <a id="588" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="600" href="Haskell.Prim.Monad.html#488" class="Bound">m</a>
+      <a id="Do.Monad.return"></a><a id="608" href="Haskell.Prim.Monad.html#608" class="Field">return</a> <a id="615" class="Symbol">:</a> <a id="617" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="619" class="Symbol">→</a> <a id="621" href="Haskell.Prim.Monad.html#488" class="Bound">m</a> <a id="623" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+      <a id="Do.Monad._&gt;&gt;_"></a><a id="631" href="Haskell.Prim.Monad.html#631" class="Field Operator">_&gt;&gt;_</a> <a id="636" class="Symbol">:</a> <a id="638" href="Haskell.Prim.Monad.html#488" class="Bound">m</a> <a id="640" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="642" class="Symbol">→</a> <a id="644" class="Symbol">(@</a><a id="646" class="Symbol">0</a> <a id="648" class="Symbol">{{</a> <a id="651" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="653" class="Symbol">}}</a> <a id="656" class="Symbol">→</a> <a id="658" href="Haskell.Prim.Monad.html#488" class="Bound">m</a> <a id="660" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="661" class="Symbol">)</a> <a id="663" class="Symbol">→</a> <a id="665" href="Haskell.Prim.Monad.html#488" class="Bound">m</a> <a id="667" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+      <a id="Do.Monad._=&lt;&lt;_"></a><a id="675" href="Haskell.Prim.Monad.html#675" class="Field Operator">_=&lt;&lt;_</a> <a id="681" class="Symbol">:</a> <a id="683" class="Symbol">(</a><a id="684" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="686" class="Symbol">→</a> <a id="688" href="Haskell.Prim.Monad.html#488" class="Bound">m</a> <a id="690" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="691" class="Symbol">)</a> <a id="693" class="Symbol">→</a> <a id="695" href="Haskell.Prim.Monad.html#488" class="Bound">m</a> <a id="697" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="699" class="Symbol">→</a> <a id="701" href="Haskell.Prim.Monad.html#488" class="Bound">m</a> <a id="703" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+  <a id="707" class="Comment">-- ** defaults</a>
+  <a id="724" class="Keyword">record</a> <a id="Do.DefaultMonad"></a><a id="731" href="Haskell.Prim.Monad.html#731" class="Record">DefaultMonad</a> <a id="744" class="Symbol">(</a><a id="745" href="Haskell.Prim.Monad.html#745" class="Bound">m</a> <a id="747" class="Symbol">:</a> <a id="749" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="753" class="Symbol">→</a> <a id="755" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="758" class="Symbol">)</a> <a id="760" class="Symbol">:</a> <a id="762" href="Agda.Primitive.html#388" class="Primitive">Set₁</a> <a id="767" class="Keyword">where</a>
+    <a id="777" class="Keyword">field</a>
+      <a id="Do.DefaultMonad._&gt;&gt;=_"></a><a id="789" href="Haskell.Prim.Monad.html#789" class="Field Operator">_&gt;&gt;=_</a> <a id="795" class="Symbol">:</a> <a id="797" href="Haskell.Prim.Monad.html#745" class="Bound">m</a> <a id="799" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="801" class="Symbol">→</a> <a id="803" class="Symbol">(</a><a id="804" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="806" class="Symbol">→</a> <a id="808" href="Haskell.Prim.Monad.html#745" class="Bound">m</a> <a id="810" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="811" class="Symbol">)</a> <a id="813" class="Symbol">→</a> <a id="815" href="Haskell.Prim.Monad.html#745" class="Bound">m</a> <a id="817" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+      <a id="825" class="Keyword">overlap</a> <a id="833" class="Symbol">⦃</a> <a id="Do.DefaultMonad.super"></a><a id="835" href="Haskell.Prim.Monad.html#835" class="Field">super</a> <a id="841" class="Symbol">⦄</a> <a id="843" class="Symbol">:</a> <a id="845" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="857" href="Haskell.Prim.Monad.html#745" class="Bound">m</a>
+    <a id="Do.DefaultMonad.return"></a><a id="863" href="Haskell.Prim.Monad.html#863" class="Function">return</a> <a id="870" class="Symbol">:</a> <a id="872" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="874" class="Symbol">→</a> <a id="876" href="Haskell.Prim.Monad.html#745" class="Bound">m</a> <a id="878" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+    <a id="884" href="Haskell.Prim.Monad.html#863" class="Function">return</a> <a id="891" class="Symbol">=</a> <a id="893" href="Haskell.Prim.Applicative.html#483" class="Field">pure</a>
+
+    <a id="Do.DefaultMonad._&gt;&gt;_"></a><a id="903" href="Haskell.Prim.Monad.html#903" class="Function Operator">_&gt;&gt;_</a> <a id="908" class="Symbol">:</a> <a id="910" href="Haskell.Prim.Monad.html#745" class="Bound">m</a> <a id="912" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="914" class="Symbol">→</a> <a id="916" class="Symbol">(@</a><a id="918" class="Symbol">0</a> <a id="920" class="Symbol">{{</a> <a id="923" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="925" class="Symbol">}}</a> <a id="928" class="Symbol">→</a> <a id="930" href="Haskell.Prim.Monad.html#745" class="Bound">m</a> <a id="932" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="933" class="Symbol">)</a> <a id="935" class="Symbol">→</a> <a id="937" href="Haskell.Prim.Monad.html#745" class="Bound">m</a> <a id="939" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+    <a id="945" href="Haskell.Prim.Monad.html#945" class="Bound">m</a> <a id="947" href="Haskell.Prim.Monad.html#903" class="Function Operator">&gt;&gt;</a> <a id="950" href="Haskell.Prim.Monad.html#950" class="Bound">m₁</a> <a id="953" class="Symbol">=</a> <a id="955" href="Haskell.Prim.Monad.html#945" class="Bound">m</a> <a id="957" href="Haskell.Prim.Monad.html#789" class="Field Operator">&gt;&gt;=</a> <a id="961" class="Symbol">λ</a> <a id="963" href="Haskell.Prim.Monad.html#963" class="Bound">x</a> <a id="965" class="Symbol">→</a> <a id="967" href="Haskell.Prim.Monad.html#950" class="Bound">m₁</a> <a id="970" class="Symbol">{{</a><a id="972" href="Haskell.Prim.Monad.html#963" class="Bound">x</a><a id="973" class="Symbol">}}</a>
+
+    <a id="Do.DefaultMonad._=&lt;&lt;_"></a><a id="981" href="Haskell.Prim.Monad.html#981" class="Function Operator">_=&lt;&lt;_</a> <a id="987" class="Symbol">:</a> <a id="989" class="Symbol">(</a><a id="990" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="992" class="Symbol">→</a> <a id="994" href="Haskell.Prim.Monad.html#745" class="Bound">m</a> <a id="996" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="997" class="Symbol">)</a> <a id="999" class="Symbol">→</a> <a id="1001" href="Haskell.Prim.Monad.html#745" class="Bound">m</a> <a id="1003" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1005" class="Symbol">→</a> <a id="1007" href="Haskell.Prim.Monad.html#745" class="Bound">m</a> <a id="1009" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+    <a id="1015" href="Haskell.Prim.Monad.html#981" class="Function Operator">_=&lt;&lt;_</a> <a id="1021" class="Symbol">=</a> <a id="1023" href="Haskell.Prim.html#1383" class="Function">flip</a> <a id="1028" href="Haskell.Prim.Monad.html#789" class="Field Operator">_&gt;&gt;=_</a>
+  <a id="1036" class="Comment">-- ** export</a>
+  <a id="1051" class="Keyword">open</a> <a id="1056" href="Haskell.Prim.Monad.html#481" class="Module">Monad</a> <a id="1062" class="Symbol">⦃...⦄</a> <a id="1068" class="Keyword">public</a>
+  <a id="1077" class="Symbol">{-#</a> <a id="1081" class="Keyword">COMPILE</a> <a id="1089" class="Keyword">AGDA2HS</a> <a id="1097" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="1103" class="Pragma">existing-class</a> <a id="1118" class="Symbol">#-}</a>
+
+<a id="1123" class="Comment">-- Use `Dont._&gt;&gt;=_` and `Dont._&gt;&gt;_` if you do not want agda2hs to use</a>
+<a id="1193" class="Comment">-- do-notation.</a>
+<a id="1209" class="Keyword">module</a> <a id="Dont"></a><a id="1216" href="Haskell.Prim.Monad.html#1216" class="Module">Dont</a> <a id="1221" class="Keyword">where</a>
+
+  <a id="1230" class="Keyword">open</a> <a id="1235" href="Haskell.Prim.Monad.html#449" class="Module">Do</a> <a id="1238" class="Keyword">using</a> <a id="1244" class="Symbol">(</a><a id="1245" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a><a id="1250" class="Symbol">)</a>
+
+  <a id="Dont._&gt;&gt;=_"></a><a id="1255" href="Haskell.Prim.Monad.html#1255" class="Function Operator">_&gt;&gt;=_</a> <a id="1261" class="Symbol">:</a> <a id="1263" class="Symbol">⦃</a> <a id="1265" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="1271" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1273" class="Symbol">⦄</a> <a id="1275" class="Symbol">→</a> <a id="1277" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1279" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1281" class="Symbol">→</a> <a id="1283" class="Symbol">(</a><a id="1284" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1286" class="Symbol">→</a> <a id="1288" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1290" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1291" class="Symbol">)</a> <a id="1293" class="Symbol">→</a> <a id="1295" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1297" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+  <a id="1301" href="Haskell.Prim.Monad.html#1255" class="Function Operator">_&gt;&gt;=_</a> <a id="1307" class="Symbol">=</a> <a id="1309" href="Haskell.Prim.Monad.html#532" class="Field Operator">Do._&gt;&gt;=_</a>
+
+  <a id="Dont._&gt;&gt;_"></a><a id="1321" href="Haskell.Prim.Monad.html#1321" class="Function Operator">_&gt;&gt;_</a> <a id="1326" class="Symbol">:</a> <a id="1328" class="Symbol">⦃</a> <a id="1330" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="1336" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1338" class="Symbol">⦄</a> <a id="1340" class="Symbol">→</a> <a id="1342" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1344" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1346" class="Symbol">→</a> <a id="1348" class="Symbol">(@</a><a id="1350" class="Number">0</a> <a id="1352" class="Symbol">{{</a> <a id="1355" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1357" class="Symbol">}}</a> <a id="1360" class="Symbol">→</a> <a id="1362" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1364" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1365" class="Symbol">)</a> <a id="1367" class="Symbol">→</a> <a id="1369" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1371" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+  <a id="1375" href="Haskell.Prim.Monad.html#1321" class="Function Operator">_&gt;&gt;_</a> <a id="1380" class="Symbol">=</a> <a id="1382" href="Haskell.Prim.Monad.html#631" class="Field Operator">Do._&gt;&gt;_</a>
+
+<a id="1391" class="Keyword">open</a> <a id="1396" href="Haskell.Prim.Monad.html#449" class="Module">Do</a> <a id="1399" class="Keyword">public</a>
+
+<a id="mapM₋"></a><a id="1407" href="Haskell.Prim.Monad.html#1407" class="Function">mapM₋</a> <a id="1413" class="Symbol">:</a> <a id="1415" class="Symbol">⦃</a> <a id="1417" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="1423" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1425" class="Symbol">⦄</a> <a id="1427" class="Symbol">→</a> <a id="1429" class="Symbol">⦃</a> <a id="1431" href="Haskell.Prim.Foldable.html#431" class="Record">Foldable</a> <a id="1440" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="1442" class="Symbol">⦄</a> <a id="1444" class="Symbol">→</a> <a id="1446" class="Symbol">(</a><a id="1447" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1449" class="Symbol">→</a> <a id="1451" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1453" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1454" class="Symbol">)</a> <a id="1456" class="Symbol">→</a> <a id="1458" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="1460" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1462" class="Symbol">→</a> <a id="1464" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1466" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+<a id="1468" href="Haskell.Prim.Monad.html#1407" class="Function">mapM₋</a> <a id="1474" href="Haskell.Prim.Monad.html#1474" class="Bound">f</a> <a id="1476" class="Symbol">=</a> <a id="1478" href="Haskell.Prim.Foldable.html#528" class="Field">foldr</a> <a id="1484" class="Symbol">(λ</a> <a id="1487" href="Haskell.Prim.Monad.html#1487" class="Bound">x</a> <a id="1489" href="Haskell.Prim.Monad.html#1489" class="Bound">k</a> <a id="1491" class="Symbol">→</a> <a id="1493" href="Haskell.Prim.Monad.html#1474" class="Bound">f</a> <a id="1495" href="Haskell.Prim.Monad.html#1487" class="Bound">x</a> <a id="1497" href="Haskell.Prim.Monad.html#631" class="Field Operator">&gt;&gt;</a> <a id="1500" href="Haskell.Prim.Monad.html#1489" class="Bound">k</a><a id="1501" class="Symbol">)</a> <a id="1503" class="Symbol">(</a><a id="1504" href="Haskell.Prim.Applicative.html#483" class="Field">pure</a> <a id="1509" href="Agda.Builtin.Unit.html#212" class="InductiveConstructor">tt</a><a id="1511" class="Symbol">)</a>
+
+<a id="sequence₋"></a><a id="1514" href="Haskell.Prim.Monad.html#1514" class="Function">sequence₋</a> <a id="1524" class="Symbol">:</a> <a id="1526" class="Symbol">⦃</a> <a id="1528" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="1534" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1536" class="Symbol">⦄</a> <a id="1538" class="Symbol">→</a> <a id="1540" class="Symbol">⦃</a> <a id="1542" href="Haskell.Prim.Foldable.html#431" class="Record">Foldable</a> <a id="1551" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="1553" class="Symbol">⦄</a> <a id="1555" class="Symbol">→</a> <a id="1557" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="1559" class="Symbol">(</a><a id="1560" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1562" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="1563" class="Symbol">)</a> <a id="1565" class="Symbol">→</a> <a id="1567" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1569" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+<a id="1571" href="Haskell.Prim.Monad.html#1514" class="Function">sequence₋</a> <a id="1581" class="Symbol">=</a> <a id="1583" href="Haskell.Prim.Foldable.html#528" class="Field">foldr</a> <a id="1589" class="Symbol">(λ</a> <a id="1592" href="Haskell.Prim.Monad.html#1592" class="Bound">mx</a> <a id="1595" href="Haskell.Prim.Monad.html#1595" class="Bound">my</a> <a id="1598" class="Symbol">→</a> <a id="1600" href="Haskell.Prim.Monad.html#1592" class="Bound">mx</a> <a id="1603" href="Haskell.Prim.Monad.html#631" class="Field Operator">&gt;&gt;</a> <a id="1606" href="Haskell.Prim.Monad.html#1595" class="Bound">my</a><a id="1608" class="Symbol">)</a> <a id="1610" class="Symbol">(</a><a id="1611" href="Haskell.Prim.Applicative.html#483" class="Field">pure</a> <a id="1616" href="Agda.Builtin.Unit.html#212" class="InductiveConstructor">tt</a><a id="1618" class="Symbol">)</a>
+
+<a id="1621" class="Comment">-- ** instances</a>
+<a id="1637" class="Keyword">private</a>
+  <a id="mkMonad"></a><a id="1647" href="Haskell.Prim.Monad.html#1647" class="Function">mkMonad</a> <a id="1655" class="Symbol">:</a> <a id="1657" href="Haskell.Prim.Monad.html#731" class="Record">DefaultMonad</a> <a id="1670" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="1672" class="Symbol">→</a> <a id="1674" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="1680" href="Haskell.Prim.html#1215" class="Generalizable">t</a>
+  <a id="1684" href="Haskell.Prim.Monad.html#1647" class="Function">mkMonad</a> <a id="1692" href="Haskell.Prim.Monad.html#1692" class="Bound">x</a> <a id="1694" class="Symbol">=</a> <a id="1696" class="Keyword">record</a> <a id="1703" class="Symbol">{</a><a id="1704" href="Haskell.Prim.Monad.html#1704" class="Module">DefaultMonad</a> <a id="1717" href="Haskell.Prim.Monad.html#1692" class="Bound">x</a><a id="1718" class="Symbol">}</a>
+
+  <a id="1723" class="Keyword">infix</a> <a id="1729" class="Number">0</a> <a id="1731" href="Haskell.Prim.Monad.html#1740" class="Function Operator">bind=_</a>
+  <a id="bind=_"></a><a id="1740" href="Haskell.Prim.Monad.html#1740" class="Function Operator">bind=_</a> <a id="1747" class="Symbol">:</a> <a id="1749" class="Symbol">⦃</a> <a id="1751" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="1763" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1765" class="Symbol">⦄</a> <a id="1767" class="Symbol">→</a> <a id="1769" class="Symbol">(∀</a> <a id="1772" class="Symbol">{</a><a id="1773" href="Haskell.Prim.Monad.html#1773" class="Bound">a</a> <a id="1775" href="Haskell.Prim.Monad.html#1775" class="Bound">b</a><a id="1776" class="Symbol">}</a> <a id="1778" class="Symbol">→</a> <a id="1780" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1782" href="Haskell.Prim.Monad.html#1773" class="Bound">a</a> <a id="1784" class="Symbol">→</a> <a id="1786" class="Symbol">(</a><a id="1787" href="Haskell.Prim.Monad.html#1773" class="Bound">a</a> <a id="1789" class="Symbol">→</a> <a id="1791" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1793" href="Haskell.Prim.Monad.html#1775" class="Bound">b</a><a id="1794" class="Symbol">)</a> <a id="1796" class="Symbol">→</a> <a id="1798" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1800" href="Haskell.Prim.Monad.html#1775" class="Bound">b</a><a id="1801" class="Symbol">)</a> <a id="1803" class="Symbol">→</a> <a id="1805" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="1811" href="Haskell.Prim.html#1211" class="Generalizable">m</a>
+  <a id="1815" href="Haskell.Prim.Monad.html#1740" class="Function Operator">bind=</a> <a id="1821" href="Haskell.Prim.Monad.html#1821" class="Bound">x</a> <a id="1823" class="Symbol">=</a> <a id="1825" class="Keyword">record</a> <a id="1832" class="Symbol">{</a><a id="1833" href="Haskell.Prim.Monad.html#1833" class="Module">DefaultMonad</a> <a id="1846" class="Symbol">(</a><a id="1847" class="Keyword">record</a> <a id="1854" class="Symbol">{</a><a id="1855" href="Haskell.Prim.Monad.html#789" class="Field Operator">_&gt;&gt;=_</a> <a id="1861" class="Symbol">=</a> <a id="1863" href="Haskell.Prim.Monad.html#1821" class="Bound">x</a><a id="1864" class="Symbol">})}</a>
+<a id="1868" class="Keyword">instance</a>
+  <a id="iMonadList"></a><a id="1879" href="Haskell.Prim.Monad.html#1879" class="Function">iMonadList</a> <a id="1890" class="Symbol">:</a> <a id="1892" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="1898" href="Agda.Builtin.List.html#147" class="Datatype">List</a>
+  <a id="1905" href="Haskell.Prim.Monad.html#1879" class="Function">iMonadList</a> <a id="1916" class="Symbol">=</a> <a id="1918" href="Haskell.Prim.Monad.html#1740" class="Function Operator">bind=</a> <a id="1924" href="Haskell.Prim.html#1383" class="Function">flip</a> <a id="1929" href="Haskell.Prim.Foldable.html#774" class="Field">concatMap</a>
+
+  <a id="iMonadMaybe"></a><a id="1942" href="Haskell.Prim.Monad.html#1942" class="Function">iMonadMaybe</a> <a id="1954" class="Symbol">:</a> <a id="1956" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="1962" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a>
+  <a id="1970" href="Haskell.Prim.Monad.html#1942" class="Function">iMonadMaybe</a> <a id="1982" class="Symbol">=</a> <a id="1984" href="Haskell.Prim.Monad.html#1740" class="Function Operator">bind=</a> <a id="1990" href="Haskell.Prim.html#1383" class="Function">flip</a> <a id="1995" class="Symbol">(</a><a id="1996" href="Haskell.Prim.Maybe.html#186" class="Function">maybe</a> <a id="2002" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a><a id="2009" class="Symbol">)</a>
+
+  <a id="iMonadEither"></a><a id="2014" href="Haskell.Prim.Monad.html#2014" class="Function">iMonadEither</a> <a id="2027" class="Symbol">:</a> <a id="2029" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="2035" class="Symbol">(</a><a id="2036" href="Haskell.Prim.Either.html#159" class="Datatype">Either</a> <a id="2043" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="2044" class="Symbol">)</a>
+  <a id="2048" href="Haskell.Prim.Monad.html#2014" class="Function">iMonadEither</a> <a id="2061" class="Symbol">=</a> <a id="2063" href="Haskell.Prim.Monad.html#1740" class="Function Operator">bind=</a> <a id="2069" href="Haskell.Prim.html#1383" class="Function">flip</a> <a id="2074" class="Symbol">(</a><a id="2075" href="Haskell.Prim.Either.html#241" class="Function">either</a> <a id="2082" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a><a id="2086" class="Symbol">)</a>
+
+  <a id="iMonadFun"></a><a id="2091" href="Haskell.Prim.Monad.html#2091" class="Function">iMonadFun</a> <a id="2101" class="Symbol">:</a> <a id="2103" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="2109" class="Symbol">(λ</a> <a id="2112" href="Haskell.Prim.Monad.html#2112" class="Bound">b</a> <a id="2114" class="Symbol">→</a> <a id="2116" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2118" class="Symbol">→</a> <a id="2120" href="Haskell.Prim.Monad.html#2112" class="Bound">b</a><a id="2121" class="Symbol">)</a>
+  <a id="2125" href="Haskell.Prim.Monad.html#2091" class="Function">iMonadFun</a> <a id="2135" class="Symbol">=</a> <a id="2137" href="Haskell.Prim.Monad.html#1740" class="Function Operator">bind=</a> <a id="2143" class="Symbol">λ</a> <a id="2145" href="Haskell.Prim.Monad.html#2145" class="Bound">f</a> <a id="2147" href="Haskell.Prim.Monad.html#2147" class="Bound">k</a> <a id="2149" href="Haskell.Prim.Monad.html#2149" class="Bound">r</a> <a id="2151" class="Symbol">→</a> <a id="2153" href="Haskell.Prim.Monad.html#2147" class="Bound">k</a> <a id="2155" class="Symbol">(</a><a id="2156" href="Haskell.Prim.Monad.html#2145" class="Bound">f</a> <a id="2158" href="Haskell.Prim.Monad.html#2149" class="Bound">r</a><a id="2159" class="Symbol">)</a> <a id="2161" href="Haskell.Prim.Monad.html#2149" class="Bound">r</a>
+
+  <a id="iMonadTuple₂"></a><a id="2166" href="Haskell.Prim.Monad.html#2166" class="Function">iMonadTuple₂</a> <a id="2179" class="Symbol">:</a> <a id="2181" class="Symbol">⦃</a> <a id="2183" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2190" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2192" class="Symbol">⦄</a> <a id="2194" class="Symbol">→</a> <a id="2196" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="2202" class="Symbol">(</a><a id="2203" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2205" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×_</a><a id="2207" class="Symbol">)</a>
+  <a id="2211" href="Haskell.Prim.Monad.html#2166" class="Function">iMonadTuple₂</a> <a id="2224" class="Symbol">=</a> <a id="2226" href="Haskell.Prim.Monad.html#1740" class="Function Operator">bind=</a> <a id="2232" class="Symbol">λ</a> <a id="2234" class="Symbol">(</a><a id="2235" href="Haskell.Prim.Monad.html#2235" class="Bound">a</a> <a id="2237" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="2239" href="Haskell.Prim.Monad.html#2239" class="Bound">x</a><a id="2240" class="Symbol">)</a> <a id="2242" href="Haskell.Prim.Monad.html#2242" class="Bound">k</a> <a id="2244" class="Symbol">→</a> <a id="2246" href="Haskell.Prim.Tuple.html#452" class="Function">first</a> <a id="2252" class="Symbol">(</a><a id="2253" href="Haskell.Prim.Monad.html#2235" class="Bound">a</a> <a id="2255" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;_</a><a id="2258" class="Symbol">)</a> <a id="2260" class="Symbol">(</a><a id="2261" href="Haskell.Prim.Monad.html#2242" class="Bound">k</a> <a id="2263" href="Haskell.Prim.Monad.html#2239" class="Bound">x</a><a id="2264" class="Symbol">)</a>
+
+  <a id="iMonadTuple₃"></a><a id="2269" href="Haskell.Prim.Monad.html#2269" class="Function">iMonadTuple₃</a> <a id="2282" class="Symbol">:</a> <a id="2284" class="Symbol">⦃</a> <a id="2286" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2293" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2295" class="Symbol">⦄</a> <a id="2297" class="Symbol">→</a> <a id="2299" class="Symbol">⦃</a> <a id="2301" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2308" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2310" class="Symbol">⦄</a> <a id="2312" class="Symbol">→</a> <a id="2314" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="2320" class="Symbol">(</a><a id="2321" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2323" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="2325" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2327" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×_</a><a id="2329" class="Symbol">)</a>
+  <a id="2333" href="Haskell.Prim.Monad.html#2269" class="Function">iMonadTuple₃</a> <a id="2346" class="Symbol">=</a> <a id="2348" href="Haskell.Prim.Monad.html#1740" class="Function Operator">bind=</a> <a id="2354" class="Symbol">λ</a> <a id="2356" class="Keyword">where</a>
+    <a id="2366" class="Symbol">(</a><a id="2367" href="Haskell.Prim.Monad.html#2367" class="Bound">a</a> <a id="2369" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2371" href="Haskell.Prim.Monad.html#2371" class="Bound">b</a> <a id="2373" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2375" href="Haskell.Prim.Monad.html#2375" class="Bound">x</a><a id="2376" class="Symbol">)</a> <a id="2378" href="Haskell.Prim.Monad.html#2378" class="Bound">k</a> <a id="2380" class="Symbol">→</a> <a id="2382" href="Haskell.Prim.html#1609" class="Function Operator">case</a> <a id="2387" href="Haskell.Prim.Monad.html#2378" class="Bound">k</a> <a id="2389" href="Haskell.Prim.Monad.html#2375" class="Bound">x</a> <a id="2391" href="Haskell.Prim.html#1609" class="Function Operator">of</a> <a id="2394" class="Symbol">λ</a> <a id="2396" class="Keyword">where</a>
+      <a id="2408" class="Symbol">(</a><a id="2409" href="Haskell.Prim.Monad.html#2409" class="Bound">a₁</a> <a id="2412" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2414" href="Haskell.Prim.Monad.html#2414" class="Bound">b₁</a> <a id="2417" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2419" href="Haskell.Prim.Monad.html#2419" class="Bound">y</a><a id="2420" class="Symbol">)</a> <a id="2422" class="Symbol">→</a> <a id="2424" href="Haskell.Prim.Monad.html#2367" class="Bound">a</a> <a id="2426" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="2429" href="Haskell.Prim.Monad.html#2409" class="Bound">a₁</a> <a id="2432" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2434" href="Haskell.Prim.Monad.html#2371" class="Bound">b</a> <a id="2436" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="2439" href="Haskell.Prim.Monad.html#2414" class="Bound">b₁</a> <a id="2442" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2444" href="Haskell.Prim.Monad.html#2419" class="Bound">y</a>
+
+<a id="2447" class="Keyword">instance</a> <a id="2456" class="Keyword">postulate</a> <a id="iMonadIO"></a><a id="2466" href="Haskell.Prim.Monad.html#2466" class="Postulate">iMonadIO</a> <a id="2475" class="Symbol">:</a> <a id="2477" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="2483" href="Haskell.Prim.IO.html#129" class="Postulate">IO</a>
+
+<a id="2487" class="Keyword">record</a> <a id="MonadFail"></a><a id="2494" href="Haskell.Prim.Monad.html#2494" class="Record">MonadFail</a> <a id="2504" class="Symbol">(</a><a id="2505" href="Haskell.Prim.Monad.html#2505" class="Bound">m</a> <a id="2507" class="Symbol">:</a> <a id="2509" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2513" class="Symbol">→</a> <a id="2515" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="2518" class="Symbol">)</a> <a id="2520" class="Symbol">:</a> <a id="2522" href="Agda.Primitive.html#388" class="Primitive">Set₁</a> <a id="2527" class="Keyword">where</a>
+  <a id="2535" class="Keyword">field</a>
+    <a id="MonadFail.fail"></a><a id="2545" href="Haskell.Prim.Monad.html#2545" class="Field">fail</a> <a id="2550" class="Symbol">:</a> <a id="2552" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="2559" class="Symbol">→</a> <a id="2561" href="Haskell.Prim.Monad.html#2505" class="Bound">m</a> <a id="2563" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+    <a id="2569" class="Keyword">overlap</a> <a id="2577" class="Symbol">⦃</a> <a id="MonadFail.super"></a><a id="2579" href="Haskell.Prim.Monad.html#2579" class="Field">super</a> <a id="2585" class="Symbol">⦄</a> <a id="2587" class="Symbol">:</a> <a id="2589" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="2595" href="Haskell.Prim.Monad.html#2505" class="Bound">m</a>
+
+<a id="2598" class="Keyword">open</a> <a id="2603" href="Haskell.Prim.Monad.html#2494" class="Module">MonadFail</a> <a id="2613" class="Symbol">⦃...⦄</a> <a id="2619" class="Keyword">public</a>
+
+<a id="2627" class="Symbol">{-#</a> <a id="2631" class="Keyword">COMPILE</a> <a id="2639" class="Keyword">AGDA2HS</a> <a id="2647" href="Haskell.Prim.Monad.html#2494" class="Record">MonadFail</a> <a id="2657" class="Pragma">existing-class</a> <a id="2672" class="Symbol">#-}</a>
+
+<a id="2677" class="Keyword">instance</a>
+  <a id="MonadFailList"></a><a id="2688" href="Haskell.Prim.Monad.html#2688" class="Function">MonadFailList</a> <a id="2702" class="Symbol">:</a> <a id="2704" href="Haskell.Prim.Monad.html#2494" class="Record">MonadFail</a> <a id="2714" href="Agda.Builtin.List.html#147" class="Datatype">List</a>
+  <a id="2721" href="Haskell.Prim.Monad.html#2688" class="Function">MonadFailList</a> <a id="2735" class="Symbol">.</a><a id="2736" href="Haskell.Prim.Monad.html#2545" class="Field">fail</a> <a id="2741" class="Symbol">_</a> <a id="2743" class="Symbol">=</a> <a id="2745" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+
+  <a id="MonadFailMaybe"></a><a id="2751" href="Haskell.Prim.Monad.html#2751" class="Function">MonadFailMaybe</a> <a id="2766" class="Symbol">:</a> <a id="2768" href="Haskell.Prim.Monad.html#2494" class="Record">MonadFail</a> <a id="2778" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a>
+  <a id="2786" href="Haskell.Prim.Monad.html#2751" class="Function">MonadFailMaybe</a> <a id="2801" class="Symbol">.</a><a id="2802" href="Haskell.Prim.Monad.html#2545" class="Field">fail</a> <a id="2807" class="Symbol">_</a> <a id="2809" class="Symbol">=</a> <a id="2811" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Monoid.html b/lib/Haskell.Prim.Monoid.html
new file mode 100644
index 00000000..bea7e146
--- /dev/null
+++ b/lib/Haskell.Prim.Monoid.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Monoid</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Monoid.html" class="Module">Haskell.Prim.Monoid</a> <a id="29" class="Keyword">where</a>
+
+<a id="36" class="Keyword">open</a> <a id="41" class="Keyword">import</a> <a id="48" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="61" class="Keyword">open</a> <a id="66" class="Keyword">import</a> <a id="73" href="Haskell.Prim.Bool.html" class="Module">Haskell.Prim.Bool</a>
+<a id="91" class="Keyword">open</a> <a id="96" class="Keyword">import</a> <a id="103" href="Haskell.Prim.List.html" class="Module">Haskell.Prim.List</a>
+<a id="121" class="Keyword">open</a> <a id="126" class="Keyword">import</a> <a id="133" href="Haskell.Prim.Maybe.html" class="Module">Haskell.Prim.Maybe</a>
+<a id="152" class="Keyword">open</a> <a id="157" class="Keyword">import</a> <a id="164" href="Haskell.Prim.Either.html" class="Module">Haskell.Prim.Either</a>
+<a id="184" class="Keyword">open</a> <a id="189" class="Keyword">import</a> <a id="196" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a>
+
+<a id="216" class="Comment">--------------------------------------------------</a>
+<a id="267" class="Comment">-- Semigroup</a>
+
+<a id="281" class="Keyword">record</a> <a id="Semigroup"></a><a id="288" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="298" class="Symbol">(</a><a id="299" href="Haskell.Prim.Monoid.html#299" class="Bound">a</a> <a id="301" class="Symbol">:</a> <a id="303" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="306" class="Symbol">)</a> <a id="308" class="Symbol">:</a> <a id="310" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="314" class="Keyword">where</a>
+  <a id="322" class="Keyword">infixr</a> <a id="329" class="Number">6</a> <a id="331" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a>
+  <a id="338" class="Keyword">field</a> <a id="Semigroup._&lt;&gt;_"></a><a id="344" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="349" class="Symbol">:</a> <a id="351" href="Haskell.Prim.Monoid.html#299" class="Bound">a</a> <a id="353" class="Symbol">→</a> <a id="355" href="Haskell.Prim.Monoid.html#299" class="Bound">a</a> <a id="357" class="Symbol">→</a> <a id="359" href="Haskell.Prim.Monoid.html#299" class="Bound">a</a>
+<a id="361" class="Keyword">open</a> <a id="366" href="Haskell.Prim.Monoid.html#288" class="Module">Semigroup</a> <a id="376" class="Symbol">⦃...⦄</a> <a id="382" class="Keyword">public</a>
+<a id="389" class="Symbol">{-#</a> <a id="393" class="Keyword">COMPILE</a> <a id="401" class="Keyword">AGDA2HS</a> <a id="409" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="419" class="Pragma">existing-class</a> <a id="434" class="Symbol">#-}</a>
+
+<a id="439" class="Keyword">instance</a>
+  <a id="iSemigroupList"></a><a id="450" href="Haskell.Prim.Monoid.html#450" class="Function">iSemigroupList</a> <a id="465" class="Symbol">:</a> <a id="467" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="477" class="Symbol">(</a><a id="478" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="483" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="484" class="Symbol">)</a>
+  <a id="488" href="Haskell.Prim.Monoid.html#450" class="Function">iSemigroupList</a> <a id="503" class="Symbol">.</a><a id="504" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="509" class="Symbol">=</a> <a id="511" href="Haskell.Prim.List.html#310" class="Function Operator">_++_</a>
+
+  <a id="iSemigroupMaybe"></a><a id="519" href="Haskell.Prim.Monoid.html#519" class="Function">iSemigroupMaybe</a> <a id="535" class="Symbol">:</a> <a id="537" class="Symbol">⦃</a> <a id="539" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="549" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="551" class="Symbol">⦄</a> <a id="553" class="Symbol">→</a> <a id="555" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="565" class="Symbol">(</a><a id="566" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="572" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="573" class="Symbol">)</a>
+  <a id="577" href="Haskell.Prim.Monoid.html#519" class="Function">iSemigroupMaybe</a> <a id="593" class="Symbol">.</a><a id="594" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a>          <a id="608" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a> <a id="616" href="Haskell.Prim.Monoid.html#616" class="Bound">m</a> <a id="618" class="Symbol">=</a> <a id="620" href="Haskell.Prim.Monoid.html#616" class="Bound">m</a>
+  <a id="624" href="Haskell.Prim.Monoid.html#519" class="CatchallClause Function">iSemigroupMaybe</a><a id="639" class="CatchallClause"> </a><a id="640" class="CatchallClause Symbol">.</a><a id="641" href="Haskell.Prim.Monoid.html#344" class="CatchallClause Field Operator">_&lt;&gt;_</a><a id="645" class="CatchallClause"> </a><a id="646" href="Haskell.Prim.Monoid.html#646" class="CatchallClause Bound">m</a><a id="647" class="CatchallClause">        </a><a id="655" href="Haskell.Prim.Maybe.html#142" class="CatchallClause InductiveConstructor">Nothing</a>   <a id="665" class="Symbol">=</a> <a id="667" href="Haskell.Prim.Monoid.html#646" class="Bound">m</a>
+  <a id="671" href="Haskell.Prim.Monoid.html#519" class="Function">iSemigroupMaybe</a> <a id="687" class="Symbol">.</a><a id="688" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="693" class="Symbol">(</a><a id="694" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="699" href="Haskell.Prim.Monoid.html#699" class="Bound">x</a><a id="700" class="Symbol">)</a> <a id="702" class="Symbol">(</a><a id="703" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="708" href="Haskell.Prim.Monoid.html#708" class="Bound">y</a><a id="709" class="Symbol">)</a>  <a id="712" class="Symbol">=</a> <a id="714" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="719" class="Symbol">(</a><a id="720" href="Haskell.Prim.Monoid.html#699" class="Bound">x</a> <a id="722" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="725" href="Haskell.Prim.Monoid.html#708" class="Bound">y</a><a id="726" class="Symbol">)</a>
+
+  <a id="iSemigroupEither"></a><a id="731" href="Haskell.Prim.Monoid.html#731" class="Function">iSemigroupEither</a> <a id="748" class="Symbol">:</a> <a id="750" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="760" class="Symbol">(</a><a id="761" href="Haskell.Prim.Either.html#159" class="Datatype">Either</a> <a id="768" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="770" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="771" class="Symbol">)</a>
+  <a id="775" href="Haskell.Prim.Monoid.html#731" class="Function">iSemigroupEither</a> <a id="792" class="Symbol">.</a><a id="793" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="798" class="Symbol">(</a><a id="799" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a> <a id="804" class="Symbol">_)</a> <a id="807" href="Haskell.Prim.Monoid.html#807" class="Bound">e</a> <a id="809" class="Symbol">=</a> <a id="811" href="Haskell.Prim.Monoid.html#807" class="Bound">e</a>
+  <a id="815" href="Haskell.Prim.Monoid.html#731" class="CatchallClause Function">iSemigroupEither</a><a id="831" class="CatchallClause"> </a><a id="832" class="CatchallClause Symbol">.</a><a id="833" href="Haskell.Prim.Monoid.html#344" class="CatchallClause Field Operator">_&lt;&gt;_</a><a id="837" class="CatchallClause"> </a><a id="838" href="Haskell.Prim.Monoid.html#838" class="CatchallClause Bound">e</a><a id="839" class="CatchallClause">        </a><a id="847" class="CatchallClause Symbol">_</a> <a id="849" class="Symbol">=</a> <a id="851" href="Haskell.Prim.Monoid.html#838" class="Bound">e</a>
+
+  <a id="iSemigroupFun"></a><a id="856" href="Haskell.Prim.Monoid.html#856" class="Function">iSemigroupFun</a> <a id="870" class="Symbol">:</a> <a id="872" class="Symbol">⦃</a> <a id="874" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="884" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="886" class="Symbol">⦄</a> <a id="888" class="Symbol">→</a> <a id="890" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="900" class="Symbol">(</a><a id="901" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="903" class="Symbol">→</a> <a id="905" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="906" class="Symbol">)</a>
+  <a id="910" href="Haskell.Prim.Monoid.html#856" class="Function">iSemigroupFun</a> <a id="924" class="Symbol">.</a><a id="925" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="930" href="Haskell.Prim.Monoid.html#930" class="Bound">f</a> <a id="932" href="Haskell.Prim.Monoid.html#932" class="Bound">g</a> <a id="934" href="Haskell.Prim.Monoid.html#934" class="Bound">x</a> <a id="936" class="Symbol">=</a> <a id="938" href="Haskell.Prim.Monoid.html#930" class="Bound">f</a> <a id="940" href="Haskell.Prim.Monoid.html#934" class="Bound">x</a> <a id="942" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="945" href="Haskell.Prim.Monoid.html#932" class="Bound">g</a> <a id="947" href="Haskell.Prim.Monoid.html#934" class="Bound">x</a>
+
+  <a id="iSemigroupUnit"></a><a id="952" href="Haskell.Prim.Monoid.html#952" class="Function">iSemigroupUnit</a> <a id="967" class="Symbol">:</a> <a id="969" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="979" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="983" href="Haskell.Prim.Monoid.html#952" class="Function">iSemigroupUnit</a> <a id="998" class="Symbol">.</a><a id="999" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="1004" class="Symbol">_</a> <a id="1006" class="Symbol">_</a> <a id="1008" class="Symbol">=</a> <a id="1010" href="Agda.Builtin.Unit.html#212" class="InductiveConstructor">tt</a>
+
+
+  <a id="iSemigroupTuple₂"></a><a id="1017" href="Haskell.Prim.Monoid.html#1017" class="Function">iSemigroupTuple₂</a> <a id="1034" class="Symbol">:</a> <a id="1036" class="Symbol">⦃</a> <a id="1038" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="1048" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1050" class="Symbol">⦄</a> <a id="1052" class="Symbol">→</a> <a id="1054" class="Symbol">⦃</a> <a id="1056" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="1066" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1068" class="Symbol">⦄</a> <a id="1070" class="Symbol">→</a> <a id="1072" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="1082" class="Symbol">(</a><a id="1083" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1085" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="1087" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1088" class="Symbol">)</a>
+  <a id="1092" href="Haskell.Prim.Monoid.html#1017" class="Function">iSemigroupTuple₂</a> <a id="1109" class="Symbol">.</a><a id="1110" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="1115" class="Symbol">(</a><a id="1116" href="Haskell.Prim.Monoid.html#1116" class="Bound">x₁</a> <a id="1119" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="1121" href="Haskell.Prim.Monoid.html#1121" class="Bound">y₁</a><a id="1123" class="Symbol">)</a> <a id="1125" class="Symbol">(</a><a id="1126" href="Haskell.Prim.Monoid.html#1126" class="Bound">x₂</a> <a id="1129" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="1131" href="Haskell.Prim.Monoid.html#1131" class="Bound">y₂</a><a id="1133" class="Symbol">)</a> <a id="1135" class="Symbol">=</a> <a id="1137" href="Haskell.Prim.Monoid.html#1116" class="Bound">x₁</a> <a id="1140" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="1143" href="Haskell.Prim.Monoid.html#1126" class="Bound">x₂</a> <a id="1146" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="1148" href="Haskell.Prim.Monoid.html#1121" class="Bound">y₁</a> <a id="1151" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="1154" href="Haskell.Prim.Monoid.html#1131" class="Bound">y₂</a>
+
+  <a id="iSemigroupTuple₃"></a><a id="1160" href="Haskell.Prim.Monoid.html#1160" class="Function">iSemigroupTuple₃</a> <a id="1177" class="Symbol">:</a> <a id="1179" class="Symbol">⦃</a> <a id="1181" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="1191" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1193" class="Symbol">⦄</a> <a id="1195" class="Symbol">→</a> <a id="1197" class="Symbol">⦃</a> <a id="1199" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="1209" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1211" class="Symbol">⦄</a> <a id="1213" class="Symbol">→</a> <a id="1215" class="Symbol">⦃</a> <a id="1217" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="1227" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="1229" class="Symbol">⦄</a> <a id="1231" class="Symbol">→</a> <a id="1233" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="1243" class="Symbol">(</a><a id="1244" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1246" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="1248" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1250" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="1252" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="1253" class="Symbol">)</a>
+  <a id="1257" href="Haskell.Prim.Monoid.html#1160" class="Function">iSemigroupTuple₃</a> <a id="1274" class="Symbol">.</a><a id="1275" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="1280" class="Symbol">(</a><a id="1281" href="Haskell.Prim.Monoid.html#1281" class="Bound">x₁</a> <a id="1284" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="1286" href="Haskell.Prim.Monoid.html#1286" class="Bound">y₁</a> <a id="1289" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="1291" href="Haskell.Prim.Monoid.html#1291" class="Bound">z₁</a><a id="1293" class="Symbol">)</a> <a id="1295" class="Symbol">(</a><a id="1296" href="Haskell.Prim.Monoid.html#1296" class="Bound">x₂</a> <a id="1299" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="1301" href="Haskell.Prim.Monoid.html#1301" class="Bound">y₂</a> <a id="1304" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="1306" href="Haskell.Prim.Monoid.html#1306" class="Bound">z₂</a><a id="1308" class="Symbol">)</a> <a id="1310" class="Symbol">=</a> <a id="1312" href="Haskell.Prim.Monoid.html#1281" class="Bound">x₁</a> <a id="1315" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="1318" href="Haskell.Prim.Monoid.html#1296" class="Bound">x₂</a> <a id="1321" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="1323" href="Haskell.Prim.Monoid.html#1286" class="Bound">y₁</a> <a id="1326" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="1329" href="Haskell.Prim.Monoid.html#1301" class="Bound">y₂</a> <a id="1332" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="1334" href="Haskell.Prim.Monoid.html#1291" class="Bound">z₁</a> <a id="1337" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="1340" href="Haskell.Prim.Monoid.html#1306" class="Bound">z₂</a>
+
+
+<a id="1345" class="Comment">--------------------------------------------------</a>
+<a id="1396" class="Comment">-- Monoid</a>
+
+<a id="1407" class="Comment">-- ** base</a>
+<a id="1418" class="Keyword">record</a> <a id="Monoid"></a><a id="1425" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="1432" class="Symbol">(</a><a id="1433" href="Haskell.Prim.Monoid.html#1433" class="Bound">a</a> <a id="1435" class="Symbol">:</a> <a id="1437" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="1440" class="Symbol">)</a> <a id="1442" class="Symbol">:</a> <a id="1444" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1448" class="Keyword">where</a>
+  <a id="1456" class="Keyword">field</a>
+    <a id="Monoid.mempty"></a><a id="1466" href="Haskell.Prim.Monoid.html#1466" class="Field">mempty</a> <a id="1473" class="Symbol">:</a> <a id="1475" href="Haskell.Prim.Monoid.html#1433" class="Bound">a</a>
+    <a id="1481" class="Keyword">overlap</a> <a id="1489" class="Symbol">⦃</a> <a id="Monoid.super"></a><a id="1491" href="Haskell.Prim.Monoid.html#1491" class="Field">super</a> <a id="1497" class="Symbol">⦄</a> <a id="1499" class="Symbol">:</a> <a id="1501" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="1511" href="Haskell.Prim.Monoid.html#1433" class="Bound">a</a>
+    <a id="Monoid.mappend"></a><a id="1517" href="Haskell.Prim.Monoid.html#1517" class="Field">mappend</a> <a id="1525" class="Symbol">:</a> <a id="1527" href="Haskell.Prim.Monoid.html#1433" class="Bound">a</a> <a id="1529" class="Symbol">→</a> <a id="1531" href="Haskell.Prim.Monoid.html#1433" class="Bound">a</a> <a id="1533" class="Symbol">→</a> <a id="1535" href="Haskell.Prim.Monoid.html#1433" class="Bound">a</a>
+    <a id="Monoid.mconcat"></a><a id="1541" href="Haskell.Prim.Monoid.html#1541" class="Field">mconcat</a> <a id="1549" class="Symbol">:</a> <a id="1551" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1556" href="Haskell.Prim.Monoid.html#1433" class="Bound">a</a> <a id="1558" class="Symbol">→</a> <a id="1560" href="Haskell.Prim.Monoid.html#1433" class="Bound">a</a>
+<a id="1562" class="Comment">-- ** defaults</a>
+<a id="1577" class="Keyword">record</a> <a id="DefaultMonoid"></a><a id="1584" href="Haskell.Prim.Monoid.html#1584" class="Record">DefaultMonoid</a> <a id="1598" class="Symbol">(</a><a id="1599" href="Haskell.Prim.Monoid.html#1599" class="Bound">a</a> <a id="1601" class="Symbol">:</a> <a id="1603" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="1606" class="Symbol">)</a> <a id="1608" class="Symbol">:</a> <a id="1610" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1614" class="Keyword">where</a>
+  <a id="1622" class="Keyword">field</a>
+    <a id="DefaultMonoid.mempty"></a><a id="1632" href="Haskell.Prim.Monoid.html#1632" class="Field">mempty</a> <a id="1639" class="Symbol">:</a> <a id="1641" href="Haskell.Prim.Monoid.html#1599" class="Bound">a</a>
+    <a id="1647" class="Keyword">overlap</a> <a id="1655" class="Symbol">⦃</a> <a id="DefaultMonoid.super"></a><a id="1657" href="Haskell.Prim.Monoid.html#1657" class="Field">super</a> <a id="1663" class="Symbol">⦄</a> <a id="1665" class="Symbol">:</a> <a id="1667" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="1677" href="Haskell.Prim.Monoid.html#1599" class="Bound">a</a>
+
+  <a id="DefaultMonoid.mappend"></a><a id="1682" href="Haskell.Prim.Monoid.html#1682" class="Function">mappend</a> <a id="1690" class="Symbol">:</a> <a id="1692" href="Haskell.Prim.Monoid.html#1599" class="Bound">a</a> <a id="1694" class="Symbol">→</a> <a id="1696" href="Haskell.Prim.Monoid.html#1599" class="Bound">a</a> <a id="1698" class="Symbol">→</a> <a id="1700" href="Haskell.Prim.Monoid.html#1599" class="Bound">a</a>
+  <a id="1704" href="Haskell.Prim.Monoid.html#1682" class="Function">mappend</a> <a id="1712" class="Symbol">=</a> <a id="1714" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a>
+
+  <a id="DefaultMonoid.mconcat"></a><a id="1722" href="Haskell.Prim.Monoid.html#1722" class="Function">mconcat</a> <a id="1730" class="Symbol">:</a> <a id="1732" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1737" href="Haskell.Prim.Monoid.html#1599" class="Bound">a</a> <a id="1739" class="Symbol">→</a> <a id="1741" href="Haskell.Prim.Monoid.html#1599" class="Bound">a</a>
+  <a id="1745" href="Haskell.Prim.Monoid.html#1722" class="Function">mconcat</a> <a id="1753" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="1762" class="Symbol">=</a> <a id="1764" href="Haskell.Prim.Monoid.html#1632" class="Field">mempty</a>
+  <a id="1773" href="Haskell.Prim.Monoid.html#1722" class="Function">mconcat</a> <a id="1781" class="Symbol">(</a><a id="1782" href="Haskell.Prim.Monoid.html#1782" class="Bound">x</a> <a id="1784" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1786" href="Haskell.Prim.Monoid.html#1786" class="Bound">xs</a><a id="1788" class="Symbol">)</a> <a id="1790" class="Symbol">=</a> <a id="1792" href="Haskell.Prim.Monoid.html#1782" class="Bound">x</a> <a id="1794" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="1797" href="Haskell.Prim.Monoid.html#1722" class="Function">mconcat</a> <a id="1805" href="Haskell.Prim.Monoid.html#1786" class="Bound">xs</a>
+<a id="1808" class="Comment">-- ** export</a>
+<a id="1821" class="Keyword">open</a> <a id="1826" href="Haskell.Prim.Monoid.html#1425" class="Module">Monoid</a> <a id="1833" class="Symbol">⦃...⦄</a> <a id="1839" class="Keyword">public</a>
+<a id="1846" class="Symbol">{-#</a> <a id="1850" class="Keyword">COMPILE</a> <a id="1858" class="Keyword">AGDA2HS</a> <a id="1866" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="1873" class="Pragma">existing-class</a> <a id="1888" class="Symbol">#-}</a>
+<a id="1892" class="Comment">-- ** instances</a>
+<a id="1908" class="Keyword">private</a>
+  <a id="1918" class="Keyword">infix</a> <a id="1924" class="Number">0</a> <a id="1926" href="Haskell.Prim.Monoid.html#1937" class="Function Operator">mempty=_</a>
+  <a id="mempty=_"></a><a id="1937" href="Haskell.Prim.Monoid.html#1937" class="Function Operator">mempty=_</a> <a id="1946" class="Symbol">:</a> <a id="1948" class="Symbol">⦃</a> <a id="1950" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="1960" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1962" class="Symbol">⦄</a> <a id="1964" class="Symbol">→</a> <a id="1966" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1968" class="Symbol">→</a> <a id="1970" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="1977" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+  <a id="1981" href="Haskell.Prim.Monoid.html#1937" class="Function Operator">mempty=</a> <a id="1989" href="Haskell.Prim.Monoid.html#1989" class="Bound">x</a> <a id="1991" class="Symbol">=</a> <a id="1993" class="Keyword">record</a> <a id="2000" class="Symbol">{</a><a id="2001" href="Haskell.Prim.Monoid.html#2001" class="Module">DefaultMonoid</a> <a id="2015" class="Symbol">(</a><a id="2016" class="Keyword">record</a> <a id="2023" class="Symbol">{</a><a id="2024" href="Haskell.Prim.Monoid.html#1632" class="Field">mempty</a> <a id="2031" class="Symbol">=</a> <a id="2033" href="Haskell.Prim.Monoid.html#1989" class="Bound">x</a><a id="2034" class="Symbol">})}</a>
+
+  <a id="mkMonoid"></a><a id="2041" href="Haskell.Prim.Monoid.html#2041" class="Function">mkMonoid</a> <a id="2050" class="Symbol">:</a> <a id="2052" href="Haskell.Prim.Monoid.html#1584" class="Record">DefaultMonoid</a> <a id="2066" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2068" class="Symbol">→</a> <a id="2070" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2077" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+  <a id="2081" href="Haskell.Prim.Monoid.html#2041" class="Function">mkMonoid</a> <a id="2090" href="Haskell.Prim.Monoid.html#2090" class="Bound">x</a> <a id="2092" class="Symbol">=</a> <a id="2094" class="Keyword">record</a> <a id="2101" class="Symbol">{</a><a id="2102" href="Haskell.Prim.Monoid.html#2102" class="Module">DefaultMonoid</a> <a id="2116" href="Haskell.Prim.Monoid.html#2090" class="Bound">x</a><a id="2117" class="Symbol">}</a>
+<a id="2119" class="Keyword">instance</a>
+  <a id="iMonoidList"></a><a id="2130" href="Haskell.Prim.Monoid.html#2130" class="Function">iMonoidList</a> <a id="2142" class="Symbol">:</a> <a id="2144" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2151" class="Symbol">(</a><a id="2152" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2157" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="2158" class="Symbol">)</a>
+  <a id="2162" href="Haskell.Prim.Monoid.html#2130" class="Function">iMonoidList</a> <a id="2174" class="Symbol">=</a> <a id="2176" href="Haskell.Prim.Monoid.html#1937" class="Function Operator">mempty=</a> <a id="2184" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+
+  <a id="iMonoidMaybe"></a><a id="2190" href="Haskell.Prim.Monoid.html#2190" class="Function">iMonoidMaybe</a> <a id="2203" class="Symbol">:</a> <a id="2205" class="Symbol">⦃</a> <a id="2207" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="2217" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2219" class="Symbol">⦄</a> <a id="2221" class="Symbol">→</a> <a id="2223" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2230" class="Symbol">(</a><a id="2231" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="2237" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="2238" class="Symbol">)</a>
+  <a id="2242" href="Haskell.Prim.Monoid.html#2190" class="Function">iMonoidMaybe</a> <a id="2255" class="Symbol">=</a> <a id="2257" href="Haskell.Prim.Monoid.html#1937" class="Function Operator">mempty=</a> <a id="2265" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>
+
+  <a id="iMonoidFun"></a><a id="2276" href="Haskell.Prim.Monoid.html#2276" class="Function">iMonoidFun</a> <a id="2287" class="Symbol">:</a> <a id="2289" class="Symbol">⦃</a> <a id="2291" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2298" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2300" class="Symbol">⦄</a> <a id="2302" class="Symbol">→</a> <a id="2304" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2311" class="Symbol">(</a><a id="2312" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2314" class="Symbol">→</a> <a id="2316" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="2317" class="Symbol">)</a>
+  <a id="2321" href="Haskell.Prim.Monoid.html#2276" class="Function">iMonoidFun</a> <a id="2332" class="Symbol">=</a> <a id="2334" href="Haskell.Prim.Monoid.html#1937" class="Function Operator">mempty=</a> <a id="2342" class="Symbol">λ</a> <a id="2344" href="Haskell.Prim.Monoid.html#2344" class="Bound">_</a> <a id="2346" class="Symbol">→</a> <a id="2348" href="Haskell.Prim.Monoid.html#1466" class="Field">mempty</a>
+
+  <a id="iMonoidUnit"></a><a id="2358" href="Haskell.Prim.Monoid.html#2358" class="Function">iMonoidUnit</a> <a id="2370" class="Symbol">:</a> <a id="2372" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2379" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="2383" href="Haskell.Prim.Monoid.html#2358" class="Function">iMonoidUnit</a> <a id="2395" class="Symbol">=</a> <a id="2397" href="Haskell.Prim.Monoid.html#1937" class="Function Operator">mempty=</a> <a id="2405" href="Agda.Builtin.Unit.html#212" class="InductiveConstructor">tt</a>
+
+  <a id="iMonoidTuple₂"></a><a id="2411" href="Haskell.Prim.Monoid.html#2411" class="Function">iMonoidTuple₂</a> <a id="2425" class="Symbol">:</a> <a id="2427" class="Symbol">⦃</a> <a id="2429" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2436" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2438" class="Symbol">⦄</a> <a id="2440" class="Symbol">→</a> <a id="2442" class="Symbol">⦃</a> <a id="2444" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2451" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2453" class="Symbol">⦄</a> <a id="2455" class="Symbol">→</a> <a id="2457" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2464" class="Symbol">(</a><a id="2465" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2467" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="2469" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="2470" class="Symbol">)</a>
+  <a id="2474" href="Haskell.Prim.Monoid.html#2411" class="Function">iMonoidTuple₂</a> <a id="2488" class="Symbol">=</a> <a id="2490" href="Haskell.Prim.Monoid.html#1937" class="Function Operator">mempty=</a> <a id="2498" class="Symbol">(</a><a id="2499" href="Haskell.Prim.Monoid.html#1466" class="Field">mempty</a> <a id="2506" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="2508" href="Haskell.Prim.Monoid.html#1466" class="Field">mempty</a><a id="2514" class="Symbol">)</a>
+
+  <a id="iMonoidTuple₃"></a><a id="2519" href="Haskell.Prim.Monoid.html#2519" class="Function">iMonoidTuple₃</a> <a id="2533" class="Symbol">:</a> <a id="2535" class="Symbol">⦃</a> <a id="2537" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2544" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2546" class="Symbol">⦄</a> <a id="2548" class="Symbol">→</a> <a id="2550" class="Symbol">⦃</a> <a id="2552" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2559" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2561" class="Symbol">⦄</a> <a id="2563" class="Symbol">→</a> <a id="2565" class="Symbol">⦃</a> <a id="2567" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2574" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="2576" class="Symbol">⦄</a> <a id="2578" class="Symbol">→</a>  <a id="2581" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2588" class="Symbol">(</a><a id="2589" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2591" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="2593" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2595" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="2597" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="2598" class="Symbol">)</a>
+  <a id="2602" href="Haskell.Prim.Monoid.html#2519" class="Function">iMonoidTuple₃</a> <a id="2616" class="Symbol">=</a> <a id="2618" href="Haskell.Prim.Monoid.html#1937" class="Function Operator">mempty=</a> <a id="2626" class="Symbol">(</a><a id="2627" href="Haskell.Prim.Monoid.html#1466" class="Field">mempty</a> <a id="2634" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2636" href="Haskell.Prim.Monoid.html#1466" class="Field">mempty</a> <a id="2643" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="2645" href="Haskell.Prim.Monoid.html#1466" class="Field">mempty</a><a id="2651" class="Symbol">)</a>
+
+<a id="2654" class="Keyword">open</a> <a id="2659" href="Haskell.Prim.Monoid.html#1584" class="Module">DefaultMonoid</a>
+
+<a id="MonoidEndo"></a><a id="2674" href="Haskell.Prim.Monoid.html#2674" class="Function">MonoidEndo</a> <a id="2685" class="Symbol">:</a> <a id="2687" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2694" class="Symbol">(</a><a id="2695" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2697" class="Symbol">→</a> <a id="2699" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="2700" class="Symbol">)</a>
+<a id="2702" href="Haskell.Prim.Monoid.html#2674" class="Function">MonoidEndo</a> <a id="2713" class="Symbol">=</a> <a id="2715" href="Haskell.Prim.Monoid.html#2041" class="Function">mkMonoid</a> <a id="2724" class="Symbol">λ</a> <a id="2726" class="Keyword">where</a>
+  <a id="2734" class="Symbol">.</a><a id="2735" href="Haskell.Prim.Monoid.html#1632" class="Field">mempty</a> <a id="2742" class="Symbol">→</a> <a id="2744" href="Haskell.Prim.html#1296" class="Function">id</a>
+  <a id="2749" class="Symbol">.</a><a id="2750" href="Haskell.Prim.Monoid.html#1657" class="Field">super</a> <a id="2756" class="Symbol">.</a><a id="2757" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="2762" class="Symbol">→</a> <a id="2764" href="Haskell.Prim.html#1330" class="Function Operator">_∘_</a>
+
+<a id="MonoidEndoᵒᵖ"></a><a id="2769" href="Haskell.Prim.Monoid.html#2769" class="Function">MonoidEndoᵒᵖ</a> <a id="2782" class="Symbol">:</a> <a id="2784" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2791" class="Symbol">(</a><a id="2792" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2794" class="Symbol">→</a> <a id="2796" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="2797" class="Symbol">)</a>
+<a id="2799" href="Haskell.Prim.Monoid.html#2769" class="Function">MonoidEndoᵒᵖ</a> <a id="2812" class="Symbol">=</a> <a id="2814" href="Haskell.Prim.Monoid.html#2041" class="Function">mkMonoid</a> <a id="2823" class="Symbol">λ</a> <a id="2825" class="Keyword">where</a>
+  <a id="2833" class="Symbol">.</a><a id="2834" href="Haskell.Prim.Monoid.html#1632" class="Field">mempty</a>      <a id="2846" class="Symbol">→</a> <a id="2848" href="Haskell.Prim.html#1296" class="Function">id</a>
+  <a id="2853" class="Symbol">.</a><a id="2854" href="Haskell.Prim.Monoid.html#1657" class="Field">super</a> <a id="2860" class="Symbol">.</a><a id="2861" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="2866" class="Symbol">→</a> <a id="2868" href="Haskell.Prim.html#1383" class="Function">flip</a> <a id="2873" href="Haskell.Prim.html#1330" class="Function Operator">_∘_</a>
+
+<a id="MonoidConj"></a><a id="2878" href="Haskell.Prim.Monoid.html#2878" class="Function">MonoidConj</a> <a id="2889" class="Symbol">:</a> <a id="2891" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2898" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="2903" href="Haskell.Prim.Monoid.html#2878" class="Function">MonoidConj</a> <a id="2914" class="Symbol">=</a> <a id="2916" href="Haskell.Prim.Monoid.html#2041" class="Function">mkMonoid</a> <a id="2925" class="Symbol">λ</a> <a id="2927" class="Keyword">where</a>
+  <a id="2935" class="Symbol">.</a><a id="2936" href="Haskell.Prim.Monoid.html#1632" class="Field">mempty</a>      <a id="2948" class="Symbol">→</a> <a id="2950" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+  <a id="2957" class="Symbol">.</a><a id="2958" href="Haskell.Prim.Monoid.html#1657" class="Field">super</a> <a id="2964" class="Symbol">.</a><a id="2965" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="2970" class="Symbol">→</a> <a id="2972" href="Haskell.Prim.Bool.html#138" class="Function Operator">_&amp;&amp;_</a>
+
+<a id="MonoidDisj"></a><a id="2978" href="Haskell.Prim.Monoid.html#2978" class="Function">MonoidDisj</a> <a id="2989" class="Symbol">:</a> <a id="2991" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="2998" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="3003" href="Haskell.Prim.Monoid.html#2978" class="Function">MonoidDisj</a> <a id="3014" class="Symbol">=</a> <a id="3016" href="Haskell.Prim.Monoid.html#2041" class="Function">mkMonoid</a> <a id="3025" class="Symbol">λ</a> <a id="3027" class="Keyword">where</a>
+  <a id="3035" class="Symbol">.</a><a id="3036" href="Haskell.Prim.Monoid.html#1632" class="Field">mempty</a>      <a id="3048" class="Symbol">→</a> <a id="3050" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a>
+  <a id="3058" class="Symbol">.</a><a id="3059" href="Haskell.Prim.Monoid.html#1657" class="Field">super</a> <a id="3065" class="Symbol">.</a><a id="3066" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="3071" class="Symbol">→</a> <a id="3073" href="Haskell.Prim.Bool.html#213" class="Function Operator">_||_</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Num.html b/lib/Haskell.Prim.Num.html
new file mode 100644
index 00000000..7bf86619
--- /dev/null
+++ b/lib/Haskell.Prim.Num.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Num</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--no-auto-inline</a> <a id="30" class="Symbol">#-}</a>
+
+<a id="35" class="Keyword">module</a> <a id="42" href="Haskell.Prim.Num.html" class="Module">Haskell.Prim.Num</a> <a id="59" class="Keyword">where</a>
+
+<a id="66" class="Keyword">open</a> <a id="71" class="Keyword">import</a> <a id="78" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="91" class="Keyword">open</a> <a id="96" class="Keyword">import</a> <a id="103" href="Haskell.Prim.Word.html" class="Module">Haskell.Prim.Word</a>
+<a id="121" class="Keyword">open</a> <a id="126" class="Keyword">import</a> <a id="133" href="Haskell.Prim.Int.html" class="Module">Haskell.Prim.Int</a>
+<a id="150" class="Keyword">open</a> <a id="155" class="Keyword">import</a> <a id="162" href="Haskell.Prim.Integer.html" class="Module">Haskell.Prim.Integer</a>
+<a id="183" class="Keyword">open</a> <a id="188" class="Keyword">import</a> <a id="195" href="Haskell.Prim.Double.html" class="Module">Haskell.Prim.Double</a>
+<a id="215" class="Keyword">open</a> <a id="220" class="Keyword">import</a> <a id="227" href="Haskell.Prim.Eq.html" class="Module">Haskell.Prim.Eq</a>
+<a id="243" class="Keyword">open</a> <a id="248" class="Keyword">import</a> <a id="255" href="Haskell.Prim.Ord.html" class="Module">Haskell.Prim.Ord</a>
+<a id="272" class="Keyword">open</a> <a id="277" class="Keyword">import</a> <a id="284" href="Haskell.Prim.Monoid.html" class="Module">Haskell.Prim.Monoid</a>
+
+<a id="305" class="Comment">--------------------------------------------------</a>
+<a id="356" class="Comment">-- Num</a>
+
+<a id="364" class="Keyword">record</a> <a id="Num"></a><a id="371" href="Haskell.Prim.Num.html#371" class="Record">Num</a> <a id="375" class="Symbol">(</a><a id="376" href="Haskell.Prim.Num.html#376" class="Bound">a</a> <a id="378" class="Symbol">:</a> <a id="380" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="383" class="Symbol">)</a> <a id="385" class="Symbol">:</a> <a id="387" href="Agda.Primitive.html#388" class="Primitive">Set₁</a> <a id="392" class="Keyword">where</a>
+  <a id="400" class="Keyword">infixl</a> <a id="407" class="Number">6</a> <a id="409" href="Haskell.Prim.Num.html#547" class="Field Operator">_+_</a> <a id="413" href="Haskell.Prim.Num.html#577" class="Field Operator">_-_</a>
+  <a id="419" class="Keyword">infixl</a> <a id="426" class="Number">7</a> <a id="428" href="Haskell.Prim.Num.html#632" class="Field Operator">_*_</a>
+  <a id="434" class="Keyword">field</a>
+    <a id="444" class="Symbol">@</a><a id="445" class="Symbol">0</a> <a id="Num.MinusOK"></a><a id="447" href="Haskell.Prim.Num.html#447" class="Field">MinusOK</a>       <a id="461" class="Symbol">:</a> <a id="463" href="Haskell.Prim.Num.html#376" class="Bound">a</a> <a id="465" class="Symbol">→</a> <a id="467" href="Haskell.Prim.Num.html#376" class="Bound">a</a> <a id="469" class="Symbol">→</a> <a id="471" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+    <a id="479" class="Symbol">@</a><a id="480" class="Symbol">0</a> <a id="Num.NegateOK"></a><a id="482" href="Haskell.Prim.Num.html#482" class="Field">NegateOK</a>      <a id="496" class="Symbol">:</a> <a id="498" href="Haskell.Prim.Num.html#376" class="Bound">a</a> <a id="500" class="Symbol">→</a> <a id="502" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+    <a id="510" class="Symbol">@</a><a id="511" class="Symbol">0</a> <a id="Num.FromIntegerOK"></a><a id="513" href="Haskell.Prim.Num.html#513" class="Field">FromIntegerOK</a> <a id="527" class="Symbol">:</a> <a id="529" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="537" class="Symbol">→</a> <a id="539" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+    <a id="Num._+_"></a><a id="547" href="Haskell.Prim.Num.html#547" class="Field Operator">_+_</a>           <a id="561" class="Symbol">:</a> <a id="563" href="Haskell.Prim.Num.html#376" class="Bound">a</a> <a id="565" class="Symbol">→</a> <a id="567" href="Haskell.Prim.Num.html#376" class="Bound">a</a> <a id="569" class="Symbol">→</a> <a id="571" href="Haskell.Prim.Num.html#376" class="Bound">a</a>
+    <a id="Num._-_"></a><a id="577" href="Haskell.Prim.Num.html#577" class="Field Operator">_-_</a>           <a id="591" class="Symbol">:</a> <a id="593" class="Symbol">(</a><a id="594" href="Haskell.Prim.Num.html#594" class="Bound">x</a> <a id="596" href="Haskell.Prim.Num.html#596" class="Bound">y</a> <a id="598" class="Symbol">:</a> <a id="600" href="Haskell.Prim.Num.html#376" class="Bound">a</a><a id="601" class="Symbol">)</a> <a id="603" class="Symbol">→</a> <a id="605" class="Symbol">@</a><a id="606" class="Symbol">0</a> <a id="608" class="Symbol">⦃</a> <a id="610" href="Haskell.Prim.Num.html#447" class="Field">MinusOK</a> <a id="618" href="Haskell.Prim.Num.html#594" class="Bound">x</a> <a id="620" href="Haskell.Prim.Num.html#596" class="Bound">y</a> <a id="622" class="Symbol">⦄</a> <a id="624" class="Symbol">→</a> <a id="626" href="Haskell.Prim.Num.html#376" class="Bound">a</a>
+    <a id="Num._*_"></a><a id="632" href="Haskell.Prim.Num.html#632" class="Field Operator">_*_</a>           <a id="646" class="Symbol">:</a> <a id="648" href="Haskell.Prim.Num.html#376" class="Bound">a</a> <a id="650" class="Symbol">→</a> <a id="652" href="Haskell.Prim.Num.html#376" class="Bound">a</a> <a id="654" class="Symbol">→</a> <a id="656" href="Haskell.Prim.Num.html#376" class="Bound">a</a>
+    <a id="Num.negate"></a><a id="662" href="Haskell.Prim.Num.html#662" class="Field">negate</a>        <a id="676" class="Symbol">:</a> <a id="678" class="Symbol">(</a><a id="679" href="Haskell.Prim.Num.html#679" class="Bound">x</a> <a id="681" class="Symbol">:</a> <a id="683" href="Haskell.Prim.Num.html#376" class="Bound">a</a><a id="684" class="Symbol">)</a> <a id="686" class="Symbol">→</a> <a id="688" class="Symbol">@</a><a id="689" class="Symbol">0</a> <a id="691" class="Symbol">⦃</a> <a id="693" href="Haskell.Prim.Num.html#482" class="Field">NegateOK</a> <a id="702" href="Haskell.Prim.Num.html#679" class="Bound">x</a> <a id="704" class="Symbol">⦄</a> <a id="706" class="Symbol">→</a> <a id="708" href="Haskell.Prim.Num.html#376" class="Bound">a</a>
+    <a id="Num.abs"></a><a id="714" href="Haskell.Prim.Num.html#714" class="Field">abs</a>           <a id="728" class="Symbol">:</a> <a id="730" href="Haskell.Prim.Num.html#376" class="Bound">a</a> <a id="732" class="Symbol">→</a> <a id="734" href="Haskell.Prim.Num.html#376" class="Bound">a</a>
+    <a id="Num.signum"></a><a id="740" href="Haskell.Prim.Num.html#740" class="Field">signum</a>        <a id="754" class="Symbol">:</a> <a id="756" href="Haskell.Prim.Num.html#376" class="Bound">a</a> <a id="758" class="Symbol">→</a> <a id="760" href="Haskell.Prim.Num.html#376" class="Bound">a</a>
+    <a id="Num.fromInteger"></a><a id="766" href="Haskell.Prim.Num.html#766" class="Field">fromInteger</a>   <a id="780" class="Symbol">:</a> <a id="782" class="Symbol">(</a><a id="783" href="Haskell.Prim.Num.html#783" class="Bound">n</a> <a id="785" class="Symbol">:</a> <a id="787" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a><a id="794" class="Symbol">)</a> <a id="796" class="Symbol">→</a> <a id="798" class="Symbol">@</a><a id="799" class="Symbol">0</a> <a id="801" class="Symbol">⦃</a> <a id="803" href="Haskell.Prim.Num.html#513" class="Field">FromIntegerOK</a> <a id="817" href="Haskell.Prim.Num.html#783" class="Bound">n</a> <a id="819" class="Symbol">⦄</a> <a id="821" class="Symbol">→</a> <a id="823" href="Haskell.Prim.Num.html#376" class="Bound">a</a>
+    <a id="829" class="Keyword">overlap</a> <a id="837" class="Symbol">⦃</a> <a id="Num.number"></a><a id="839" href="Haskell.Prim.Num.html#839" class="Field">number</a> <a id="846" class="Symbol">⦄</a>  <a id="849" class="Symbol">:</a> <a id="851" href="Agda.Builtin.FromNat.html#196" class="Record">Number</a> <a id="858" href="Haskell.Prim.Num.html#376" class="Bound">a</a>
+    <a id="864" class="Keyword">overlap</a> <a id="872" class="Symbol">⦃</a> <a id="Num.numZero"></a><a id="874" href="Haskell.Prim.Num.html#874" class="Field">numZero</a> <a id="882" class="Symbol">⦄</a> <a id="884" class="Symbol">:</a> <a id="886" href="Haskell.Prim.Num.html#839" class="Field">number</a> <a id="893" class="Symbol">.</a><a id="894" href="Agda.Builtin.FromNat.html#252" class="Field">Number.Constraint</a> <a id="912" class="Number">0</a>
+    <a id="918" class="Keyword">overlap</a> <a id="926" class="Symbol">⦃</a> <a id="Num.numOne"></a><a id="928" href="Haskell.Prim.Num.html#928" class="Field">numOne</a> <a id="935" class="Symbol">⦄</a>  <a id="938" class="Symbol">:</a> <a id="940" href="Haskell.Prim.Num.html#839" class="Field">number</a> <a id="947" class="Symbol">.</a><a id="948" href="Agda.Builtin.FromNat.html#252" class="Field">Number.Constraint</a> <a id="966" class="Number">1</a>
+
+<a id="969" class="Keyword">open</a> <a id="974" href="Haskell.Prim.Num.html#371" class="Module">Num</a> <a id="978" class="Symbol">⦃...⦄</a> <a id="984" class="Keyword">public</a> <a id="991" class="Keyword">hiding</a> <a id="998" class="Symbol">(</a><a id="999" href="Haskell.Prim.Num.html#513" class="Field">FromIntegerOK</a><a id="1012" class="Symbol">;</a> <a id="1014" href="Haskell.Prim.Num.html#839" class="Field">number</a><a id="1020" class="Symbol">)</a>
+
+<a id="1023" class="Symbol">{-#</a> <a id="1027" class="Keyword">COMPILE</a> <a id="1035" class="Keyword">AGDA2HS</a> <a id="1043" href="Haskell.Prim.Num.html#371" class="Record">Num</a> <a id="1047" class="Pragma">existing-class</a> <a id="1062" class="Symbol">#-}</a>
+
+<a id="1067" class="Keyword">instance</a>
+  <a id="iNumNat"></a><a id="1078" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1086" class="Symbol">:</a> <a id="1088" href="Haskell.Prim.Num.html#371" class="Record">Num</a> <a id="1092" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="1098" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1106" class="Symbol">.</a><a id="1107" href="Haskell.Prim.Num.html#447" class="Field">MinusOK</a> <a id="1115" href="Haskell.Prim.Num.html#1115" class="Bound">n</a> <a id="1117" href="Haskell.Prim.Num.html#1117" class="Bound">m</a>      <a id="1124" class="Symbol">=</a> <a id="1126" href="Haskell.Prim.html#3046" class="Datatype">IsFalse</a> <a id="1134" class="Symbol">(</a><a id="1135" href="Agda.Builtin.Nat.html#757" class="Primitive">ltNat</a> <a id="1141" href="Haskell.Prim.Num.html#1115" class="Bound">n</a> <a id="1143" href="Haskell.Prim.Num.html#1117" class="Bound">m</a><a id="1144" class="Symbol">)</a>
+  <a id="1148" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1156" class="Symbol">.</a><a id="1157" href="Haskell.Prim.Num.html#482" class="Field">NegateOK</a> <a id="1166" class="Number">0</a>       <a id="1174" class="Symbol">=</a> <a id="1176" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="1180" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1188" class="Symbol">.</a><a id="1189" href="Haskell.Prim.Num.html#482" class="Field">NegateOK</a> <a id="1198" class="Symbol">(</a><a id="1199" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1203" class="Symbol">_)</a> <a id="1206" class="Symbol">=</a> <a id="1208" href="Haskell.Prim.html#2596" class="Datatype">⊥</a>
+  <a id="1212" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1220" class="Symbol">.</a><a id="1221" href="Haskell.Prim.Num.html#513" class="Field">Num.FromIntegerOK</a> <a id="1239" class="Symbol">(</a><a id="1240" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1247" class="Symbol">_)</a> <a id="1250" class="Symbol">=</a> <a id="1252" href="Haskell.Prim.html#2596" class="Datatype">⊥</a>
+  <a id="1256" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1264" class="Symbol">.</a><a id="1265" href="Haskell.Prim.Num.html#513" class="Field">Num.FromIntegerOK</a> <a id="1283" class="Symbol">(</a><a id="1284" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="1288" class="Symbol">_)</a> <a id="1291" class="Symbol">=</a> <a id="1293" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="1297" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1305" class="Symbol">.</a><a id="1306" href="Haskell.Prim.Num.html#547" class="Field Operator">_+_</a> <a id="1310" href="Haskell.Prim.Num.html#1310" class="Bound">n</a> <a id="1312" href="Haskell.Prim.Num.html#1312" class="Bound">m</a> <a id="1314" class="Symbol">=</a> <a id="1316" href="Agda.Builtin.Nat.html#336" class="Primitive">addNat</a> <a id="1323" href="Haskell.Prim.Num.html#1310" class="Bound">n</a> <a id="1325" href="Haskell.Prim.Num.html#1312" class="Bound">m</a>
+  <a id="1329" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1337" class="Symbol">.</a><a id="1338" href="Haskell.Prim.Num.html#577" class="Field Operator">_-_</a> <a id="1342" href="Haskell.Prim.Num.html#1342" class="Bound">n</a> <a id="1344" href="Haskell.Prim.Num.html#1344" class="Bound">m</a> <a id="1346" class="Symbol">=</a> <a id="1348" href="Agda.Builtin.Nat.html#426" class="Primitive">monusNat</a> <a id="1357" href="Haskell.Prim.Num.html#1342" class="Bound">n</a> <a id="1359" href="Haskell.Prim.Num.html#1344" class="Bound">m</a>
+  <a id="1363" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1371" class="Symbol">.</a><a id="1372" href="Haskell.Prim.Num.html#632" class="Field Operator">_*_</a> <a id="1376" href="Haskell.Prim.Num.html#1376" class="Bound">n</a> <a id="1378" href="Haskell.Prim.Num.html#1378" class="Bound">m</a> <a id="1380" class="Symbol">=</a> <a id="1382" href="Agda.Builtin.Nat.html#539" class="Primitive">mulNat</a> <a id="1389" href="Haskell.Prim.Num.html#1376" class="Bound">n</a> <a id="1391" href="Haskell.Prim.Num.html#1378" class="Bound">m</a>
+  <a id="1395" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1403" class="Symbol">.</a><a id="1404" href="Haskell.Prim.Num.html#662" class="Field">negate</a> <a id="1411" href="Haskell.Prim.Num.html#1411" class="Bound">n</a> <a id="1413" class="Symbol">=</a> <a id="1415" href="Haskell.Prim.Num.html#1411" class="Bound">n</a>
+  <a id="1419" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1427" class="Symbol">.</a><a id="1428" href="Haskell.Prim.Num.html#714" class="Field">abs</a>    <a id="1435" href="Haskell.Prim.Num.html#1435" class="Bound">n</a> <a id="1437" class="Symbol">=</a> <a id="1439" href="Haskell.Prim.Num.html#1435" class="Bound">n</a>
+  <a id="1443" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1451" class="Symbol">.</a><a id="1452" href="Haskell.Prim.Num.html#740" class="Field">signum</a> <a id="1459" class="Number">0</a>       <a id="1467" class="Symbol">=</a> <a id="1469" class="Number">0</a>
+  <a id="1473" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1481" class="Symbol">.</a><a id="1482" href="Haskell.Prim.Num.html#740" class="Field">signum</a> <a id="1489" class="Symbol">(</a><a id="1490" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1494" href="Haskell.Prim.Num.html#1494" class="Bound">n</a><a id="1495" class="Symbol">)</a> <a id="1497" class="Symbol">=</a> <a id="1499" class="Number">1</a>
+  <a id="1503" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1511" class="Symbol">.</a><a id="1512" href="Haskell.Prim.Num.html#766" class="Field">fromInteger</a> <a id="1524" class="Symbol">(</a><a id="1525" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="1529" href="Haskell.Prim.Num.html#1529" class="Bound">n</a><a id="1530" class="Symbol">)</a> <a id="1532" class="Symbol">=</a> <a id="1534" href="Haskell.Prim.Num.html#1529" class="Bound">n</a>
+  <a id="1538" href="Haskell.Prim.Num.html#1078" class="Function">iNumNat</a> <a id="1546" class="Symbol">.</a><a id="1547" href="Haskell.Prim.Num.html#766" class="Field">fromInteger</a> <a id="1559" class="Symbol">(</a><a id="1560" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1567" class="Symbol">_)</a> <a id="1570" class="Symbol">⦃</a> <a id="1572" class="Symbol">()</a> <a id="1575" class="Symbol">⦄</a>
+
+  <a id="iNumInt"></a><a id="1580" href="Haskell.Prim.Num.html#1580" class="Function">iNumInt</a> <a id="1588" class="Symbol">:</a> <a id="1590" href="Haskell.Prim.Num.html#371" class="Record">Num</a> <a id="1594" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+  <a id="1600" href="Haskell.Prim.Num.html#1580" class="Function">iNumInt</a> <a id="1608" class="Symbol">.</a><a id="1609" href="Haskell.Prim.Num.html#447" class="Field">MinusOK</a> <a id="1617" class="Symbol">_</a> <a id="1619" class="Symbol">_</a>         <a id="1629" class="Symbol">=</a> <a id="1631" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="1635" href="Haskell.Prim.Num.html#1580" class="Function">iNumInt</a> <a id="1643" class="Symbol">.</a><a id="1644" href="Haskell.Prim.Num.html#482" class="Field">NegateOK</a> <a id="1653" class="Symbol">_</a>          <a id="1664" class="Symbol">=</a> <a id="1666" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="1670" href="Haskell.Prim.Num.html#1580" class="Function">iNumInt</a> <a id="1678" class="Symbol">.</a><a id="1679" href="Haskell.Prim.Num.html#513" class="Field">Num.FromIntegerOK</a> <a id="1697" class="Symbol">_</a> <a id="1699" class="Symbol">=</a> <a id="1701" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="1705" href="Haskell.Prim.Num.html#1580" class="Function">iNumInt</a> <a id="1713" class="Symbol">.</a><a id="1714" href="Haskell.Prim.Num.html#547" class="Field Operator">_+_</a> <a id="1718" href="Haskell.Prim.Num.html#1718" class="Bound">x</a> <a id="1720" href="Haskell.Prim.Num.html#1720" class="Bound">y</a>             <a id="1734" class="Symbol">=</a> <a id="1736" href="Haskell.Prim.Int.html#1932" class="Function">addInt</a> <a id="1743" href="Haskell.Prim.Num.html#1718" class="Bound">x</a> <a id="1745" href="Haskell.Prim.Num.html#1720" class="Bound">y</a>
+  <a id="1749" href="Haskell.Prim.Num.html#1580" class="Function">iNumInt</a> <a id="1757" class="Symbol">.</a><a id="1758" href="Haskell.Prim.Num.html#577" class="Field Operator">_-_</a> <a id="1762" href="Haskell.Prim.Num.html#1762" class="Bound">x</a> <a id="1764" href="Haskell.Prim.Num.html#1764" class="Bound">y</a>             <a id="1778" class="Symbol">=</a> <a id="1780" href="Haskell.Prim.Int.html#2007" class="Function">subInt</a> <a id="1787" href="Haskell.Prim.Num.html#1762" class="Bound">x</a> <a id="1789" href="Haskell.Prim.Num.html#1764" class="Bound">y</a>
+  <a id="1793" href="Haskell.Prim.Num.html#1580" class="Function">iNumInt</a> <a id="1801" class="Symbol">.</a><a id="1802" href="Haskell.Prim.Num.html#632" class="Field Operator">_*_</a> <a id="1806" href="Haskell.Prim.Num.html#1806" class="Bound">x</a> <a id="1808" href="Haskell.Prim.Num.html#1808" class="Bound">y</a>             <a id="1822" class="Symbol">=</a> <a id="1824" href="Haskell.Prim.Int.html#2069" class="Function">mulInt</a> <a id="1831" href="Haskell.Prim.Num.html#1806" class="Bound">x</a> <a id="1833" href="Haskell.Prim.Num.html#1808" class="Bound">y</a>
+  <a id="1837" href="Haskell.Prim.Num.html#1580" class="Function">iNumInt</a> <a id="1845" class="Symbol">.</a><a id="1846" href="Haskell.Prim.Num.html#662" class="Field">negate</a> <a id="1853" href="Haskell.Prim.Num.html#1853" class="Bound">x</a>            <a id="1866" class="Symbol">=</a> <a id="1868" href="Haskell.Prim.Int.html#1231" class="Function">negateInt</a> <a id="1878" href="Haskell.Prim.Num.html#1853" class="Bound">x</a>
+  <a id="1882" href="Haskell.Prim.Num.html#1580" class="Function">iNumInt</a> <a id="1890" class="Symbol">.</a><a id="1891" href="Haskell.Prim.Num.html#714" class="Field">abs</a> <a id="1895" href="Haskell.Prim.Num.html#1895" class="Bound">x</a>               <a id="1911" class="Symbol">=</a> <a id="1913" href="Haskell.Prim.Int.html#2144" class="Function">absInt</a> <a id="1920" href="Haskell.Prim.Num.html#1895" class="Bound">x</a>
+  <a id="1924" href="Haskell.Prim.Num.html#1580" class="Function">iNumInt</a> <a id="1932" class="Symbol">.</a><a id="1933" href="Haskell.Prim.Num.html#740" class="Field">signum</a> <a id="1940" href="Haskell.Prim.Num.html#1940" class="Bound">x</a>            <a id="1953" class="Symbol">=</a> <a id="1955" href="Haskell.Prim.Int.html#2218" class="Function">signInt</a> <a id="1963" href="Haskell.Prim.Num.html#1940" class="Bound">x</a>
+  <a id="1967" href="Haskell.Prim.Num.html#1580" class="Function">iNumInt</a> <a id="1975" class="Symbol">.</a><a id="1976" href="Haskell.Prim.Num.html#766" class="Field">fromInteger</a> <a id="1988" href="Haskell.Prim.Num.html#1988" class="Bound">n</a>       <a id="1996" class="Symbol">=</a> <a id="1998" href="Haskell.Prim.Int.html#1497" class="Function">integerToInt</a> <a id="2011" href="Haskell.Prim.Num.html#1988" class="Bound">n</a>
+
+  <a id="iNumInteger"></a><a id="2016" href="Haskell.Prim.Num.html#2016" class="Function">iNumInteger</a> <a id="2028" class="Symbol">:</a> <a id="2030" href="Haskell.Prim.Num.html#371" class="Record">Num</a> <a id="2034" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+  <a id="2044" href="Haskell.Prim.Num.html#2016" class="Function">iNumInteger</a> <a id="2056" class="Symbol">.</a><a id="2057" href="Haskell.Prim.Num.html#447" class="Field">MinusOK</a> <a id="2065" class="Symbol">_</a> <a id="2067" class="Symbol">_</a> <a id="2069" class="Symbol">=</a> <a id="2071" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="2075" href="Haskell.Prim.Num.html#2016" class="Function">iNumInteger</a> <a id="2087" class="Symbol">.</a><a id="2088" href="Haskell.Prim.Num.html#482" class="Field">NegateOK</a> <a id="2097" class="Symbol">_</a>          <a id="2108" class="Symbol">=</a> <a id="2110" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="2114" href="Haskell.Prim.Num.html#2016" class="Function">iNumInteger</a> <a id="2126" class="Symbol">.</a><a id="2127" href="Haskell.Prim.Num.html#513" class="Field">Num.FromIntegerOK</a> <a id="2145" class="Symbol">_</a> <a id="2147" class="Symbol">=</a> <a id="2149" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="2153" href="Haskell.Prim.Num.html#2016" class="Function">iNumInteger</a> <a id="2165" class="Symbol">.</a><a id="2166" href="Haskell.Prim.Num.html#547" class="Field Operator">_+_</a> <a id="2170" href="Haskell.Prim.Num.html#2170" class="Bound">x</a> <a id="2172" href="Haskell.Prim.Num.html#2172" class="Bound">y</a>             <a id="2186" class="Symbol">=</a> <a id="2188" href="Haskell.Prim.Integer.html#839" class="Function">addInteger</a> <a id="2199" href="Haskell.Prim.Num.html#2170" class="Bound">x</a> <a id="2201" href="Haskell.Prim.Num.html#2172" class="Bound">y</a>
+  <a id="2205" href="Haskell.Prim.Num.html#2016" class="Function">iNumInteger</a> <a id="2217" class="Symbol">.</a><a id="2218" href="Haskell.Prim.Num.html#577" class="Field Operator">_-_</a> <a id="2222" href="Haskell.Prim.Num.html#2222" class="Bound">x</a> <a id="2224" href="Haskell.Prim.Num.html#2224" class="Bound">y</a>             <a id="2238" class="Symbol">=</a> <a id="2240" href="Haskell.Prim.Integer.html#1098" class="Function">subInteger</a> <a id="2251" href="Haskell.Prim.Num.html#2222" class="Bound">x</a> <a id="2253" href="Haskell.Prim.Num.html#2224" class="Bound">y</a>
+  <a id="2257" href="Haskell.Prim.Num.html#2016" class="Function">iNumInteger</a> <a id="2269" class="Symbol">.</a><a id="2270" href="Haskell.Prim.Num.html#632" class="Field Operator">_*_</a> <a id="2274" href="Haskell.Prim.Num.html#2274" class="Bound">x</a> <a id="2276" href="Haskell.Prim.Num.html#2276" class="Bound">y</a>             <a id="2290" class="Symbol">=</a> <a id="2292" href="Haskell.Prim.Integer.html#1188" class="Function">mulInteger</a> <a id="2303" href="Haskell.Prim.Num.html#2274" class="Bound">x</a> <a id="2305" href="Haskell.Prim.Num.html#2276" class="Bound">y</a>
+  <a id="2309" href="Haskell.Prim.Num.html#2016" class="Function">iNumInteger</a> <a id="2321" class="Symbol">.</a><a id="2322" href="Haskell.Prim.Num.html#662" class="Field">negate</a> <a id="2329" href="Haskell.Prim.Num.html#2329" class="Bound">x</a>            <a id="2342" class="Symbol">=</a> <a id="2344" href="Haskell.Prim.Integer.html#687" class="Function">negateInteger</a> <a id="2358" href="Haskell.Prim.Num.html#2329" class="Bound">x</a>
+  <a id="2362" href="Haskell.Prim.Num.html#2016" class="Function">iNumInteger</a> <a id="2374" class="Symbol">.</a><a id="2375" href="Haskell.Prim.Num.html#714" class="Field">abs</a> <a id="2379" href="Haskell.Prim.Num.html#2379" class="Bound">x</a>               <a id="2395" class="Symbol">=</a> <a id="2397" href="Haskell.Prim.Integer.html#1468" class="Function">absInteger</a> <a id="2408" href="Haskell.Prim.Num.html#2379" class="Bound">x</a>
+  <a id="2412" href="Haskell.Prim.Num.html#2016" class="Function">iNumInteger</a> <a id="2424" class="Symbol">.</a><a id="2425" href="Haskell.Prim.Num.html#740" class="Field">signum</a> <a id="2432" href="Haskell.Prim.Num.html#2432" class="Bound">x</a>            <a id="2445" class="Symbol">=</a> <a id="2447" href="Haskell.Prim.Integer.html#1566" class="Function">signInteger</a> <a id="2459" href="Haskell.Prim.Num.html#2432" class="Bound">x</a>
+  <a id="2463" href="Haskell.Prim.Num.html#2016" class="Function">iNumInteger</a> <a id="2475" class="Symbol">.</a><a id="2476" href="Haskell.Prim.Num.html#766" class="Field">fromInteger</a> <a id="2488" href="Haskell.Prim.Num.html#2488" class="Bound">n</a>       <a id="2496" class="Symbol">=</a> <a id="2498" href="Haskell.Prim.Num.html#2488" class="Bound">n</a>
+
+  <a id="iNumWord"></a><a id="2503" href="Haskell.Prim.Num.html#2503" class="Function">iNumWord</a> <a id="2512" class="Symbol">:</a> <a id="2514" href="Haskell.Prim.Num.html#371" class="Record">Num</a> <a id="2518" href="Agda.Builtin.Word.html#208" class="Postulate">Word</a>
+  <a id="2525" href="Haskell.Prim.Num.html#2503" class="Function">iNumWord</a> <a id="2534" class="Symbol">.</a><a id="2535" href="Haskell.Prim.Num.html#447" class="Field">MinusOK</a> <a id="2543" class="Symbol">_</a> <a id="2545" class="Symbol">_</a>         <a id="2555" class="Symbol">=</a> <a id="2557" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="2561" href="Haskell.Prim.Num.html#2503" class="Function">iNumWord</a> <a id="2570" class="Symbol">.</a><a id="2571" href="Haskell.Prim.Num.html#482" class="Field">NegateOK</a> <a id="2580" class="Symbol">_</a>          <a id="2591" class="Symbol">=</a> <a id="2593" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="2597" href="Haskell.Prim.Num.html#2503" class="Function">iNumWord</a> <a id="2606" class="Symbol">.</a><a id="2607" href="Haskell.Prim.Num.html#513" class="Field">Num.FromIntegerOK</a> <a id="2625" class="Symbol">_</a> <a id="2627" class="Symbol">=</a> <a id="2629" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="2633" href="Haskell.Prim.Num.html#2503" class="Function">iNumWord</a> <a id="2642" class="Symbol">.</a><a id="2643" href="Haskell.Prim.Num.html#547" class="Field Operator">_+_</a> <a id="2647" href="Haskell.Prim.Num.html#2647" class="Bound">x</a> <a id="2649" href="Haskell.Prim.Num.html#2649" class="Bound">y</a>             <a id="2663" class="Symbol">=</a> <a id="2665" href="Haskell.Prim.Word.html#567" class="Function">addWord</a> <a id="2673" href="Haskell.Prim.Num.html#2647" class="Bound">x</a> <a id="2675" href="Haskell.Prim.Num.html#2649" class="Bound">y</a>
+  <a id="2679" href="Haskell.Prim.Num.html#2503" class="Function">iNumWord</a> <a id="2688" class="Symbol">.</a><a id="2689" href="Haskell.Prim.Num.html#577" class="Field Operator">_-_</a> <a id="2693" href="Haskell.Prim.Num.html#2693" class="Bound">x</a> <a id="2695" href="Haskell.Prim.Num.html#2695" class="Bound">y</a>             <a id="2709" class="Symbol">=</a> <a id="2711" href="Haskell.Prim.Word.html#640" class="Function">subWord</a> <a id="2719" href="Haskell.Prim.Num.html#2693" class="Bound">x</a> <a id="2721" href="Haskell.Prim.Num.html#2695" class="Bound">y</a>
+  <a id="2725" href="Haskell.Prim.Num.html#2503" class="Function">iNumWord</a> <a id="2734" class="Symbol">.</a><a id="2735" href="Haskell.Prim.Num.html#632" class="Field Operator">_*_</a> <a id="2739" href="Haskell.Prim.Num.html#2739" class="Bound">x</a> <a id="2741" href="Haskell.Prim.Num.html#2741" class="Bound">y</a>             <a id="2755" class="Symbol">=</a> <a id="2757" href="Haskell.Prim.Word.html#709" class="Function">mulWord</a> <a id="2765" href="Haskell.Prim.Num.html#2739" class="Bound">x</a> <a id="2767" href="Haskell.Prim.Num.html#2741" class="Bound">y</a>
+  <a id="2771" href="Haskell.Prim.Num.html#2503" class="Function">iNumWord</a> <a id="2780" class="Symbol">.</a><a id="2781" href="Haskell.Prim.Num.html#662" class="Field">negate</a> <a id="2788" href="Haskell.Prim.Num.html#2788" class="Bound">x</a>            <a id="2801" class="Symbol">=</a> <a id="2803" href="Haskell.Prim.Word.html#499" class="Function">negateWord</a> <a id="2814" href="Haskell.Prim.Num.html#2788" class="Bound">x</a>
+  <a id="2818" href="Haskell.Prim.Num.html#2503" class="Function">iNumWord</a> <a id="2827" class="Symbol">.</a><a id="2828" href="Haskell.Prim.Num.html#714" class="Field">abs</a> <a id="2832" href="Haskell.Prim.Num.html#2832" class="Bound">x</a>               <a id="2848" class="Symbol">=</a> <a id="2850" href="Haskell.Prim.Num.html#2832" class="Bound">x</a>
+  <a id="2854" href="Haskell.Prim.Num.html#2503" class="Function">iNumWord</a> <a id="2863" class="Symbol">.</a><a id="2864" href="Haskell.Prim.Num.html#740" class="Field">signum</a> <a id="2871" href="Haskell.Prim.Num.html#2871" class="Bound">x</a>            <a id="2884" class="Symbol">=</a> <a id="2886" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="2889" href="Haskell.Prim.Num.html#2871" class="Bound">x</a> <a id="2891" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="2894" class="Number">0</a> <a id="2896" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="2901" class="Number">0</a> <a id="2903" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="2908" class="Number">1</a>
+  <a id="2912" href="Haskell.Prim.Num.html#2503" class="Function">iNumWord</a> <a id="2921" class="Symbol">.</a><a id="2922" href="Haskell.Prim.Num.html#766" class="Field">fromInteger</a> <a id="2934" href="Haskell.Prim.Num.html#2934" class="Bound">n</a>       <a id="2942" class="Symbol">=</a> <a id="2944" href="Haskell.Prim.Word.html#991" class="Function">integerToWord</a> <a id="2958" href="Haskell.Prim.Num.html#2934" class="Bound">n</a>
+
+  <a id="iNumDouble"></a><a id="2963" href="Haskell.Prim.Num.html#2963" class="Function">iNumDouble</a> <a id="2974" class="Symbol">:</a> <a id="2976" href="Haskell.Prim.Num.html#371" class="Record">Num</a> <a id="2980" href="Agda.Builtin.Float.html#353" class="Postulate">Double</a>
+  <a id="2989" href="Haskell.Prim.Num.html#2963" class="Function">iNumDouble</a> <a id="3000" class="Symbol">.</a><a id="3001" href="Haskell.Prim.Num.html#447" class="Field">MinusOK</a> <a id="3009" class="Symbol">_</a> <a id="3011" class="Symbol">_</a>         <a id="3021" class="Symbol">=</a> <a id="3023" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="3027" href="Haskell.Prim.Num.html#2963" class="Function">iNumDouble</a> <a id="3038" class="Symbol">.</a><a id="3039" href="Haskell.Prim.Num.html#482" class="Field">NegateOK</a> <a id="3048" class="Symbol">_</a>          <a id="3059" class="Symbol">=</a> <a id="3061" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="3065" href="Haskell.Prim.Num.html#2963" class="Function">iNumDouble</a> <a id="3076" class="Symbol">.</a><a id="3077" href="Haskell.Prim.Num.html#513" class="Field">Num.FromIntegerOK</a> <a id="3095" class="Symbol">_</a> <a id="3097" class="Symbol">=</a> <a id="3099" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="3103" href="Haskell.Prim.Num.html#2963" class="Function">iNumDouble</a> <a id="3114" class="Symbol">.</a><a id="3115" href="Haskell.Prim.Num.html#547" class="Field Operator">_+_</a> <a id="3119" href="Haskell.Prim.Num.html#3119" class="Bound">x</a> <a id="3121" href="Haskell.Prim.Num.html#3121" class="Bound">y</a>             <a id="3135" class="Symbol">=</a> <a id="3137" href="Agda.Builtin.Float.html#1341" class="Primitive">primFloatPlus</a> <a id="3151" href="Haskell.Prim.Num.html#3119" class="Bound">x</a> <a id="3153" href="Haskell.Prim.Num.html#3121" class="Bound">y</a>
+  <a id="3157" href="Haskell.Prim.Num.html#2963" class="Function">iNumDouble</a> <a id="3168" class="Symbol">.</a><a id="3169" href="Haskell.Prim.Num.html#577" class="Field Operator">_-_</a> <a id="3173" href="Haskell.Prim.Num.html#3173" class="Bound">x</a> <a id="3175" href="Haskell.Prim.Num.html#3175" class="Bound">y</a>             <a id="3189" class="Symbol">=</a> <a id="3191" href="Agda.Builtin.Float.html#1394" class="Primitive">primFloatMinus</a> <a id="3206" href="Haskell.Prim.Num.html#3173" class="Bound">x</a> <a id="3208" href="Haskell.Prim.Num.html#3175" class="Bound">y</a>
+  <a id="3212" href="Haskell.Prim.Num.html#2963" class="Function">iNumDouble</a> <a id="3223" class="Symbol">.</a><a id="3224" href="Haskell.Prim.Num.html#632" class="Field Operator">_*_</a> <a id="3228" href="Haskell.Prim.Num.html#3228" class="Bound">x</a> <a id="3230" href="Haskell.Prim.Num.html#3230" class="Bound">y</a>             <a id="3244" class="Symbol">=</a> <a id="3246" href="Agda.Builtin.Float.html#1447" class="Primitive">primFloatTimes</a> <a id="3261" href="Haskell.Prim.Num.html#3228" class="Bound">x</a> <a id="3263" href="Haskell.Prim.Num.html#3230" class="Bound">y</a>
+  <a id="3267" href="Haskell.Prim.Num.html#2963" class="Function">iNumDouble</a> <a id="3278" class="Symbol">.</a><a id="3279" href="Haskell.Prim.Num.html#662" class="Field">negate</a> <a id="3286" href="Haskell.Prim.Num.html#3286" class="Bound">x</a>            <a id="3299" class="Symbol">=</a> <a id="3301" href="Agda.Builtin.Float.html#1394" class="Primitive">primFloatMinus</a> <a id="3316" class="Number">0.0</a> <a id="3320" href="Haskell.Prim.Num.html#3286" class="Bound">x</a>
+  <a id="3324" href="Haskell.Prim.Num.html#2963" class="Function">iNumDouble</a> <a id="3335" class="Symbol">.</a><a id="3336" href="Haskell.Prim.Num.html#714" class="Field">abs</a> <a id="3340" href="Haskell.Prim.Num.html#3340" class="Bound">x</a>               <a id="3356" class="Symbol">=</a> <a id="3358" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="3361" href="Haskell.Prim.Num.html#3340" class="Bound">x</a> <a id="3363" href="Haskell.Prim.Ord.html#1072" class="Field Operator">&lt;</a> <a id="3365" class="Number">0.0</a> <a id="3369" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="3374" href="Agda.Builtin.Float.html#1394" class="Primitive">primFloatMinus</a> <a id="3389" class="Number">0.0</a> <a id="3393" href="Haskell.Prim.Num.html#3340" class="Bound">x</a> <a id="3395" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="3400" href="Haskell.Prim.Num.html#3340" class="Bound">x</a>
+  <a id="3404" href="Haskell.Prim.Num.html#2963" class="Function">iNumDouble</a> <a id="3415" class="Symbol">.</a><a id="3416" href="Haskell.Prim.Num.html#740" class="Field">signum</a> <a id="3423" href="Haskell.Prim.Num.html#3423" class="Bound">x</a>            <a id="3436" class="Symbol">=</a> <a id="3438" href="Haskell.Prim.html#1609" class="Function Operator">case</a> <a id="3443" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="3451" href="Haskell.Prim.Num.html#3423" class="Bound">x</a> <a id="3453" class="Number">0.0</a> <a id="3457" href="Haskell.Prim.html#1609" class="Function Operator">of</a> <a id="3460" class="Symbol">λ</a> <a id="3462" class="Keyword">where</a>
+                                      <a id="3506" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a> <a id="3509" class="Symbol">→</a> <a id="3511" class="Number">-1.0</a>
+                                      <a id="3554" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a> <a id="3557" class="Symbol">→</a> <a id="3559" href="Haskell.Prim.Num.html#3423" class="Bound">x</a>
+                                      <a id="3599" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a> <a id="3602" class="Symbol">→</a> <a id="3604" class="Number">1.0</a>
+  <a id="3610" href="Haskell.Prim.Num.html#2963" class="Function">iNumDouble</a> <a id="3621" class="Symbol">.</a><a id="3622" href="Haskell.Prim.Num.html#766" class="Field">fromInteger</a> <a id="3634" class="Symbol">(</a><a id="3635" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a>    <a id="3642" href="Haskell.Prim.Num.html#3642" class="Bound">n</a><a id="3643" class="Symbol">)</a> <a id="3645" class="Symbol">=</a> <a id="3647" href="Agda.Builtin.FromNat.html#281" class="Field">fromNat</a> <a id="3655" href="Haskell.Prim.Num.html#3642" class="Bound">n</a>
+  <a id="3659" href="Haskell.Prim.Num.html#2963" class="Function">iNumDouble</a> <a id="3670" class="Symbol">.</a><a id="3671" href="Haskell.Prim.Num.html#766" class="Field">fromInteger</a> <a id="3683" class="Symbol">(</a><a id="3684" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="3691" href="Haskell.Prim.Num.html#3691" class="Bound">n</a><a id="3692" class="Symbol">)</a> <a id="3694" class="Symbol">=</a> <a id="3696" href="Agda.Builtin.FromNeg.html#283" class="Field">fromNeg</a> <a id="3704" class="Symbol">(</a><a id="3705" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="3709" href="Haskell.Prim.Num.html#3691" class="Bound">n</a><a id="3710" class="Symbol">)</a>
+
+<a id="3713" class="Keyword">open</a> <a id="3718" href="Haskell.Prim.Monoid.html#1584" class="Module">DefaultMonoid</a>
+
+<a id="MonoidSum"></a><a id="3733" href="Haskell.Prim.Num.html#3733" class="Function">MonoidSum</a> <a id="3743" class="Symbol">:</a> <a id="3745" class="Symbol">⦃</a> <a id="3747" href="Haskell.Prim.Num.html#3747" class="Bound">iNum</a> <a id="3752" class="Symbol">:</a> <a id="3754" href="Haskell.Prim.Num.html#371" class="Record">Num</a> <a id="3758" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3760" class="Symbol">⦄</a> <a id="3762" class="Symbol">→</a> <a id="3764" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="3771" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3773" href="Haskell.Prim.Num.html#3733" class="Function">MonoidSum</a> <a id="3783" class="Symbol">=</a> <a id="3785" class="Keyword">record</a> <a id="3792" class="Symbol">{</a><a id="3793" href="Haskell.Prim.Num.html#3793" class="Module">DefaultMonoid</a> <a id="3807" class="Symbol">(λ</a> <a id="3810" class="Keyword">where</a>
+  <a id="3818" class="Symbol">.</a><a id="3819" href="Haskell.Prim.Monoid.html#1632" class="Field">mempty</a>      <a id="3831" class="Symbol">→</a> <a id="3833" class="Number">0</a>
+  <a id="3837" class="Symbol">.</a><a id="3838" href="Haskell.Prim.Monoid.html#1657" class="Field">super</a> <a id="3844" class="Symbol">.</a><a id="3845" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="3850" class="Symbol">→</a> <a id="3852" href="Haskell.Prim.Num.html#547" class="Field Operator">_+_</a>
+ <a id="3857" class="Symbol">)}</a>
+
+<a id="MonoidProduct"></a><a id="3861" href="Haskell.Prim.Num.html#3861" class="Function">MonoidProduct</a> <a id="3875" class="Symbol">:</a> <a id="3877" class="Symbol">⦃</a> <a id="3879" href="Haskell.Prim.Num.html#3879" class="Bound">iNum</a> <a id="3884" class="Symbol">:</a> <a id="3886" href="Haskell.Prim.Num.html#371" class="Record">Num</a> <a id="3890" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3892" class="Symbol">⦄</a> <a id="3894" class="Symbol">→</a> <a id="3896" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="3903" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3905" href="Haskell.Prim.Num.html#3861" class="Function">MonoidProduct</a> <a id="3919" class="Symbol">=</a> <a id="3921" class="Keyword">record</a> <a id="3928" class="Symbol">{</a><a id="3929" href="Haskell.Prim.Num.html#3929" class="Module">DefaultMonoid</a> <a id="3943" class="Symbol">(λ</a> <a id="3946" class="Keyword">where</a>
+  <a id="3954" class="Symbol">.</a><a id="3955" href="Haskell.Prim.Monoid.html#1632" class="Field">mempty</a>      <a id="3967" class="Symbol">→</a> <a id="3969" class="Number">1</a>
+  <a id="3973" class="Symbol">.</a><a id="3974" href="Haskell.Prim.Monoid.html#1657" class="Field">super</a> <a id="3980" class="Symbol">.</a><a id="3981" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="3986" class="Symbol">→</a> <a id="3988" href="Haskell.Prim.Num.html#632" class="Field Operator">_*_</a>
+ <a id="3993" class="Symbol">)}</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Ord.html b/lib/Haskell.Prim.Ord.html
new file mode 100644
index 00000000..12d534fb
--- /dev/null
+++ b/lib/Haskell.Prim.Ord.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Ord</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Ord.html" class="Module">Haskell.Prim.Ord</a> <a id="26" class="Keyword">where</a>
+
+<a id="33" class="Keyword">open</a> <a id="38" class="Keyword">import</a> <a id="45" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="58" class="Keyword">open</a> <a id="63" class="Keyword">import</a> <a id="70" href="Haskell.Prim.Eq.html" class="Module">Haskell.Prim.Eq</a>
+<a id="86" class="Keyword">open</a> <a id="91" class="Keyword">import</a> <a id="98" href="Haskell.Prim.Bool.html" class="Module">Haskell.Prim.Bool</a>
+<a id="116" class="Keyword">open</a> <a id="121" class="Keyword">import</a> <a id="128" href="Haskell.Prim.Int.html" class="Module">Haskell.Prim.Int</a>
+<a id="145" class="Keyword">open</a> <a id="150" class="Keyword">import</a> <a id="157" href="Haskell.Prim.Word.html" class="Module">Haskell.Prim.Word</a>
+<a id="175" class="Keyword">open</a> <a id="180" class="Keyword">import</a> <a id="187" href="Haskell.Prim.Integer.html" class="Module">Haskell.Prim.Integer</a>
+<a id="208" class="Keyword">open</a> <a id="213" class="Keyword">import</a> <a id="220" href="Haskell.Prim.Double.html" class="Module">Haskell.Prim.Double</a>
+<a id="240" class="Keyword">open</a> <a id="245" class="Keyword">import</a> <a id="252" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a>
+<a id="271" class="Keyword">open</a> <a id="276" class="Keyword">import</a> <a id="283" href="Haskell.Prim.Monoid.html" class="Module">Haskell.Prim.Monoid</a>
+<a id="303" class="Keyword">open</a> <a id="308" class="Keyword">import</a> <a id="315" href="Haskell.Prim.List.html" class="Module">Haskell.Prim.List</a>
+<a id="333" class="Keyword">open</a> <a id="338" class="Keyword">import</a> <a id="345" href="Haskell.Prim.Maybe.html" class="Module">Haskell.Prim.Maybe</a>
+<a id="364" class="Keyword">open</a> <a id="369" class="Keyword">import</a> <a id="376" href="Haskell.Prim.Either.html" class="Module">Haskell.Prim.Either</a>
+
+<a id="397" class="Comment">--------------------------------------------------</a>
+<a id="448" class="Comment">-- Ordering</a>
+
+<a id="461" class="Keyword">data</a> <a id="Ordering"></a><a id="466" href="Haskell.Prim.Ord.html#466" class="Datatype">Ordering</a> <a id="475" class="Symbol">:</a> <a id="477" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="481" class="Keyword">where</a>
+  <a id="Ordering.LT"></a><a id="489" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a> <a id="Ordering.EQ"></a><a id="492" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a> <a id="Ordering.GT"></a><a id="495" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a> <a id="498" class="Symbol">:</a> <a id="500" href="Haskell.Prim.Ord.html#466" class="Datatype">Ordering</a>
+
+<a id="510" class="Keyword">instance</a>
+  <a id="iEqOrdering"></a><a id="521" href="Haskell.Prim.Ord.html#521" class="Function">iEqOrdering</a> <a id="533" class="Symbol">:</a> <a id="535" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="538" href="Haskell.Prim.Ord.html#466" class="Datatype">Ordering</a>
+  <a id="549" href="Haskell.Prim.Ord.html#521" class="Function">iEqOrdering</a> <a id="561" class="Symbol">.</a><a id="562" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="567" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a> <a id="570" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a> <a id="573" class="Symbol">=</a> <a id="575" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+  <a id="582" href="Haskell.Prim.Ord.html#521" class="Function">iEqOrdering</a> <a id="594" class="Symbol">.</a><a id="595" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="600" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a> <a id="603" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a> <a id="606" class="Symbol">=</a> <a id="608" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+  <a id="615" href="Haskell.Prim.Ord.html#521" class="Function">iEqOrdering</a> <a id="627" class="Symbol">.</a><a id="628" href="Haskell.Prim.Eq.html#458" class="Field Operator">_==_</a> <a id="633" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a> <a id="636" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a> <a id="639" class="Symbol">=</a> <a id="641" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>
+  <a id="648" href="Haskell.Prim.Ord.html#521" class="CatchallClause Function">iEqOrdering</a><a id="659" class="CatchallClause"> </a><a id="660" class="CatchallClause Symbol">.</a><a id="661" href="Haskell.Prim.Eq.html#458" class="CatchallClause Field Operator">_==_</a><a id="665" class="CatchallClause"> </a><a id="666" class="CatchallClause Symbol">_</a><a id="667" class="CatchallClause">  </a><a id="669" class="CatchallClause Symbol">_</a>  <a id="672" class="Symbol">=</a> <a id="674" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a>
+
+  <a id="iSemigroupOrdering"></a><a id="683" href="Haskell.Prim.Ord.html#683" class="Function">iSemigroupOrdering</a> <a id="702" class="Symbol">:</a> <a id="704" href="Haskell.Prim.Monoid.html#288" class="Record">Semigroup</a> <a id="714" href="Haskell.Prim.Ord.html#466" class="Datatype">Ordering</a>
+  <a id="725" href="Haskell.Prim.Ord.html#683" class="Function">iSemigroupOrdering</a> <a id="744" class="Symbol">.</a><a id="745" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="750" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a> <a id="753" class="Symbol">_</a> <a id="755" class="Symbol">=</a> <a id="757" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a>
+  <a id="762" href="Haskell.Prim.Ord.html#683" class="Function">iSemigroupOrdering</a> <a id="781" class="Symbol">.</a><a id="782" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="787" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a> <a id="790" href="Haskell.Prim.Ord.html#790" class="Bound">o</a> <a id="792" class="Symbol">=</a> <a id="794" href="Haskell.Prim.Ord.html#790" class="Bound">o</a>
+  <a id="798" href="Haskell.Prim.Ord.html#683" class="Function">iSemigroupOrdering</a> <a id="817" class="Symbol">.</a><a id="818" href="Haskell.Prim.Monoid.html#344" class="Field Operator">_&lt;&gt;_</a> <a id="823" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a> <a id="826" class="Symbol">_</a> <a id="828" class="Symbol">=</a> <a id="830" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a>
+
+  <a id="iMonoidOrdering"></a><a id="836" href="Haskell.Prim.Ord.html#836" class="Function">iMonoidOrdering</a> <a id="852" class="Symbol">:</a> <a id="854" href="Haskell.Prim.Monoid.html#1425" class="Record">Monoid</a> <a id="861" href="Haskell.Prim.Ord.html#466" class="Datatype">Ordering</a>
+  <a id="872" href="Haskell.Prim.Ord.html#836" class="Function">iMonoidOrdering</a> <a id="888" class="Symbol">=</a> <a id="890" class="Keyword">record</a> <a id="897" class="Symbol">{</a><a id="898" href="Haskell.Prim.Ord.html#898" class="Module">DefaultMonoid</a> <a id="912" class="Symbol">(</a><a id="913" class="Keyword">record</a> <a id="920" class="Symbol">{</a><a id="921" href="Haskell.Prim.Monoid.html#1632" class="Field">mempty</a> <a id="928" class="Symbol">=</a> <a id="930" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a><a id="932" class="Symbol">})}</a>
+
+<a id="937" class="Comment">--------------------------------------------------</a>
+<a id="988" class="Comment">-- Ord</a>
+
+<a id="996" class="Keyword">record</a> <a id="Ord"></a><a id="1003" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="1007" class="Symbol">(</a><a id="1008" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1010" class="Symbol">:</a> <a id="1012" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="1015" class="Symbol">)</a> <a id="1017" class="Symbol">:</a> <a id="1019" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1023" class="Keyword">where</a>
+  <a id="1031" class="Keyword">field</a>
+    <a id="Ord.compare"></a><a id="1041" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="1049" class="Symbol">:</a> <a id="1051" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1053" class="Symbol">→</a> <a id="1055" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1057" class="Symbol">→</a> <a id="1059" href="Haskell.Prim.Ord.html#466" class="Datatype">Ordering</a>
+    <a id="Ord._&lt;_"></a><a id="1072" href="Haskell.Prim.Ord.html#1072" class="Field Operator">_&lt;_</a>  <a id="1077" class="Symbol">:</a> <a id="1079" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1081" class="Symbol">→</a> <a id="1083" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1085" class="Symbol">→</a> <a id="1087" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+    <a id="Ord._&gt;_"></a><a id="1096" href="Haskell.Prim.Ord.html#1096" class="Field Operator">_&gt;_</a>  <a id="1101" class="Symbol">:</a> <a id="1103" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1105" class="Symbol">→</a> <a id="1107" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1109" class="Symbol">→</a> <a id="1111" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+    <a id="Ord._&gt;=_"></a><a id="1120" href="Haskell.Prim.Ord.html#1120" class="Field Operator">_&gt;=_</a> <a id="1125" class="Symbol">:</a> <a id="1127" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1129" class="Symbol">→</a> <a id="1131" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1133" class="Symbol">→</a> <a id="1135" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+    <a id="Ord._&lt;=_"></a><a id="1144" href="Haskell.Prim.Ord.html#1144" class="Field Operator">_&lt;=_</a> <a id="1149" class="Symbol">:</a> <a id="1151" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1153" class="Symbol">→</a> <a id="1155" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1157" class="Symbol">→</a> <a id="1159" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+    <a id="Ord.max"></a><a id="1168" href="Haskell.Prim.Ord.html#1168" class="Field">max</a>  <a id="1173" class="Symbol">:</a> <a id="1175" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1177" class="Symbol">→</a> <a id="1179" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1181" class="Symbol">→</a> <a id="1183" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a>
+    <a id="Ord.min"></a><a id="1189" href="Haskell.Prim.Ord.html#1189" class="Field">min</a>  <a id="1194" class="Symbol">:</a> <a id="1196" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1198" class="Symbol">→</a> <a id="1200" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a> <a id="1202" class="Symbol">→</a> <a id="1204" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a>
+    <a id="1210" class="Keyword">overlap</a> <a id="1218" class="Symbol">⦃</a> <a id="Ord.super"></a><a id="1220" href="Haskell.Prim.Ord.html#1220" class="Field">super</a> <a id="1226" class="Symbol">⦄</a> <a id="1228" class="Symbol">:</a> <a id="1230" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1233" href="Haskell.Prim.Ord.html#1008" class="Bound">a</a>
+
+  <a id="1238" class="Keyword">infix</a> <a id="1244" class="Number">4</a> <a id="1246" href="Haskell.Prim.Ord.html#1072" class="Field Operator">_&lt;_</a> <a id="1250" href="Haskell.Prim.Ord.html#1096" class="Field Operator">_&gt;_</a> <a id="1254" href="Haskell.Prim.Ord.html#1144" class="Field Operator">_&lt;=_</a> <a id="1259" href="Haskell.Prim.Ord.html#1120" class="Field Operator">_&gt;=_</a>
+
+<a id="1265" class="Keyword">open</a> <a id="1270" href="Haskell.Prim.Ord.html#1003" class="Module">Ord</a> <a id="1274" class="Symbol">⦃...⦄</a> <a id="1280" class="Keyword">public</a>
+
+<a id="1288" class="Symbol">{-#</a> <a id="1292" class="Keyword">COMPILE</a> <a id="1300" class="Keyword">AGDA2HS</a> <a id="1308" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="1312" class="Pragma">existing-class</a> <a id="1327" class="Symbol">#-}</a>
+
+<a id="ordFromCompare"></a><a id="1332" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="1347" class="Symbol">:</a> <a id="1349" class="Symbol">⦃</a> <a id="1351" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1354" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1356" class="Symbol">⦄</a> <a id="1358" class="Symbol">→</a> <a id="1360" class="Symbol">(</a><a id="1361" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1363" class="Symbol">→</a> <a id="1365" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1367" class="Symbol">→</a> <a id="1369" href="Haskell.Prim.Ord.html#466" class="Datatype">Ordering</a><a id="1377" class="Symbol">)</a> <a id="1379" class="Symbol">→</a> <a id="1381" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="1385" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="1387" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="1402" href="Haskell.Prim.Ord.html#1402" class="Bound">cmp</a> <a id="1406" class="Symbol">.</a><a id="1407" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="1415" class="Symbol">=</a> <a id="1417" href="Haskell.Prim.Ord.html#1402" class="Bound">cmp</a>
+<a id="1421" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="1436" href="Haskell.Prim.Ord.html#1436" class="Bound">cmp</a> <a id="1440" class="Symbol">.</a><a id="1441" href="Haskell.Prim.Ord.html#1072" class="Field Operator">_&lt;_</a>  <a id="1446" href="Haskell.Prim.Ord.html#1446" class="Bound">x</a> <a id="1448" href="Haskell.Prim.Ord.html#1448" class="Bound">y</a> <a id="1450" class="Symbol">=</a> <a id="1452" href="Haskell.Prim.Ord.html#1436" class="Bound">cmp</a> <a id="1456" href="Haskell.Prim.Ord.html#1446" class="Bound">x</a> <a id="1458" href="Haskell.Prim.Ord.html#1448" class="Bound">y</a> <a id="1460" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1463" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a>
+<a id="1466" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="1481" href="Haskell.Prim.Ord.html#1481" class="Bound">cmp</a> <a id="1485" class="Symbol">.</a><a id="1486" href="Haskell.Prim.Ord.html#1096" class="Field Operator">_&gt;_</a>  <a id="1491" href="Haskell.Prim.Ord.html#1491" class="Bound">x</a> <a id="1493" href="Haskell.Prim.Ord.html#1493" class="Bound">y</a> <a id="1495" class="Symbol">=</a> <a id="1497" href="Haskell.Prim.Ord.html#1481" class="Bound">cmp</a> <a id="1501" href="Haskell.Prim.Ord.html#1491" class="Bound">x</a> <a id="1503" href="Haskell.Prim.Ord.html#1493" class="Bound">y</a> <a id="1505" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1508" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a>
+<a id="1511" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="1526" href="Haskell.Prim.Ord.html#1526" class="Bound">cmp</a> <a id="1530" class="Symbol">.</a><a id="1531" href="Haskell.Prim.Ord.html#1144" class="Field Operator">_&lt;=_</a> <a id="1536" href="Haskell.Prim.Ord.html#1536" class="Bound">x</a> <a id="1538" href="Haskell.Prim.Ord.html#1538" class="Bound">y</a> <a id="1540" class="Symbol">=</a> <a id="1542" href="Haskell.Prim.Ord.html#1526" class="Bound">cmp</a> <a id="1546" href="Haskell.Prim.Ord.html#1536" class="Bound">x</a> <a id="1548" href="Haskell.Prim.Ord.html#1538" class="Bound">y</a> <a id="1550" href="Haskell.Prim.Eq.html#481" class="Function Operator">/=</a> <a id="1553" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a>
+<a id="1556" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="1571" href="Haskell.Prim.Ord.html#1571" class="Bound">cmp</a> <a id="1575" class="Symbol">.</a><a id="1576" href="Haskell.Prim.Ord.html#1120" class="Field Operator">_&gt;=_</a> <a id="1581" href="Haskell.Prim.Ord.html#1581" class="Bound">x</a> <a id="1583" href="Haskell.Prim.Ord.html#1583" class="Bound">y</a> <a id="1585" class="Symbol">=</a> <a id="1587" href="Haskell.Prim.Ord.html#1571" class="Bound">cmp</a> <a id="1591" href="Haskell.Prim.Ord.html#1581" class="Bound">x</a> <a id="1593" href="Haskell.Prim.Ord.html#1583" class="Bound">y</a> <a id="1595" href="Haskell.Prim.Eq.html#481" class="Function Operator">/=</a> <a id="1598" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a>
+<a id="1601" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="1616" href="Haskell.Prim.Ord.html#1616" class="Bound">cmp</a> <a id="1620" class="Symbol">.</a><a id="1621" href="Haskell.Prim.Ord.html#1168" class="Field">max</a>  <a id="1626" href="Haskell.Prim.Ord.html#1626" class="Bound">x</a> <a id="1628" href="Haskell.Prim.Ord.html#1628" class="Bound">y</a> <a id="1630" class="Symbol">=</a> <a id="1632" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="1635" href="Haskell.Prim.Ord.html#1616" class="Bound">cmp</a> <a id="1639" href="Haskell.Prim.Ord.html#1626" class="Bound">x</a> <a id="1641" href="Haskell.Prim.Ord.html#1628" class="Bound">y</a> <a id="1643" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1646" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a> <a id="1649" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="1654" href="Haskell.Prim.Ord.html#1628" class="Bound">y</a> <a id="1656" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="1661" href="Haskell.Prim.Ord.html#1626" class="Bound">x</a>
+<a id="1663" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="1678" href="Haskell.Prim.Ord.html#1678" class="Bound">cmp</a> <a id="1682" class="Symbol">.</a><a id="1683" href="Haskell.Prim.Ord.html#1189" class="Field">min</a>  <a id="1688" href="Haskell.Prim.Ord.html#1688" class="Bound">x</a> <a id="1690" href="Haskell.Prim.Ord.html#1690" class="Bound">y</a> <a id="1692" class="Symbol">=</a> <a id="1694" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="1697" href="Haskell.Prim.Ord.html#1678" class="Bound">cmp</a> <a id="1701" href="Haskell.Prim.Ord.html#1688" class="Bound">x</a> <a id="1703" href="Haskell.Prim.Ord.html#1690" class="Bound">y</a> <a id="1705" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1708" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a> <a id="1711" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="1716" href="Haskell.Prim.Ord.html#1690" class="Bound">y</a> <a id="1718" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="1723" href="Haskell.Prim.Ord.html#1688" class="Bound">x</a>
+
+<a id="ordFromLessThan"></a><a id="1726" href="Haskell.Prim.Ord.html#1726" class="Function">ordFromLessThan</a> <a id="1742" class="Symbol">:</a> <a id="1744" class="Symbol">⦃</a> <a id="1746" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="1749" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1751" class="Symbol">⦄</a> <a id="1753" class="Symbol">→</a> <a id="1755" class="Symbol">(</a><a id="1756" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1758" class="Symbol">→</a> <a id="1760" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1762" class="Symbol">→</a> <a id="1764" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="1768" class="Symbol">)</a> <a id="1770" class="Symbol">→</a> <a id="1772" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="1776" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="1778" href="Haskell.Prim.Ord.html#1726" class="Function">ordFromLessThan</a> <a id="1794" href="Haskell.Prim.Ord.html#1794" class="Bound Operator">_&lt;_</a> <a id="1798" class="Symbol">.</a><a id="1799" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="1807" href="Haskell.Prim.Ord.html#1807" class="Bound">x</a> <a id="1809" href="Haskell.Prim.Ord.html#1809" class="Bound">y</a> <a id="1811" class="Symbol">=</a> <a id="1813" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="1816" href="Haskell.Prim.Ord.html#1807" class="Bound">x</a> <a id="1818" href="Haskell.Prim.Ord.html#1794" class="Bound Operator">&lt;</a> <a id="1820" href="Haskell.Prim.Ord.html#1809" class="Bound">y</a> <a id="1822" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="1827" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a> <a id="1830" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="1835" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="1838" href="Haskell.Prim.Ord.html#1807" class="Bound">x</a> <a id="1840" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1843" href="Haskell.Prim.Ord.html#1809" class="Bound">y</a> <a id="1845" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="1850" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a> <a id="1853" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="1858" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a>
+<a id="1861" href="Haskell.Prim.Ord.html#1726" class="Function">ordFromLessThan</a> <a id="1877" href="Haskell.Prim.Ord.html#1877" class="Bound Operator">_&lt;_</a> <a id="1881" class="Symbol">.</a><a id="1882" href="Haskell.Prim.Ord.html#1072" class="Field Operator">_&lt;_</a>  <a id="1887" href="Haskell.Prim.Ord.html#1887" class="Bound">x</a> <a id="1889" href="Haskell.Prim.Ord.html#1889" class="Bound">y</a> <a id="1891" class="Symbol">=</a> <a id="1893" href="Haskell.Prim.Ord.html#1887" class="Bound">x</a> <a id="1895" href="Haskell.Prim.Ord.html#1877" class="Bound Operator">&lt;</a> <a id="1897" href="Haskell.Prim.Ord.html#1889" class="Bound">y</a>
+<a id="1899" href="Haskell.Prim.Ord.html#1726" class="Function">ordFromLessThan</a> <a id="1915" href="Haskell.Prim.Ord.html#1915" class="Bound Operator">_&lt;_</a> <a id="1919" class="Symbol">.</a><a id="1920" href="Haskell.Prim.Ord.html#1096" class="Field Operator">_&gt;_</a>  <a id="1925" href="Haskell.Prim.Ord.html#1925" class="Bound">x</a> <a id="1927" href="Haskell.Prim.Ord.html#1927" class="Bound">y</a> <a id="1929" class="Symbol">=</a> <a id="1931" href="Haskell.Prim.Ord.html#1927" class="Bound">y</a> <a id="1933" href="Haskell.Prim.Ord.html#1915" class="Bound Operator">&lt;</a> <a id="1935" href="Haskell.Prim.Ord.html#1925" class="Bound">x</a>
+<a id="1937" href="Haskell.Prim.Ord.html#1726" class="Function">ordFromLessThan</a> <a id="1953" href="Haskell.Prim.Ord.html#1953" class="Bound Operator">_&lt;_</a> <a id="1957" class="Symbol">.</a><a id="1958" href="Haskell.Prim.Ord.html#1144" class="Field Operator">_&lt;=_</a> <a id="1963" href="Haskell.Prim.Ord.html#1963" class="Bound">x</a> <a id="1965" href="Haskell.Prim.Ord.html#1965" class="Bound">y</a> <a id="1967" class="Symbol">=</a> <a id="1969" href="Haskell.Prim.Ord.html#1963" class="Bound">x</a> <a id="1971" href="Haskell.Prim.Ord.html#1953" class="Bound Operator">&lt;</a> <a id="1973" href="Haskell.Prim.Ord.html#1965" class="Bound">y</a> <a id="1975" href="Haskell.Prim.Bool.html#213" class="Function Operator">||</a> <a id="1978" href="Haskell.Prim.Ord.html#1963" class="Bound">x</a> <a id="1980" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="1983" href="Haskell.Prim.Ord.html#1965" class="Bound">y</a>
+<a id="1985" href="Haskell.Prim.Ord.html#1726" class="Function">ordFromLessThan</a> <a id="2001" href="Haskell.Prim.Ord.html#2001" class="Bound Operator">_&lt;_</a> <a id="2005" class="Symbol">.</a><a id="2006" href="Haskell.Prim.Ord.html#1120" class="Field Operator">_&gt;=_</a> <a id="2011" href="Haskell.Prim.Ord.html#2011" class="Bound">x</a> <a id="2013" href="Haskell.Prim.Ord.html#2013" class="Bound">y</a> <a id="2015" class="Symbol">=</a> <a id="2017" href="Haskell.Prim.Ord.html#2013" class="Bound">y</a> <a id="2019" href="Haskell.Prim.Ord.html#2001" class="Bound Operator">&lt;</a> <a id="2021" href="Haskell.Prim.Ord.html#2011" class="Bound">x</a> <a id="2023" href="Haskell.Prim.Bool.html#213" class="Function Operator">||</a> <a id="2026" href="Haskell.Prim.Ord.html#2011" class="Bound">x</a> <a id="2028" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="2031" href="Haskell.Prim.Ord.html#2013" class="Bound">y</a>
+<a id="2033" href="Haskell.Prim.Ord.html#1726" class="Function">ordFromLessThan</a> <a id="2049" href="Haskell.Prim.Ord.html#2049" class="Bound Operator">_&lt;_</a> <a id="2053" class="Symbol">.</a><a id="2054" href="Haskell.Prim.Ord.html#1168" class="Field">max</a>  <a id="2059" href="Haskell.Prim.Ord.html#2059" class="Bound">x</a> <a id="2061" href="Haskell.Prim.Ord.html#2061" class="Bound">y</a> <a id="2063" class="Symbol">=</a> <a id="2065" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="2068" href="Haskell.Prim.Ord.html#2059" class="Bound">x</a> <a id="2070" href="Haskell.Prim.Ord.html#2049" class="Bound Operator">&lt;</a> <a id="2072" href="Haskell.Prim.Ord.html#2061" class="Bound">y</a> <a id="2074" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="2079" href="Haskell.Prim.Ord.html#2061" class="Bound">y</a> <a id="2081" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="2086" href="Haskell.Prim.Ord.html#2059" class="Bound">x</a>
+<a id="2088" href="Haskell.Prim.Ord.html#1726" class="Function">ordFromLessThan</a> <a id="2104" href="Haskell.Prim.Ord.html#2104" class="Bound Operator">_&lt;_</a> <a id="2108" class="Symbol">.</a><a id="2109" href="Haskell.Prim.Ord.html#1189" class="Field">min</a>  <a id="2114" href="Haskell.Prim.Ord.html#2114" class="Bound">x</a> <a id="2116" href="Haskell.Prim.Ord.html#2116" class="Bound">y</a> <a id="2118" class="Symbol">=</a> <a id="2120" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="2123" href="Haskell.Prim.Ord.html#2116" class="Bound">y</a> <a id="2125" href="Haskell.Prim.Ord.html#2104" class="Bound Operator">&lt;</a> <a id="2127" href="Haskell.Prim.Ord.html#2114" class="Bound">x</a> <a id="2129" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="2134" href="Haskell.Prim.Ord.html#2116" class="Bound">y</a> <a id="2136" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="2141" href="Haskell.Prim.Ord.html#2114" class="Bound">x</a>
+
+<a id="ordFromLessEq"></a><a id="2144" href="Haskell.Prim.Ord.html#2144" class="Function">ordFromLessEq</a> <a id="2158" class="Symbol">:</a> <a id="2160" class="Symbol">⦃</a> <a id="2162" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="2165" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2167" class="Symbol">⦄</a> <a id="2169" class="Symbol">→</a> <a id="2171" class="Symbol">(</a><a id="2172" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2174" class="Symbol">→</a> <a id="2176" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2178" class="Symbol">→</a> <a id="2180" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="2184" class="Symbol">)</a> <a id="2186" class="Symbol">→</a> <a id="2188" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="2192" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="2194" href="Haskell.Prim.Ord.html#2144" class="Function">ordFromLessEq</a> <a id="2208" href="Haskell.Prim.Ord.html#2208" class="Bound Operator">_&lt;=_</a> <a id="2213" class="Symbol">.</a><a id="2214" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="2222" href="Haskell.Prim.Ord.html#2222" class="Bound">x</a> <a id="2224" href="Haskell.Prim.Ord.html#2224" class="Bound">y</a> <a id="2226" class="Symbol">=</a> <a id="2228" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="2231" href="Haskell.Prim.Ord.html#2222" class="Bound">x</a> <a id="2233" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="2236" href="Haskell.Prim.Ord.html#2224" class="Bound">y</a> <a id="2238" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="2243" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a> <a id="2246" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="2251" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="2254" href="Haskell.Prim.Ord.html#2222" class="Bound">x</a> <a id="2256" href="Haskell.Prim.Ord.html#2208" class="Bound Operator">&lt;=</a> <a id="2259" href="Haskell.Prim.Ord.html#2224" class="Bound">y</a> <a id="2261" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="2266" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a> <a id="2269" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="2274" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a>
+<a id="2277" href="Haskell.Prim.Ord.html#2144" class="Function">ordFromLessEq</a> <a id="2291" href="Haskell.Prim.Ord.html#2291" class="Bound Operator">_&lt;=_</a> <a id="2296" class="Symbol">.</a><a id="2297" href="Haskell.Prim.Ord.html#1072" class="Field Operator">_&lt;_</a>  <a id="2302" href="Haskell.Prim.Ord.html#2302" class="Bound">x</a> <a id="2304" href="Haskell.Prim.Ord.html#2304" class="Bound">y</a> <a id="2306" class="Symbol">=</a> <a id="2308" href="Haskell.Prim.Ord.html#2302" class="Bound">x</a> <a id="2310" href="Haskell.Prim.Ord.html#2291" class="Bound Operator">&lt;=</a> <a id="2313" href="Haskell.Prim.Ord.html#2304" class="Bound">y</a> <a id="2315" href="Haskell.Prim.Bool.html#138" class="Function Operator">&amp;&amp;</a> <a id="2318" href="Haskell.Prim.Bool.html#273" class="Function">not</a> <a id="2322" class="Symbol">(</a><a id="2323" href="Haskell.Prim.Ord.html#2302" class="Bound">x</a> <a id="2325" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="2328" href="Haskell.Prim.Ord.html#2304" class="Bound">y</a><a id="2329" class="Symbol">)</a>
+<a id="2331" href="Haskell.Prim.Ord.html#2144" class="Function">ordFromLessEq</a> <a id="2345" href="Haskell.Prim.Ord.html#2345" class="Bound Operator">_&lt;=_</a> <a id="2350" class="Symbol">.</a><a id="2351" href="Haskell.Prim.Ord.html#1096" class="Field Operator">_&gt;_</a>  <a id="2356" href="Haskell.Prim.Ord.html#2356" class="Bound">x</a> <a id="2358" href="Haskell.Prim.Ord.html#2358" class="Bound">y</a> <a id="2360" class="Symbol">=</a> <a id="2362" href="Haskell.Prim.Ord.html#2358" class="Bound">y</a> <a id="2364" href="Haskell.Prim.Ord.html#2345" class="Bound Operator">&lt;=</a> <a id="2367" href="Haskell.Prim.Ord.html#2356" class="Bound">x</a> <a id="2369" href="Haskell.Prim.Bool.html#138" class="Function Operator">&amp;&amp;</a> <a id="2372" href="Haskell.Prim.Bool.html#273" class="Function">not</a> <a id="2376" class="Symbol">(</a><a id="2377" href="Haskell.Prim.Ord.html#2356" class="Bound">x</a> <a id="2379" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="2382" href="Haskell.Prim.Ord.html#2358" class="Bound">y</a><a id="2383" class="Symbol">)</a>
+<a id="2385" href="Haskell.Prim.Ord.html#2144" class="Function">ordFromLessEq</a> <a id="2399" href="Haskell.Prim.Ord.html#2399" class="Bound Operator">_&lt;=_</a> <a id="2404" class="Symbol">.</a><a id="2405" href="Haskell.Prim.Ord.html#1144" class="Field Operator">_&lt;=_</a> <a id="2410" href="Haskell.Prim.Ord.html#2410" class="Bound">x</a> <a id="2412" href="Haskell.Prim.Ord.html#2412" class="Bound">y</a> <a id="2414" class="Symbol">=</a> <a id="2416" href="Haskell.Prim.Ord.html#2410" class="Bound">x</a> <a id="2418" href="Haskell.Prim.Ord.html#2399" class="Bound Operator">&lt;=</a> <a id="2421" href="Haskell.Prim.Ord.html#2412" class="Bound">y</a>
+<a id="2423" href="Haskell.Prim.Ord.html#2144" class="Function">ordFromLessEq</a> <a id="2437" href="Haskell.Prim.Ord.html#2437" class="Bound Operator">_&lt;=_</a> <a id="2442" class="Symbol">.</a><a id="2443" href="Haskell.Prim.Ord.html#1120" class="Field Operator">_&gt;=_</a> <a id="2448" href="Haskell.Prim.Ord.html#2448" class="Bound">x</a> <a id="2450" href="Haskell.Prim.Ord.html#2450" class="Bound">y</a> <a id="2452" class="Symbol">=</a> <a id="2454" href="Haskell.Prim.Ord.html#2450" class="Bound">y</a> <a id="2456" href="Haskell.Prim.Ord.html#2437" class="Bound Operator">&lt;=</a> <a id="2459" href="Haskell.Prim.Ord.html#2448" class="Bound">x</a>
+<a id="2461" href="Haskell.Prim.Ord.html#2144" class="Function">ordFromLessEq</a> <a id="2475" href="Haskell.Prim.Ord.html#2475" class="Bound Operator">_&lt;=_</a> <a id="2480" class="Symbol">.</a><a id="2481" href="Haskell.Prim.Ord.html#1168" class="Field">max</a>  <a id="2486" href="Haskell.Prim.Ord.html#2486" class="Bound">x</a> <a id="2488" href="Haskell.Prim.Ord.html#2488" class="Bound">y</a> <a id="2490" class="Symbol">=</a> <a id="2492" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="2495" href="Haskell.Prim.Ord.html#2488" class="Bound">y</a> <a id="2497" href="Haskell.Prim.Ord.html#2475" class="Bound Operator">&lt;=</a> <a id="2500" href="Haskell.Prim.Ord.html#2486" class="Bound">x</a> <a id="2502" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="2507" href="Haskell.Prim.Ord.html#2486" class="Bound">x</a> <a id="2509" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="2514" href="Haskell.Prim.Ord.html#2488" class="Bound">y</a>
+<a id="2516" href="Haskell.Prim.Ord.html#2144" class="Function">ordFromLessEq</a> <a id="2530" href="Haskell.Prim.Ord.html#2530" class="Bound Operator">_&lt;=_</a> <a id="2535" class="Symbol">.</a><a id="2536" href="Haskell.Prim.Ord.html#1189" class="Field">min</a>  <a id="2541" href="Haskell.Prim.Ord.html#2541" class="Bound">x</a> <a id="2543" href="Haskell.Prim.Ord.html#2543" class="Bound">y</a> <a id="2545" class="Symbol">=</a> <a id="2547" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="2550" href="Haskell.Prim.Ord.html#2541" class="Bound">x</a> <a id="2552" href="Haskell.Prim.Ord.html#2530" class="Bound Operator">&lt;=</a> <a id="2555" href="Haskell.Prim.Ord.html#2543" class="Bound">y</a> <a id="2557" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="2562" href="Haskell.Prim.Ord.html#2541" class="Bound">x</a> <a id="2564" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="2569" href="Haskell.Prim.Ord.html#2543" class="Bound">y</a>
+
+<a id="2572" class="Keyword">private</a>
+  <a id="compareFromLt"></a><a id="2582" href="Haskell.Prim.Ord.html#2582" class="Function">compareFromLt</a> <a id="2596" class="Symbol">:</a> <a id="2598" class="Symbol">⦃</a> <a id="2600" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="2603" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2605" class="Symbol">⦄</a> <a id="2607" class="Symbol">→</a> <a id="2609" class="Symbol">(</a><a id="2610" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2612" class="Symbol">→</a> <a id="2614" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2616" class="Symbol">→</a> <a id="2618" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="2622" class="Symbol">)</a> <a id="2624" class="Symbol">→</a> <a id="2626" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2628" class="Symbol">→</a> <a id="2630" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2632" class="Symbol">→</a> <a id="2634" href="Haskell.Prim.Ord.html#466" class="Datatype">Ordering</a>
+  <a id="2645" href="Haskell.Prim.Ord.html#2582" class="Function">compareFromLt</a> <a id="2659" href="Haskell.Prim.Ord.html#2659" class="Bound Operator">_&lt;_</a> <a id="2663" href="Haskell.Prim.Ord.html#2663" class="Bound">x</a> <a id="2665" href="Haskell.Prim.Ord.html#2665" class="Bound">y</a> <a id="2667" class="Symbol">=</a> <a id="2669" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="2672" href="Haskell.Prim.Ord.html#2663" class="Bound">x</a> <a id="2674" href="Haskell.Prim.Ord.html#2659" class="Bound Operator">&lt;</a> <a id="2676" href="Haskell.Prim.Ord.html#2665" class="Bound">y</a> <a id="2678" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="2683" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a> <a id="2686" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="2691" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="2694" href="Haskell.Prim.Ord.html#2663" class="Bound">x</a> <a id="2696" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="2699" href="Haskell.Prim.Ord.html#2665" class="Bound">y</a> <a id="2701" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="2706" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a> <a id="2709" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="2714" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a>
+
+<a id="2718" class="Keyword">private</a>
+  <a id="maxNat"></a><a id="2728" href="Haskell.Prim.Ord.html#2728" class="Function">maxNat</a> <a id="2735" class="Symbol">:</a> <a id="2737" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="2741" class="Symbol">→</a> <a id="2743" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="2747" class="Symbol">→</a> <a id="2749" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="2755" href="Haskell.Prim.Ord.html#2728" class="Function">maxNat</a> <a id="2762" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>    <a id="2770" href="Haskell.Prim.Ord.html#2770" class="Bound">y</a>       <a id="2778" class="Symbol">=</a> <a id="2780" href="Haskell.Prim.Ord.html#2770" class="Bound">y</a>
+  <a id="2784" href="Haskell.Prim.Ord.html#2728" class="Function">maxNat</a> <a id="2791" class="Symbol">(</a><a id="2792" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="2796" href="Haskell.Prim.Ord.html#2796" class="Bound">x</a><a id="2797" class="Symbol">)</a> <a id="2799" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>    <a id="2807" class="Symbol">=</a> <a id="2809" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="2813" href="Haskell.Prim.Ord.html#2796" class="Bound">x</a>
+  <a id="2817" href="Haskell.Prim.Ord.html#2728" class="Function">maxNat</a> <a id="2824" class="Symbol">(</a><a id="2825" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="2829" href="Haskell.Prim.Ord.html#2829" class="Bound">x</a><a id="2830" class="Symbol">)</a> <a id="2832" class="Symbol">(</a><a id="2833" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="2837" href="Haskell.Prim.Ord.html#2837" class="Bound">y</a><a id="2838" class="Symbol">)</a> <a id="2840" class="Symbol">=</a> <a id="2842" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="2846" class="Symbol">(</a><a id="2847" href="Haskell.Prim.Ord.html#2728" class="Function">maxNat</a> <a id="2854" href="Haskell.Prim.Ord.html#2829" class="Bound">x</a> <a id="2856" href="Haskell.Prim.Ord.html#2837" class="Bound">y</a><a id="2857" class="Symbol">)</a>
+
+  <a id="minNat"></a><a id="2862" href="Haskell.Prim.Ord.html#2862" class="Function">minNat</a> <a id="2869" class="Symbol">:</a> <a id="2871" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="2875" class="Symbol">→</a> <a id="2877" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a> <a id="2881" class="Symbol">→</a> <a id="2883" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="2889" href="Haskell.Prim.Ord.html#2862" class="Function">minNat</a> <a id="2896" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>    <a id="2904" href="Haskell.Prim.Ord.html#2904" class="Bound">y</a>       <a id="2912" class="Symbol">=</a> <a id="2914" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>
+  <a id="2921" href="Haskell.Prim.Ord.html#2862" class="Function">minNat</a> <a id="2928" class="Symbol">(</a><a id="2929" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="2933" href="Haskell.Prim.Ord.html#2933" class="Bound">x</a><a id="2934" class="Symbol">)</a> <a id="2936" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>    <a id="2944" class="Symbol">=</a> <a id="2946" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>
+  <a id="2953" href="Haskell.Prim.Ord.html#2862" class="Function">minNat</a> <a id="2960" class="Symbol">(</a><a id="2961" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="2965" href="Haskell.Prim.Ord.html#2965" class="Bound">x</a><a id="2966" class="Symbol">)</a> <a id="2968" class="Symbol">(</a><a id="2969" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="2973" href="Haskell.Prim.Ord.html#2973" class="Bound">y</a><a id="2974" class="Symbol">)</a> <a id="2976" class="Symbol">=</a> <a id="2978" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="2982" class="Symbol">(</a><a id="2983" href="Haskell.Prim.Ord.html#2862" class="Function">minNat</a> <a id="2990" href="Haskell.Prim.Ord.html#2965" class="Bound">x</a> <a id="2992" href="Haskell.Prim.Ord.html#2973" class="Bound">y</a><a id="2993" class="Symbol">)</a>
+
+<a id="2996" class="Keyword">instance</a>
+  <a id="iOrdNat"></a><a id="3007" href="Haskell.Prim.Ord.html#3007" class="Function">iOrdNat</a> <a id="3015" class="Symbol">:</a> <a id="3017" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3021" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="3027" href="Haskell.Prim.Ord.html#3007" class="Function">iOrdNat</a> <a id="3035" class="Symbol">=</a> <a id="3037" class="Keyword">record</a> <a id="3044" class="Symbol">(</a><a id="3045" href="Haskell.Prim.Ord.html#1726" class="Function">ordFromLessThan</a> <a id="3061" href="Agda.Builtin.Nat.html#757" class="Primitive">ltNat</a><a id="3066" class="Symbol">)</a>
+    <a id="3072" class="Symbol">{</a> <a id="3074" href="Haskell.Prim.Ord.html#1168" class="Field">max</a> <a id="3078" class="Symbol">=</a> <a id="3080" href="Haskell.Prim.Ord.html#2728" class="Function">maxNat</a>
+    <a id="3091" class="Symbol">;</a> <a id="3093" href="Haskell.Prim.Ord.html#1189" class="Field">min</a> <a id="3097" class="Symbol">=</a> <a id="3099" href="Haskell.Prim.Ord.html#2862" class="Function">minNat</a>
+    <a id="3110" class="Symbol">}</a>
+
+  <a id="iOrdInteger"></a><a id="3115" href="Haskell.Prim.Ord.html#3115" class="Function">iOrdInteger</a> <a id="3127" class="Symbol">:</a> <a id="3129" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3133" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+  <a id="3143" href="Haskell.Prim.Ord.html#3115" class="Function">iOrdInteger</a> <a id="3155" class="Symbol">=</a> <a id="3157" href="Haskell.Prim.Ord.html#1726" class="Function">ordFromLessThan</a> <a id="3173" href="Haskell.Prim.Integer.html#1924" class="Function">ltInteger</a>
+
+  <a id="iOrdInt"></a><a id="3186" href="Haskell.Prim.Ord.html#3186" class="Function">iOrdInt</a> <a id="3194" class="Symbol">:</a> <a id="3196" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3200" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+  <a id="3206" href="Haskell.Prim.Ord.html#3186" class="Function">iOrdInt</a> <a id="3214" class="Symbol">=</a> <a id="3216" href="Haskell.Prim.Ord.html#1726" class="Function">ordFromLessThan</a> <a id="3232" href="Haskell.Prim.Int.html#1708" class="Function">ltInt</a>
+
+  <a id="iOrdWord"></a><a id="3241" href="Haskell.Prim.Ord.html#3241" class="Function">iOrdWord</a> <a id="3250" class="Symbol">:</a> <a id="3252" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3256" href="Agda.Builtin.Word.html#208" class="Postulate">Word</a>
+  <a id="3263" href="Haskell.Prim.Ord.html#3241" class="Function">iOrdWord</a> <a id="3272" class="Symbol">=</a> <a id="3274" href="Haskell.Prim.Ord.html#1726" class="Function">ordFromLessThan</a> <a id="3290" href="Haskell.Prim.Word.html#846" class="Function">ltWord</a>
+
+  <a id="iOrdDouble"></a><a id="3300" href="Haskell.Prim.Ord.html#3300" class="Function">iOrdDouble</a> <a id="3311" class="Symbol">:</a> <a id="3313" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3317" href="Agda.Builtin.Float.html#353" class="Postulate">Double</a>
+  <a id="3326" href="Haskell.Prim.Ord.html#3300" class="Function">iOrdDouble</a> <a id="3337" class="Symbol">=</a> <a id="3339" href="Haskell.Prim.Ord.html#1726" class="Function">ordFromLessThan</a> <a id="3355" href="Agda.Builtin.Float.html#525" class="Primitive">primFloatLess</a>
+
+  <a id="iOrdChar"></a><a id="3372" href="Haskell.Prim.Ord.html#3372" class="Function">iOrdChar</a> <a id="3381" class="Symbol">:</a> <a id="3383" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3387" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a>
+  <a id="3394" href="Haskell.Prim.Ord.html#3372" class="Function">iOrdChar</a> <a id="3403" class="Symbol">=</a> <a id="3405" href="Haskell.Prim.Ord.html#1726" class="Function">ordFromLessThan</a> <a id="3421" class="Symbol">λ</a> <a id="3423" href="Haskell.Prim.Ord.html#3423" class="Bound">x</a> <a id="3425" href="Haskell.Prim.Ord.html#3425" class="Bound">y</a> <a id="3427" class="Symbol">→</a> <a id="3429" href="Agda.Builtin.Char.html#448" class="Primitive">c2n</a> <a id="3433" href="Haskell.Prim.Ord.html#3423" class="Bound">x</a> <a id="3435" href="Haskell.Prim.Ord.html#1072" class="Field Operator">&lt;</a> <a id="3437" href="Agda.Builtin.Char.html#448" class="Primitive">c2n</a> <a id="3441" href="Haskell.Prim.Ord.html#3425" class="Bound">y</a>
+
+  <a id="iOrdBool"></a><a id="3446" href="Haskell.Prim.Ord.html#3446" class="Function">iOrdBool</a> <a id="3455" class="Symbol">:</a> <a id="3457" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3461" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="3468" href="Haskell.Prim.Ord.html#3446" class="Function">iOrdBool</a> <a id="3477" class="Symbol">=</a> <a id="3479" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="3494" class="Symbol">λ</a> <a id="3496" class="Keyword">where</a>
+    <a id="3506" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a> <a id="3512" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>  <a id="3518" class="Symbol">→</a> <a id="3520" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a>
+    <a id="3527" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>  <a id="3533" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a> <a id="3539" class="Symbol">→</a> <a id="3541" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a>
+    <a id="3548" class="CatchallClause Symbol">_</a><a id="3549" class="CatchallClause">     </a><a id="3554" class="CatchallClause Symbol">_</a>     <a id="3560" class="Symbol">→</a> <a id="3562" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a>
+
+  <a id="iOrdUnit"></a><a id="3568" href="Haskell.Prim.Ord.html#3568" class="Function">iOrdUnit</a> <a id="3577" class="Symbol">:</a> <a id="3579" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3583" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="3587" href="Haskell.Prim.Ord.html#3568" class="Function">iOrdUnit</a> <a id="3596" class="Symbol">=</a> <a id="3598" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="3613" class="Symbol">λ</a> <a id="3615" href="Haskell.Prim.Ord.html#3615" class="Bound">_</a> <a id="3617" href="Haskell.Prim.Ord.html#3617" class="Bound">_</a> <a id="3619" class="Symbol">→</a> <a id="3621" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a>
+
+  <a id="iOrdTuple₂"></a><a id="3627" href="Haskell.Prim.Ord.html#3627" class="Function">iOrdTuple₂</a> <a id="3638" class="Symbol">:</a> <a id="3640" class="Symbol">⦃</a> <a id="3642" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3646" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3648" class="Symbol">⦄</a> <a id="3650" class="Symbol">→</a> <a id="3652" class="Symbol">⦃</a> <a id="3654" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3658" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="3660" class="Symbol">⦄</a> <a id="3662" class="Symbol">→</a> <a id="3664" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3668" class="Symbol">(</a><a id="3669" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3671" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="3673" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="3674" class="Symbol">)</a>
+  <a id="3678" href="Haskell.Prim.Ord.html#3627" class="Function">iOrdTuple₂</a> <a id="3689" class="Symbol">=</a> <a id="3691" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="3706" class="Symbol">λ</a> <a id="3708" class="Keyword">where</a>
+    <a id="3718" class="Symbol">(</a><a id="3719" href="Haskell.Prim.Ord.html#3719" class="Bound">x₁</a> <a id="3722" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="3724" href="Haskell.Prim.Ord.html#3724" class="Bound">y₁</a><a id="3726" class="Symbol">)</a> <a id="3728" class="Symbol">(</a><a id="3729" href="Haskell.Prim.Ord.html#3729" class="Bound">x₂</a> <a id="3732" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="3734" href="Haskell.Prim.Ord.html#3734" class="Bound">y₂</a><a id="3736" class="Symbol">)</a> <a id="3738" class="Symbol">→</a> <a id="3740" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="3748" href="Haskell.Prim.Ord.html#3719" class="Bound">x₁</a> <a id="3751" href="Haskell.Prim.Ord.html#3729" class="Bound">x₂</a> <a id="3754" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="3757" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="3765" href="Haskell.Prim.Ord.html#3724" class="Bound">y₁</a> <a id="3768" href="Haskell.Prim.Ord.html#3734" class="Bound">y₂</a>
+
+  <a id="iOrdTuple₃"></a><a id="3774" href="Haskell.Prim.Ord.html#3774" class="Function">iOrdTuple₃</a> <a id="3785" class="Symbol">:</a> <a id="3787" class="Symbol">⦃</a> <a id="3789" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3793" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3795" class="Symbol">⦄</a> <a id="3797" class="Symbol">→</a> <a id="3799" class="Symbol">⦃</a> <a id="3801" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3805" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="3807" class="Symbol">⦄</a> <a id="3809" class="Symbol">→</a> <a id="3811" class="Symbol">⦃</a> <a id="3813" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3817" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="3819" class="Symbol">⦄</a> <a id="3821" class="Symbol">→</a> <a id="3823" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3827" class="Symbol">(</a><a id="3828" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3830" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="3832" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="3834" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="3836" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="3837" class="Symbol">)</a>
+  <a id="3841" href="Haskell.Prim.Ord.html#3774" class="Function">iOrdTuple₃</a> <a id="3852" class="Symbol">=</a> <a id="3854" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="3869" class="Symbol">λ</a> <a id="3871" class="Keyword">where</a>
+    <a id="3881" class="Symbol">(</a><a id="3882" href="Haskell.Prim.Ord.html#3882" class="Bound">x₁</a> <a id="3885" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="3887" href="Haskell.Prim.Ord.html#3887" class="Bound">y₁</a> <a id="3890" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="3892" href="Haskell.Prim.Ord.html#3892" class="Bound">z₁</a><a id="3894" class="Symbol">)</a> <a id="3896" class="Symbol">(</a><a id="3897" href="Haskell.Prim.Ord.html#3897" class="Bound">x₂</a> <a id="3900" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="3902" href="Haskell.Prim.Ord.html#3902" class="Bound">y₂</a> <a id="3905" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="3907" href="Haskell.Prim.Ord.html#3907" class="Bound">z₂</a><a id="3909" class="Symbol">)</a> <a id="3911" class="Symbol">→</a> <a id="3913" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="3921" href="Haskell.Prim.Ord.html#3882" class="Bound">x₁</a> <a id="3924" href="Haskell.Prim.Ord.html#3897" class="Bound">x₂</a> <a id="3927" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="3930" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="3938" href="Haskell.Prim.Ord.html#3887" class="Bound">y₁</a> <a id="3941" href="Haskell.Prim.Ord.html#3902" class="Bound">y₂</a> <a id="3944" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="3947" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="3955" href="Haskell.Prim.Ord.html#3892" class="Bound">z₁</a> <a id="3958" href="Haskell.Prim.Ord.html#3907" class="Bound">z₂</a>
+
+<a id="compareList"></a><a id="3962" href="Haskell.Prim.Ord.html#3962" class="Function">compareList</a> <a id="3974" class="Symbol">:</a> <a id="3976" class="Symbol">⦃</a> <a id="3978" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="3982" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3984" class="Symbol">⦄</a> <a id="3986" class="Symbol">→</a> <a id="3988" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3993" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3995" class="Symbol">→</a> <a id="3997" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="4002" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="4004" class="Symbol">→</a> <a id="4006" href="Haskell.Prim.Ord.html#466" class="Datatype">Ordering</a>
+<a id="4015" href="Haskell.Prim.Ord.html#3962" class="Function">compareList</a> <a id="4027" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="4036" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="4045" class="Symbol">=</a> <a id="4047" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a>
+<a id="4050" href="Haskell.Prim.Ord.html#3962" class="Function">compareList</a> <a id="4062" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="4071" class="Symbol">(_</a> <a id="4074" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="4076" class="Symbol">_)</a>  <a id="4080" class="Symbol">=</a> <a id="4082" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a>
+<a id="4085" href="Haskell.Prim.Ord.html#3962" class="Function">compareList</a> <a id="4097" class="Symbol">(_</a> <a id="4100" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="4102" class="Symbol">_)</a>  <a id="4106" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="4115" class="Symbol">=</a> <a id="4117" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a>
+<a id="4120" href="Haskell.Prim.Ord.html#3962" class="Function">compareList</a> <a id="4132" class="Symbol">(</a><a id="4133" href="Haskell.Prim.Ord.html#4133" class="Bound">x</a> <a id="4135" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="4137" href="Haskell.Prim.Ord.html#4137" class="Bound">xs</a><a id="4139" class="Symbol">)</a> <a id="4141" class="Symbol">(</a><a id="4142" href="Haskell.Prim.Ord.html#4142" class="Bound">y</a> <a id="4144" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="4146" href="Haskell.Prim.Ord.html#4146" class="Bound">ys</a><a id="4148" class="Symbol">)</a> <a id="4150" class="Symbol">=</a> <a id="4152" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="4160" href="Haskell.Prim.Ord.html#4133" class="Bound">x</a> <a id="4162" href="Haskell.Prim.Ord.html#4142" class="Bound">y</a> <a id="4164" href="Haskell.Prim.Monoid.html#344" class="Field Operator">&lt;&gt;</a> <a id="4167" href="Haskell.Prim.Ord.html#3962" class="Function">compareList</a> <a id="4179" href="Haskell.Prim.Ord.html#4137" class="Bound">xs</a> <a id="4182" href="Haskell.Prim.Ord.html#4146" class="Bound">ys</a>
+
+<a id="4186" class="Keyword">instance</a>
+  <a id="iOrdList"></a><a id="4197" href="Haskell.Prim.Ord.html#4197" class="Function">iOrdList</a> <a id="4206" class="Symbol">:</a> <a id="4208" class="Symbol">⦃</a> <a id="4210" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="4214" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="4216" class="Symbol">⦄</a> <a id="4218" class="Symbol">→</a> <a id="4220" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="4224" class="Symbol">(</a><a id="4225" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="4230" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="4231" class="Symbol">)</a>
+  <a id="4235" href="Haskell.Prim.Ord.html#4197" class="Function">iOrdList</a> <a id="4244" class="Symbol">=</a> <a id="4246" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="4261" href="Haskell.Prim.Ord.html#3962" class="Function">compareList</a>
+
+  <a id="iOrdMaybe"></a><a id="4276" href="Haskell.Prim.Ord.html#4276" class="Function">iOrdMaybe</a> <a id="4286" class="Symbol">:</a> <a id="4288" class="Symbol">⦃</a> <a id="4290" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="4294" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="4296" class="Symbol">⦄</a> <a id="4298" class="Symbol">→</a> <a id="4300" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="4304" class="Symbol">(</a><a id="4305" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="4311" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="4312" class="Symbol">)</a>
+  <a id="4316" href="Haskell.Prim.Ord.html#4276" class="Function">iOrdMaybe</a> <a id="4326" class="Symbol">=</a> <a id="4328" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="4343" class="Symbol">λ</a> <a id="4345" class="Keyword">where</a>
+    <a id="4355" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="4364" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="4373" class="Symbol">→</a> <a id="4375" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a>
+    <a id="4382" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="4391" class="Symbol">(</a><a id="4392" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="4397" class="Symbol">_)</a> <a id="4400" class="Symbol">→</a> <a id="4402" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a>
+    <a id="4409" class="Symbol">(</a><a id="4410" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="4415" class="Symbol">_)</a> <a id="4418" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="4427" class="Symbol">→</a> <a id="4429" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a>
+    <a id="4436" class="Symbol">(</a><a id="4437" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="4442" href="Haskell.Prim.Ord.html#4442" class="Bound">x</a><a id="4443" class="Symbol">)</a> <a id="4445" class="Symbol">(</a><a id="4446" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="4451" href="Haskell.Prim.Ord.html#4451" class="Bound">y</a><a id="4452" class="Symbol">)</a> <a id="4454" class="Symbol">→</a> <a id="4456" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="4464" href="Haskell.Prim.Ord.html#4442" class="Bound">x</a> <a id="4466" href="Haskell.Prim.Ord.html#4451" class="Bound">y</a>
+
+  <a id="iOrdEither"></a><a id="4471" href="Haskell.Prim.Ord.html#4471" class="Function">iOrdEither</a> <a id="4482" class="Symbol">:</a> <a id="4484" class="Symbol">⦃</a> <a id="4486" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="4490" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="4492" class="Symbol">⦄</a> <a id="4494" class="Symbol">→</a> <a id="4496" class="Symbol">⦃</a> <a id="4498" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="4502" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="4504" class="Symbol">⦄</a> <a id="4506" class="Symbol">→</a> <a id="4508" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="4512" class="Symbol">(</a><a id="4513" href="Haskell.Prim.Either.html#159" class="Datatype">Either</a> <a id="4520" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="4522" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="4523" class="Symbol">)</a>
+  <a id="4527" href="Haskell.Prim.Ord.html#4471" class="Function">iOrdEither</a> <a id="4538" class="Symbol">=</a> <a id="4540" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="4555" class="Symbol">λ</a> <a id="4557" class="Keyword">where</a>
+    <a id="4567" class="Symbol">(</a><a id="4568" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a>  <a id="4574" href="Haskell.Prim.Ord.html#4574" class="Bound">x</a><a id="4575" class="Symbol">)</a> <a id="4577" class="Symbol">(</a><a id="4578" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a>  <a id="4584" href="Haskell.Prim.Ord.html#4584" class="Bound">y</a><a id="4585" class="Symbol">)</a> <a id="4587" class="Symbol">→</a> <a id="4589" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="4597" href="Haskell.Prim.Ord.html#4574" class="Bound">x</a> <a id="4599" href="Haskell.Prim.Ord.html#4584" class="Bound">y</a>
+    <a id="4605" class="Symbol">(</a><a id="4606" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a>  <a id="4612" class="Symbol">_)</a> <a id="4615" class="Symbol">(</a><a id="4616" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="4622" class="Symbol">_)</a> <a id="4625" class="Symbol">→</a> <a id="4627" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a>
+    <a id="4634" class="Symbol">(</a><a id="4635" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="4641" class="Symbol">_)</a> <a id="4644" class="Symbol">(</a><a id="4645" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a>  <a id="4651" class="Symbol">_)</a> <a id="4654" class="Symbol">→</a> <a id="4656" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a>
+    <a id="4663" class="Symbol">(</a><a id="4664" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="4670" href="Haskell.Prim.Ord.html#4670" class="Bound">x</a><a id="4671" class="Symbol">)</a> <a id="4673" class="Symbol">(</a><a id="4674" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="4680" href="Haskell.Prim.Ord.html#4680" class="Bound">y</a><a id="4681" class="Symbol">)</a> <a id="4683" class="Symbol">→</a> <a id="4685" href="Haskell.Prim.Ord.html#1041" class="Field">compare</a> <a id="4693" href="Haskell.Prim.Ord.html#4670" class="Bound">x</a> <a id="4695" href="Haskell.Prim.Ord.html#4680" class="Bound">y</a>
+
+  <a id="iOrdOrdering"></a><a id="4700" href="Haskell.Prim.Ord.html#4700" class="Function">iOrdOrdering</a> <a id="4713" class="Symbol">:</a> <a id="4715" href="Haskell.Prim.Ord.html#1003" class="Record">Ord</a> <a id="4719" href="Haskell.Prim.Ord.html#466" class="Datatype">Ordering</a>
+  <a id="4730" href="Haskell.Prim.Ord.html#4700" class="Function">iOrdOrdering</a> <a id="4743" class="Symbol">=</a> <a id="4745" href="Haskell.Prim.Ord.html#1332" class="Function">ordFromCompare</a> <a id="4760" class="Symbol">λ</a> <a id="4762" class="Keyword">where</a>
+    <a id="4772" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a> <a id="4775" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a> <a id="4778" class="Symbol">→</a> <a id="4780" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a>
+    <a id="4787" href="Haskell.Prim.Ord.html#489" class="CatchallClause InductiveConstructor">LT</a><a id="4789" class="CatchallClause"> </a><a id="4790" class="CatchallClause Symbol">_</a>  <a id="4793" class="Symbol">→</a> <a id="4795" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a>
+    <a id="4802" class="CatchallClause Symbol">_</a><a id="4803" class="CatchallClause">  </a><a id="4805" href="Haskell.Prim.Ord.html#489" class="CatchallClause InductiveConstructor">LT</a> <a id="4808" class="Symbol">→</a> <a id="4810" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a>
+    <a id="4817" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a> <a id="4820" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a> <a id="4823" class="Symbol">→</a> <a id="4825" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a>
+    <a id="4832" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a> <a id="4835" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a> <a id="4838" class="Symbol">→</a> <a id="4840" href="Haskell.Prim.Ord.html#489" class="InductiveConstructor">LT</a>
+    <a id="4847" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a> <a id="4850" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a> <a id="4853" class="Symbol">→</a> <a id="4855" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a>
+    <a id="4862" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a> <a id="4865" href="Haskell.Prim.Ord.html#495" class="InductiveConstructor">GT</a> <a id="4868" class="Symbol">→</a> <a id="4870" href="Haskell.Prim.Ord.html#492" class="InductiveConstructor">EQ</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Show.html b/lib/Haskell.Prim.Show.html
new file mode 100644
index 00000000..42b035b1
--- /dev/null
+++ b/lib/Haskell.Prim.Show.html
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Show</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Show.html" class="Module">Haskell.Prim.Show</a> <a id="27" class="Keyword">where</a>
+
+<a id="34" class="Keyword">open</a> <a id="39" class="Keyword">import</a> <a id="46" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="59" class="Keyword">open</a> <a id="64" class="Keyword">import</a> <a id="71" href="Haskell.Prim.String.html" class="Module">Haskell.Prim.String</a>
+<a id="91" class="Keyword">open</a> <a id="96" class="Keyword">import</a> <a id="103" href="Haskell.Prim.List.html" class="Module">Haskell.Prim.List</a>
+<a id="121" class="Keyword">open</a> <a id="126" class="Keyword">import</a> <a id="133" href="Haskell.Prim.Word.html" class="Module">Haskell.Prim.Word</a>
+<a id="151" class="Keyword">open</a> <a id="156" class="Keyword">import</a> <a id="163" href="Haskell.Prim.Double.html" class="Module">Haskell.Prim.Double</a>
+<a id="183" class="Keyword">open</a> <a id="188" class="Keyword">import</a> <a id="195" href="Haskell.Prim.Maybe.html" class="Module">Haskell.Prim.Maybe</a>
+<a id="214" class="Keyword">open</a> <a id="219" class="Keyword">import</a> <a id="226" href="Haskell.Prim.Eq.html" class="Module">Haskell.Prim.Eq</a>
+<a id="242" class="Keyword">open</a> <a id="247" class="Keyword">import</a> <a id="254" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a>
+<a id="273" class="Keyword">open</a> <a id="278" class="Keyword">import</a> <a id="285" href="Haskell.Prim.Ord.html" class="Module">Haskell.Prim.Ord</a>
+<a id="302" class="Keyword">open</a> <a id="307" class="Keyword">import</a> <a id="314" href="Haskell.Prim.Either.html" class="Module">Haskell.Prim.Either</a>
+<a id="334" class="Keyword">open</a> <a id="339" class="Keyword">import</a> <a id="346" href="Haskell.Prim.Integer.html" class="Module">Haskell.Prim.Integer</a>
+<a id="367" class="Keyword">open</a> <a id="372" class="Keyword">import</a> <a id="379" href="Haskell.Prim.Bool.html" class="Module">Haskell.Prim.Bool</a>
+<a id="397" class="Keyword">open</a> <a id="402" class="Keyword">import</a> <a id="409" href="Haskell.Prim.Int.html" class="Module">Haskell.Prim.Int</a>
+<a id="426" class="Keyword">open</a> <a id="431" class="Keyword">import</a> <a id="438" href="Haskell.Prim.Foldable.html" class="Module">Haskell.Prim.Foldable</a>
+
+
+<a id="462" class="Comment">--------------------------------------------------</a>
+<a id="513" class="Comment">-- Show</a>
+
+<a id="ShowS"></a><a id="522" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a> <a id="528" class="Symbol">:</a> <a id="530" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="534" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a> <a id="540" class="Symbol">=</a> <a id="542" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="549" class="Symbol">→</a> <a id="551" href="Haskell.Prim.String.html#344" class="Function">String</a>
+
+<a id="showChar"></a><a id="559" href="Haskell.Prim.Show.html#559" class="Function">showChar</a> <a id="568" class="Symbol">:</a> <a id="570" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="575" class="Symbol">→</a> <a id="577" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a>
+<a id="583" href="Haskell.Prim.Show.html#559" class="Function">showChar</a> <a id="592" class="Symbol">=</a> <a id="594" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">_∷_</a>
+
+<a id="showString"></a><a id="599" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="610" class="Symbol">:</a> <a id="612" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="619" class="Symbol">→</a> <a id="621" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a>
+<a id="627" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="638" class="Symbol">=</a> <a id="640" href="Haskell.Prim.List.html#310" class="Function Operator">_++_</a>
+
+<a id="showParen"></a><a id="646" href="Haskell.Prim.Show.html#646" class="Function">showParen</a> <a id="656" class="Symbol">:</a> <a id="658" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="663" class="Symbol">→</a> <a id="665" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a> <a id="671" class="Symbol">→</a> <a id="673" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a>
+<a id="679" href="Haskell.Prim.Show.html#646" class="Function">showParen</a> <a id="689" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a> <a id="695" href="Haskell.Prim.Show.html#695" class="Bound">s</a> <a id="697" class="Symbol">=</a> <a id="699" href="Haskell.Prim.Show.html#695" class="Bound">s</a>
+<a id="701" href="Haskell.Prim.Show.html#646" class="Function">showParen</a> <a id="711" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a>  <a id="717" href="Haskell.Prim.Show.html#717" class="Bound">s</a> <a id="719" class="Symbol">=</a> <a id="721" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="732" class="String">&quot;(&quot;</a> <a id="736" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="738" href="Haskell.Prim.Show.html#717" class="Bound">s</a> <a id="740" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="742" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="753" class="String">&quot;)&quot;</a>
+
+<a id="defaultShowList"></a><a id="758" href="Haskell.Prim.Show.html#758" class="Function">defaultShowList</a> <a id="774" class="Symbol">:</a> <a id="776" class="Symbol">(</a><a id="777" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="779" class="Symbol">→</a> <a id="781" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a><a id="786" class="Symbol">)</a> <a id="788" class="Symbol">→</a> <a id="790" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="795" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="797" class="Symbol">→</a> <a id="799" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a>
+<a id="805" href="Haskell.Prim.Show.html#758" class="Function">defaultShowList</a> <a id="821" href="Haskell.Prim.Show.html#821" class="Bound">shows</a> <a id="827" class="Symbol">=</a> <a id="829" class="Symbol">λ</a> <a id="831" class="Keyword">where</a>
+  <a id="839" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="848" class="Symbol">→</a> <a id="850" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="861" class="String">&quot;[]&quot;</a>
+  <a id="868" class="Symbol">(</a><a id="869" href="Haskell.Prim.Show.html#869" class="Bound">x</a> <a id="871" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="873" href="Haskell.Prim.Show.html#873" class="Bound">xs</a><a id="875" class="Symbol">)</a> <a id="877" class="Symbol">→</a> <a id="879" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="890" class="String">&quot;[&quot;</a>
+           <a id="905" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="907" href="Haskell.Prim.Foldable.html#566" class="Field">foldl</a> <a id="913" class="Symbol">(λ</a> <a id="916" href="Haskell.Prim.Show.html#916" class="Bound">s</a> <a id="918" href="Haskell.Prim.Show.html#918" class="Bound">x</a> <a id="920" class="Symbol">→</a> <a id="922" href="Haskell.Prim.Show.html#916" class="Bound">s</a> <a id="924" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="926" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="937" class="String">&quot;,&quot;</a> <a id="941" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="943" href="Haskell.Prim.Show.html#821" class="Bound">shows</a> <a id="949" href="Haskell.Prim.Show.html#918" class="Bound">x</a><a id="950" class="Symbol">)</a> <a id="952" class="Symbol">(</a><a id="953" href="Haskell.Prim.Show.html#821" class="Bound">shows</a> <a id="959" href="Haskell.Prim.Show.html#869" class="Bound">x</a><a id="960" class="Symbol">)</a> <a id="962" href="Haskell.Prim.Show.html#873" class="Bound">xs</a>
+           <a id="976" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="978" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="989" class="String">&quot;]&quot;</a>
+
+<a id="994" class="Comment">-- ** base</a>
+<a id="1005" class="Keyword">record</a> <a id="Show"></a><a id="1012" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="1017" class="Symbol">(</a><a id="1018" href="Haskell.Prim.Show.html#1018" class="Bound">a</a> <a id="1020" class="Symbol">:</a> <a id="1022" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="1025" class="Symbol">)</a> <a id="1027" class="Symbol">:</a> <a id="1029" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1033" class="Keyword">where</a>
+  <a id="1041" class="Keyword">field</a>
+    <a id="Show.showsPrec"></a><a id="1051" href="Haskell.Prim.Show.html#1051" class="Field">showsPrec</a> <a id="1061" class="Symbol">:</a> <a id="1063" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1067" class="Symbol">→</a> <a id="1069" href="Haskell.Prim.Show.html#1018" class="Bound">a</a> <a id="1071" class="Symbol">→</a> <a id="1073" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a>
+    <a id="Show.showList"></a><a id="1083" href="Haskell.Prim.Show.html#1083" class="Field">showList</a>  <a id="1093" class="Symbol">:</a> <a id="1095" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1100" href="Haskell.Prim.Show.html#1018" class="Bound">a</a> <a id="1102" class="Symbol">→</a> <a id="1104" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a>
+    <a id="Show.show"></a><a id="1114" href="Haskell.Prim.Show.html#1114" class="Field">show</a>      <a id="1124" class="Symbol">:</a> <a id="1126" href="Haskell.Prim.Show.html#1018" class="Bound">a</a> <a id="1128" class="Symbol">→</a> <a id="1130" href="Haskell.Prim.String.html#344" class="Function">String</a>
+<a id="1137" class="Comment">-- ** export</a>
+<a id="1150" class="Keyword">record</a> <a id="Show₁"></a><a id="1157" href="Haskell.Prim.Show.html#1157" class="Record">Show₁</a> <a id="1163" class="Symbol">(</a><a id="1164" href="Haskell.Prim.Show.html#1164" class="Bound">a</a> <a id="1166" class="Symbol">:</a> <a id="1168" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="1171" class="Symbol">)</a> <a id="1173" class="Symbol">:</a> <a id="1175" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1179" class="Keyword">where</a>
+  <a id="1187" class="Keyword">field</a> <a id="Show₁.showsPrec"></a><a id="1193" href="Haskell.Prim.Show.html#1193" class="Field">showsPrec</a> <a id="1203" class="Symbol">:</a> <a id="1205" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1209" class="Symbol">→</a> <a id="1211" href="Haskell.Prim.Show.html#1164" class="Bound">a</a> <a id="1213" class="Symbol">→</a> <a id="1215" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a>
+
+  <a id="Show₁.show"></a><a id="1224" href="Haskell.Prim.Show.html#1224" class="Function">show</a> <a id="1229" class="Symbol">:</a> <a id="1231" href="Haskell.Prim.Show.html#1164" class="Bound">a</a> <a id="1233" class="Symbol">→</a> <a id="1235" href="Haskell.Prim.String.html#344" class="Function">String</a>
+  <a id="1244" href="Haskell.Prim.Show.html#1224" class="Function">show</a> <a id="1249" href="Haskell.Prim.Show.html#1249" class="Bound">x</a> <a id="1251" class="Symbol">=</a> <a id="1253" href="Haskell.Prim.Show.html#1193" class="Field">showsPrec</a> <a id="1263" class="Number">0</a> <a id="1265" href="Haskell.Prim.Show.html#1249" class="Bound">x</a> <a id="1267" class="String">&quot;&quot;</a>
+
+  <a id="Show₁.showList"></a><a id="1273" href="Haskell.Prim.Show.html#1273" class="Function">showList</a> <a id="1282" class="Symbol">:</a> <a id="1284" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1289" href="Haskell.Prim.Show.html#1164" class="Bound">a</a> <a id="1291" class="Symbol">→</a> <a id="1293" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a>
+  <a id="1301" href="Haskell.Prim.Show.html#1273" class="Function">showList</a> <a id="1310" class="Symbol">=</a> <a id="1312" href="Haskell.Prim.Show.html#758" class="Function">defaultShowList</a> <a id="1328" class="Symbol">(</a><a id="1329" href="Haskell.Prim.Show.html#1193" class="Field">showsPrec</a> <a id="1339" class="Number">0</a><a id="1340" class="Symbol">)</a>
+<a id="1342" class="Keyword">record</a> <a id="Show₂"></a><a id="1349" href="Haskell.Prim.Show.html#1349" class="Record">Show₂</a> <a id="1355" class="Symbol">(</a><a id="1356" href="Haskell.Prim.Show.html#1356" class="Bound">a</a> <a id="1358" class="Symbol">:</a> <a id="1360" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="1363" class="Symbol">)</a> <a id="1365" class="Symbol">:</a> <a id="1367" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1371" class="Keyword">where</a>
+  <a id="1379" class="Keyword">field</a> <a id="Show₂.show"></a><a id="1385" href="Haskell.Prim.Show.html#1385" class="Field">show</a> <a id="1390" class="Symbol">:</a> <a id="1392" href="Haskell.Prim.Show.html#1356" class="Bound">a</a> <a id="1394" class="Symbol">→</a> <a id="1396" href="Haskell.Prim.String.html#344" class="Function">String</a>
+
+  <a id="Show₂.showsPrec"></a><a id="1406" href="Haskell.Prim.Show.html#1406" class="Function">showsPrec</a> <a id="1416" class="Symbol">:</a> <a id="1418" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1422" class="Symbol">→</a> <a id="1424" href="Haskell.Prim.Show.html#1356" class="Bound">a</a> <a id="1426" class="Symbol">→</a> <a id="1428" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a>
+  <a id="1436" href="Haskell.Prim.Show.html#1406" class="Function">showsPrec</a> <a id="1446" class="Symbol">_</a> <a id="1448" href="Haskell.Prim.Show.html#1448" class="Bound">x</a> <a id="1450" href="Haskell.Prim.Show.html#1450" class="Bound">s</a> <a id="1452" class="Symbol">=</a> <a id="1454" href="Haskell.Prim.Show.html#1385" class="Field">show</a> <a id="1459" href="Haskell.Prim.Show.html#1448" class="Bound">x</a> <a id="1461" href="Haskell.Prim.List.html#310" class="Function Operator">++</a> <a id="1464" href="Haskell.Prim.Show.html#1450" class="Bound">s</a>
+
+  <a id="Show₂.showList"></a><a id="1469" href="Haskell.Prim.Show.html#1469" class="Function">showList</a> <a id="1478" class="Symbol">:</a> <a id="1480" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1485" href="Haskell.Prim.Show.html#1356" class="Bound">a</a> <a id="1487" class="Symbol">→</a> <a id="1489" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a>
+  <a id="1497" href="Haskell.Prim.Show.html#1469" class="Function">showList</a> <a id="1506" class="Symbol">=</a> <a id="1508" href="Haskell.Prim.Show.html#758" class="Function">defaultShowList</a> <a id="1524" class="Symbol">(</a><a id="1525" href="Haskell.Prim.Show.html#1406" class="Function">showsPrec</a> <a id="1535" class="Number">0</a><a id="1536" class="Symbol">)</a>
+<a id="1538" class="Comment">-- ** export</a>
+<a id="1551" class="Keyword">open</a> <a id="1556" href="Haskell.Prim.Show.html#1012" class="Module">Show</a> <a id="1561" class="Symbol">⦃...⦄</a> <a id="1567" class="Keyword">public</a>
+
+<a id="shows"></a><a id="1575" href="Haskell.Prim.Show.html#1575" class="Function">shows</a> <a id="1581" class="Symbol">:</a> <a id="1583" class="Symbol">⦃</a> <a id="1585" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="1590" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1592" class="Symbol">⦄</a> <a id="1594" class="Symbol">→</a> <a id="1596" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1598" class="Symbol">→</a> <a id="1600" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a>
+<a id="1606" href="Haskell.Prim.Show.html#1575" class="Function">shows</a> <a id="1612" class="Symbol">=</a> <a id="1614" href="Haskell.Prim.Show.html#1051" class="Field">showsPrec</a> <a id="1624" class="Number">0</a>
+
+<a id="1627" class="Symbol">{-#</a> <a id="1631" class="Keyword">COMPILE</a> <a id="1639" class="Keyword">AGDA2HS</a> <a id="1647" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="1652" class="Pragma">existing-class</a> <a id="1667" class="Symbol">#-}</a>
+<a id="1671" class="Comment">-- ** instances</a>
+<a id="1687" class="Keyword">private</a>
+  <a id="1697" class="Keyword">infix</a> <a id="1703" class="Number">0</a> <a id="1705" href="Haskell.Prim.Show.html#1727" class="Function Operator">showsPrec=_</a> <a id="1717" href="Haskell.Prim.Show.html#1829" class="Function Operator">show=_</a>
+
+  <a id="showsPrec=_"></a><a id="1727" href="Haskell.Prim.Show.html#1727" class="Function Operator">showsPrec=_</a> <a id="1739" class="Symbol">:</a> <a id="1741" class="Symbol">(</a><a id="1742" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="1746" class="Symbol">→</a> <a id="1748" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1750" class="Symbol">→</a> <a id="1752" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a><a id="1757" class="Symbol">)</a> <a id="1759" class="Symbol">→</a> <a id="1761" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="1766" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+  <a id="1770" href="Haskell.Prim.Show.html#1727" class="Function Operator">showsPrec=_</a> <a id="1782" href="Haskell.Prim.Show.html#1782" class="Bound">x</a> <a id="1784" class="Symbol">=</a> <a id="1786" class="Keyword">record</a> <a id="1793" class="Symbol">{</a><a id="1794" href="Haskell.Prim.Show.html#1794" class="Module">Show₁</a> <a id="1800" class="Symbol">(</a><a id="1801" class="Keyword">record</a> <a id="1808" class="Symbol">{</a><a id="1809" href="Haskell.Prim.Show.html#1193" class="Field">showsPrec</a> <a id="1819" class="Symbol">=</a> <a id="1821" href="Haskell.Prim.Show.html#1782" class="Bound">x</a><a id="1822" class="Symbol">})}</a>
+
+  <a id="show=_"></a><a id="1829" href="Haskell.Prim.Show.html#1829" class="Function Operator">show=_</a> <a id="1836" class="Symbol">:</a> <a id="1838" class="Symbol">(</a><a id="1839" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1841" class="Symbol">→</a> <a id="1843" href="Haskell.Prim.String.html#344" class="Function">String</a><a id="1849" class="Symbol">)</a> <a id="1851" class="Symbol">→</a> <a id="1853" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="1858" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+  <a id="1862" href="Haskell.Prim.Show.html#1829" class="Function Operator">show=</a> <a id="1868" href="Haskell.Prim.Show.html#1868" class="Bound">x</a> <a id="1870" class="Symbol">=</a> <a id="1872" class="Keyword">record</a> <a id="1879" class="Symbol">{</a><a id="1880" href="Haskell.Prim.Show.html#1880" class="Module">Show₂</a> <a id="1886" class="Symbol">(</a><a id="1887" class="Keyword">record</a> <a id="1894" class="Symbol">{</a><a id="1895" href="Haskell.Prim.Show.html#1385" class="Field">show</a> <a id="1900" class="Symbol">=</a> <a id="1902" href="Haskell.Prim.Show.html#1868" class="Bound">x</a><a id="1903" class="Symbol">})}</a>
+<a id="1907" class="Keyword">instance</a>
+  <a id="iShowNat"></a><a id="1918" href="Haskell.Prim.Show.html#1918" class="Function">iShowNat</a> <a id="1927" class="Symbol">:</a> <a id="1929" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="1934" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="1940" href="Haskell.Prim.Show.html#1918" class="Function">iShowNat</a> <a id="1949" class="Symbol">=</a> <a id="1951" href="Haskell.Prim.Show.html#1829" class="Function Operator">show=</a> <a id="1957" class="Symbol">(</a><a id="1958" href="Agda.Builtin.String.html#453" class="Primitive">primStringToList</a> <a id="1975" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="1977" href="Agda.Builtin.String.html#707" class="Primitive">primShowNat</a><a id="1988" class="Symbol">)</a>
+
+  <a id="iShowInteger"></a><a id="1993" href="Haskell.Prim.Show.html#1993" class="Function">iShowInteger</a> <a id="2006" class="Symbol">:</a> <a id="2008" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="2013" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+  <a id="2023" href="Haskell.Prim.Show.html#1993" class="Function">iShowInteger</a> <a id="2036" class="Symbol">=</a> <a id="2038" href="Haskell.Prim.Show.html#1829" class="Function Operator">show=</a> <a id="2044" href="Haskell.Prim.Integer.html#2190" class="Function">showInteger</a>
+
+  <a id="iShowInt"></a><a id="2059" href="Haskell.Prim.Show.html#2059" class="Function">iShowInt</a> <a id="2068" class="Symbol">:</a> <a id="2070" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="2075" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a>
+  <a id="2081" href="Haskell.Prim.Show.html#2059" class="Function">iShowInt</a> <a id="2090" class="Symbol">=</a> <a id="2092" href="Haskell.Prim.Show.html#1829" class="Function Operator">show=</a> <a id="2098" href="Haskell.Prim.Int.html#2333" class="Function">showInt</a>
+
+  <a id="iShowWord"></a><a id="2109" href="Haskell.Prim.Show.html#2109" class="Function">iShowWord</a> <a id="2119" class="Symbol">:</a> <a id="2121" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="2126" href="Agda.Builtin.Word.html#208" class="Postulate">Word</a>
+  <a id="2133" href="Haskell.Prim.Show.html#2109" class="Function">iShowWord</a> <a id="2143" class="Symbol">=</a> <a id="2145" href="Haskell.Prim.Show.html#1829" class="Function Operator">show=</a> <a id="2151" href="Haskell.Prim.Word.html#910" class="Function">showWord</a>
+
+  <a id="iShowDouble"></a><a id="2163" href="Haskell.Prim.Show.html#2163" class="Function">iShowDouble</a> <a id="2175" class="Symbol">:</a> <a id="2177" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="2182" href="Agda.Builtin.Float.html#353" class="Postulate">Double</a>
+  <a id="2191" href="Haskell.Prim.Show.html#2163" class="Function">iShowDouble</a> <a id="2203" class="Symbol">=</a> <a id="2205" href="Haskell.Prim.Show.html#1829" class="Function Operator">show=</a> <a id="2211" class="Symbol">(</a><a id="2212" href="Agda.Builtin.String.html#453" class="Primitive">primStringToList</a> <a id="2229" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="2231" href="Agda.Builtin.Float.html#1279" class="Primitive">primShowFloat</a><a id="2244" class="Symbol">)</a>
+
+  <a id="iShowBool"></a><a id="2249" href="Haskell.Prim.Show.html#2249" class="Function">iShowBool</a> <a id="2259" class="Symbol">:</a> <a id="2261" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="2266" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+  <a id="2273" href="Haskell.Prim.Show.html#2249" class="Function">iShowBool</a> <a id="2283" class="Symbol">=</a> <a id="2285" href="Haskell.Prim.Show.html#1829" class="Function Operator">show=</a> <a id="2291" class="Symbol">λ</a> <a id="2293" class="Keyword">where</a> <a id="2299" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a> <a id="2305" class="Symbol">→</a> <a id="2307" class="String">&quot;False&quot;</a><a id="2314" class="Symbol">;</a> <a id="2316" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a> <a id="2321" class="Symbol">→</a> <a id="2323" class="String">&quot;True&quot;</a>
+
+  <a id="iShowChar"></a><a id="2333" href="Haskell.Prim.Show.html#2333" class="Function">iShowChar</a> <a id="2343" class="Symbol">:</a> <a id="2345" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="2350" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a>
+  <a id="2357" href="Haskell.Prim.Show.html#2333" class="Function">iShowChar</a> <a id="2367" class="Symbol">=</a> <a id="2369" href="Haskell.Prim.Show.html#1727" class="Function Operator">showsPrec=</a> <a id="2380" class="Symbol">λ</a> <a id="2382" href="Haskell.Prim.Show.html#2382" class="Bound">_</a> <a id="2384" class="Symbol">→</a> <a id="2386" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="2397" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="2399" href="Agda.Builtin.String.html#453" class="Primitive">primStringToList</a> <a id="2416" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="2418" href="Agda.Builtin.String.html#631" class="Primitive">primShowChar</a>
+
+  <a id="iShowList"></a><a id="2434" href="Haskell.Prim.Show.html#2434" class="Function">iShowList</a> <a id="2444" class="Symbol">:</a> <a id="2446" class="Symbol">⦃</a> <a id="2448" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="2453" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2455" class="Symbol">⦄</a> <a id="2457" class="Symbol">→</a> <a id="2459" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="2464" class="Symbol">(</a><a id="2465" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2470" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="2471" class="Symbol">)</a>
+  <a id="2475" href="Haskell.Prim.Show.html#2434" class="Function">iShowList</a> <a id="2485" class="Symbol">=</a> <a id="2487" href="Haskell.Prim.Show.html#1727" class="Function Operator">showsPrec=</a> <a id="2498" class="Symbol">λ</a> <a id="2500" href="Haskell.Prim.Show.html#2500" class="Bound">_</a> <a id="2502" class="Symbol">→</a> <a id="2504" href="Haskell.Prim.Show.html#1083" class="Field">showList</a>
+<a id="2513" class="Keyword">private</a>
+  <a id="showApp₁"></a><a id="2523" href="Haskell.Prim.Show.html#2523" class="Function">showApp₁</a> <a id="2532" class="Symbol">:</a> <a id="2534" class="Symbol">⦃</a> <a id="2536" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="2541" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2543" class="Symbol">⦄</a> <a id="2545" class="Symbol">→</a> <a id="2547" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a> <a id="2551" class="Symbol">→</a> <a id="2553" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="2560" class="Symbol">→</a> <a id="2562" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2564" class="Symbol">→</a> <a id="2566" href="Haskell.Prim.Show.html#522" class="Function">ShowS</a>
+  <a id="2574" href="Haskell.Prim.Show.html#2523" class="Function">showApp₁</a> <a id="2583" href="Haskell.Prim.Show.html#2583" class="Bound">p</a> <a id="2585" href="Haskell.Prim.Show.html#2585" class="Bound">tag</a> <a id="2589" href="Haskell.Prim.Show.html#2589" class="Bound">x</a> <a id="2591" class="Symbol">=</a> <a id="2593" href="Haskell.Prim.Show.html#646" class="Function">showParen</a> <a id="2603" class="Symbol">(</a><a id="2604" href="Haskell.Prim.Show.html#2583" class="Bound">p</a> <a id="2606" href="Haskell.Prim.Ord.html#1096" class="Field Operator">&gt;</a> <a id="2608" class="Number">10</a><a id="2610" class="Symbol">)</a> <a id="2612" href="Haskell.Prim.html#1480" class="Function Operator">$</a>
+    <a id="2618" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="2629" href="Haskell.Prim.Show.html#2585" class="Bound">tag</a> <a id="2633" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="2635" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="2646" class="String">&quot; &quot;</a> <a id="2650" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="2652" href="Haskell.Prim.Show.html#1051" class="Field">showsPrec</a> <a id="2662" class="Number">11</a> <a id="2665" href="Haskell.Prim.Show.html#2589" class="Bound">x</a>
+<a id="2667" class="Keyword">instance</a>
+  <a id="iShowMaybe"></a><a id="2678" href="Haskell.Prim.Show.html#2678" class="Function">iShowMaybe</a> <a id="2689" class="Symbol">:</a> <a id="2691" class="Symbol">⦃</a> <a id="2693" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="2698" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2700" class="Symbol">⦄</a> <a id="2702" class="Symbol">→</a> <a id="2704" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="2709" class="Symbol">(</a><a id="2710" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="2716" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="2717" class="Symbol">)</a>
+  <a id="2721" href="Haskell.Prim.Show.html#2678" class="Function">iShowMaybe</a> <a id="2732" class="Symbol">=</a> <a id="2734" href="Haskell.Prim.Show.html#1727" class="Function Operator">showsPrec=</a> <a id="2745" class="Symbol">λ</a> <a id="2747" class="Keyword">where</a>
+    <a id="2757" href="Haskell.Prim.Show.html#2757" class="Bound">p</a> <a id="2759" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="2768" class="Symbol">→</a> <a id="2770" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="2781" class="String">&quot;Nothing&quot;</a>
+    <a id="2795" href="Haskell.Prim.Show.html#2795" class="Bound">p</a> <a id="2797" class="Symbol">(</a><a id="2798" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="2803" href="Haskell.Prim.Show.html#2803" class="Bound">x</a><a id="2804" class="Symbol">)</a> <a id="2806" class="Symbol">→</a> <a id="2808" href="Haskell.Prim.Show.html#2523" class="Function">showApp₁</a> <a id="2817" href="Haskell.Prim.Show.html#2795" class="Bound">p</a> <a id="2819" class="String">&quot;Just&quot;</a> <a id="2826" href="Haskell.Prim.Show.html#2803" class="Bound">x</a>
+
+  <a id="iShowEither"></a><a id="2831" href="Haskell.Prim.Show.html#2831" class="Function">iShowEither</a> <a id="2843" class="Symbol">:</a> <a id="2845" class="Symbol">⦃</a> <a id="2847" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="2852" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2854" class="Symbol">⦄</a> <a id="2856" class="Symbol">→</a> <a id="2858" class="Symbol">⦃</a> <a id="2860" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="2865" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="2867" class="Symbol">⦄</a> <a id="2869" class="Symbol">→</a> <a id="2871" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="2876" class="Symbol">(</a><a id="2877" href="Haskell.Prim.Either.html#159" class="Datatype">Either</a> <a id="2884" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2886" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="2887" class="Symbol">)</a>
+  <a id="2891" href="Haskell.Prim.Show.html#2831" class="Function">iShowEither</a> <a id="2903" class="Symbol">=</a> <a id="2905" href="Haskell.Prim.Show.html#1727" class="Function Operator">showsPrec=</a> <a id="2916" class="Symbol">λ</a> <a id="2918" class="Keyword">where</a>
+    <a id="2928" href="Haskell.Prim.Show.html#2928" class="Bound">p</a> <a id="2930" class="Symbol">(</a><a id="2931" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a>  <a id="2937" href="Haskell.Prim.Show.html#2937" class="Bound">x</a><a id="2938" class="Symbol">)</a> <a id="2940" class="Symbol">→</a> <a id="2942" href="Haskell.Prim.Show.html#2523" class="Function">showApp₁</a> <a id="2951" href="Haskell.Prim.Show.html#2928" class="Bound">p</a> <a id="2953" class="String">&quot;Left&quot;</a>  <a id="2961" href="Haskell.Prim.Show.html#2937" class="Bound">x</a>
+    <a id="2967" href="Haskell.Prim.Show.html#2967" class="Bound">p</a> <a id="2969" class="Symbol">(</a><a id="2970" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="2976" href="Haskell.Prim.Show.html#2976" class="Bound">y</a><a id="2977" class="Symbol">)</a> <a id="2979" class="Symbol">→</a> <a id="2981" href="Haskell.Prim.Show.html#2523" class="Function">showApp₁</a> <a id="2990" href="Haskell.Prim.Show.html#2967" class="Bound">p</a> <a id="2992" class="String">&quot;Right&quot;</a> <a id="3000" href="Haskell.Prim.Show.html#2976" class="Bound">y</a>
+
+<a id="3003" class="Keyword">instance</a>
+  <a id="iShowTuple₂"></a><a id="3014" href="Haskell.Prim.Show.html#3014" class="Function">iShowTuple₂</a> <a id="3026" class="Symbol">:</a> <a id="3028" class="Symbol">⦃</a> <a id="3030" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="3035" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3037" class="Symbol">⦄</a> <a id="3039" class="Symbol">→</a> <a id="3041" class="Symbol">⦃</a> <a id="3043" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="3048" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="3050" class="Symbol">⦄</a> <a id="3052" class="Symbol">→</a> <a id="3054" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="3059" class="Symbol">(</a><a id="3060" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3062" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="3064" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="3065" class="Symbol">)</a>
+  <a id="3069" href="Haskell.Prim.Show.html#3014" class="Function">iShowTuple₂</a> <a id="3081" class="Symbol">=</a> <a id="3083" href="Haskell.Prim.Show.html#1727" class="Function Operator">showsPrec=</a> <a id="3094" class="Symbol">λ</a> <a id="3096" href="Haskell.Prim.Show.html#3096" class="Bound">_</a> <a id="3098" class="Symbol">→</a> <a id="3100" class="Symbol">λ</a> <a id="3102" class="Keyword">where</a>
+    <a id="3112" class="Symbol">(</a><a id="3113" href="Haskell.Prim.Show.html#3113" class="Bound">x</a> <a id="3115" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="3117" href="Haskell.Prim.Show.html#3117" class="Bound">y</a><a id="3118" class="Symbol">)</a> <a id="3120" class="Symbol">→</a> <a id="3122" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="3133" class="String">&quot;(&quot;</a> <a id="3137" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="3139" href="Haskell.Prim.Show.html#1575" class="Function">shows</a> <a id="3145" href="Haskell.Prim.Show.html#3113" class="Bound">x</a> <a id="3147" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="3149" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="3160" class="String">&quot;, &quot;</a> <a id="3165" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="3167" href="Haskell.Prim.Show.html#1575" class="Function">shows</a> <a id="3173" href="Haskell.Prim.Show.html#3117" class="Bound">y</a> <a id="3175" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="3177" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="3188" class="String">&quot;)&quot;</a>
+
+  <a id="iShowTuple₃"></a><a id="3195" href="Haskell.Prim.Show.html#3195" class="Function">iShowTuple₃</a> <a id="3207" class="Symbol">:</a> <a id="3209" class="Symbol">⦃</a> <a id="3211" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="3216" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3218" class="Symbol">⦄</a> <a id="3220" class="Symbol">→</a> <a id="3222" class="Symbol">⦃</a> <a id="3224" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="3229" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="3231" class="Symbol">⦄</a> <a id="3233" class="Symbol">→</a> <a id="3235" class="Symbol">⦃</a> <a id="3237" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="3242" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="3244" class="Symbol">⦄</a> <a id="3246" class="Symbol">→</a> <a id="3248" href="Haskell.Prim.Show.html#1012" class="Record">Show</a> <a id="3253" class="Symbol">(</a><a id="3254" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3256" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="3258" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="3260" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="3262" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="3263" class="Symbol">)</a>
+  <a id="3267" href="Haskell.Prim.Show.html#3195" class="Function">iShowTuple₃</a> <a id="3279" class="Symbol">=</a> <a id="3281" href="Haskell.Prim.Show.html#1727" class="Function Operator">showsPrec=</a> <a id="3292" class="Symbol">λ</a> <a id="3294" href="Haskell.Prim.Show.html#3294" class="Bound">_</a> <a id="3296" class="Symbol">→</a> <a id="3298" class="Symbol">λ</a> <a id="3300" class="Keyword">where</a>
+    <a id="3310" class="Symbol">(</a><a id="3311" href="Haskell.Prim.Show.html#3311" class="Bound">x</a> <a id="3313" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="3315" href="Haskell.Prim.Show.html#3315" class="Bound">y</a> <a id="3317" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="3319" href="Haskell.Prim.Show.html#3319" class="Bound">z</a><a id="3320" class="Symbol">)</a> <a id="3322" class="Symbol">→</a> <a id="3324" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="3335" class="String">&quot;(&quot;</a> <a id="3339" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="3341" href="Haskell.Prim.Show.html#1575" class="Function">shows</a> <a id="3347" href="Haskell.Prim.Show.html#3311" class="Bound">x</a> <a id="3349" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="3351" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="3362" class="String">&quot;, &quot;</a> <a id="3367" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="3369" href="Haskell.Prim.Show.html#1575" class="Function">shows</a> <a id="3375" href="Haskell.Prim.Show.html#3315" class="Bound">y</a> <a id="3377" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="3379" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="3390" class="String">&quot;, &quot;</a> <a id="3395" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="3397" href="Haskell.Prim.Show.html#1575" class="Function">shows</a> <a id="3403" href="Haskell.Prim.Show.html#3319" class="Bound">z</a> <a id="3405" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="3407" href="Haskell.Prim.Show.html#599" class="Function">showString</a> <a id="3418" class="String">&quot;)&quot;</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.String.html b/lib/Haskell.Prim.String.html
new file mode 100644
index 00000000..a8ce00a4
--- /dev/null
+++ b/lib/Haskell.Prim.String.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.String</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.String.html" class="Module">Haskell.Prim.String</a> <a id="29" class="Keyword">where</a>
+
+<a id="36" class="Keyword">open</a> <a id="41" class="Keyword">import</a> <a id="48" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="61" class="Keyword">open</a> <a id="66" class="Keyword">import</a> <a id="73" href="Haskell.Prim.List.html" class="Module">Haskell.Prim.List</a>
+<a id="91" class="Keyword">open</a> <a id="96" class="Keyword">import</a> <a id="103" href="Haskell.Prim.Foldable.html" class="Module">Haskell.Prim.Foldable</a>
+
+<a id="126" class="Comment">--------------------------------------------------</a>
+<a id="177" class="Comment">-- String</a>
+<a id="187" class="Comment">-- This is _not_ the builtin String type of Agda</a>
+<a id="236" class="Comment">-- which is defined by postulates.</a>
+<a id="271" class="Comment">-- `fromString` can be used to convert back</a>
+<a id="315" class="Comment">-- to builtin Agda strings.</a>
+
+<a id="String"></a><a id="344" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="351" class="Symbol">=</a> <a id="353" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="358" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a>
+
+<a id="364" class="Keyword">instance</a>
+  <a id="iIsStringString"></a><a id="375" href="Haskell.Prim.String.html#375" class="Function">iIsStringString</a> <a id="391" class="Symbol">:</a> <a id="393" href="Agda.Builtin.FromString.html#202" class="Record">IsString</a> <a id="402" href="Haskell.Prim.String.html#344" class="Function">String</a>
+  <a id="411" href="Haskell.Prim.String.html#375" class="Function">iIsStringString</a> <a id="427" class="Symbol">.</a><a id="428" href="Agda.Builtin.FromString.html#260" class="Field">IsString.Constraint</a> <a id="448" class="Symbol">_</a> <a id="450" class="Symbol">=</a> <a id="452" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="456" href="Haskell.Prim.String.html#375" class="Function">iIsStringString</a> <a id="472" class="Symbol">.</a><a id="473" href="Agda.Builtin.FromString.html#292" class="Field">fromString</a> <a id="484" href="Haskell.Prim.String.html#484" class="Bound">s</a> <a id="486" class="Symbol">=</a> <a id="488" href="Agda.Builtin.String.html#453" class="Primitive">primStringToList</a> <a id="505" href="Haskell.Prim.String.html#484" class="Bound">s</a>
+
+<a id="508" class="Keyword">private</a>
+  <a id="cons"></a><a id="518" href="Haskell.Prim.String.html#518" class="Function">cons</a> <a id="523" class="Symbol">:</a> <a id="525" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a> <a id="530" class="Symbol">→</a> <a id="532" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="537" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="544" class="Symbol">→</a> <a id="546" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="551" href="Haskell.Prim.String.html#344" class="Function">String</a>
+  <a id="560" href="Haskell.Prim.String.html#518" class="Function">cons</a> <a id="565" href="Haskell.Prim.String.html#565" class="Bound">c</a> <a id="567" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="576" class="Symbol">=</a> <a id="578" class="Symbol">(</a><a id="579" href="Haskell.Prim.String.html#565" class="Bound">c</a> <a id="581" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="583" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a><a id="585" class="Symbol">)</a> <a id="587" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="589" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+  <a id="594" href="Haskell.Prim.String.html#518" class="Function">cons</a> <a id="599" href="Haskell.Prim.String.html#599" class="Bound">c</a> <a id="601" class="Symbol">(</a><a id="602" href="Haskell.Prim.String.html#602" class="Bound">s</a> <a id="604" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="606" href="Haskell.Prim.String.html#606" class="Bound">ss</a><a id="608" class="Symbol">)</a> <a id="610" class="Symbol">=</a> <a id="612" class="Symbol">(</a><a id="613" href="Haskell.Prim.String.html#599" class="Bound">c</a> <a id="615" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="617" href="Haskell.Prim.String.html#602" class="Bound">s</a><a id="618" class="Symbol">)</a> <a id="620" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="622" href="Haskell.Prim.String.html#606" class="Bound">ss</a>
+
+<a id="lines"></a><a id="626" href="Haskell.Prim.String.html#626" class="Function">lines</a> <a id="632" class="Symbol">:</a> <a id="634" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="641" class="Symbol">→</a> <a id="643" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="648" href="Haskell.Prim.String.html#344" class="Function">String</a>
+<a id="655" href="Haskell.Prim.String.html#626" class="Function">lines</a> <a id="661" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>         <a id="672" class="Symbol">=</a> <a id="674" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="677" href="Haskell.Prim.String.html#626" class="Function">lines</a> <a id="683" class="Symbol">(</a><a id="684" class="String">&#39;\n&#39;</a> <a id="689" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="691" href="Haskell.Prim.String.html#691" class="Bound">s</a><a id="692" class="Symbol">)</a> <a id="694" class="Symbol">=</a> <a id="696" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="699" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="701" href="Haskell.Prim.String.html#626" class="Function">lines</a> <a id="707" href="Haskell.Prim.String.html#691" class="Bound">s</a>
+<a id="709" href="Haskell.Prim.String.html#626" class="Function">lines</a> <a id="715" class="Symbol">(</a><a id="716" href="Haskell.Prim.String.html#716" class="Bound">c</a>    <a id="721" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="723" href="Haskell.Prim.String.html#723" class="Bound">s</a><a id="724" class="Symbol">)</a> <a id="726" class="Symbol">=</a> <a id="728" href="Haskell.Prim.String.html#518" class="Function">cons</a> <a id="733" href="Haskell.Prim.String.html#716" class="Bound">c</a> <a id="735" class="Symbol">(</a><a id="736" href="Haskell.Prim.String.html#626" class="Function">lines</a> <a id="742" href="Haskell.Prim.String.html#723" class="Bound">s</a><a id="743" class="Symbol">)</a>
+
+<a id="746" class="Keyword">private</a>
+ <a id="755" class="Keyword">mutual</a>
+  <a id="space"></a><a id="764" href="Haskell.Prim.String.html#764" class="Function">space</a> <a id="770" class="Symbol">:</a> <a id="772" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="779" class="Symbol">→</a> <a id="781" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="786" href="Haskell.Prim.String.html#344" class="Function">String</a>
+  <a id="795" href="Haskell.Prim.String.html#764" class="Function">space</a> <a id="801" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="804" class="Symbol">=</a> <a id="806" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+  <a id="811" href="Haskell.Prim.String.html#764" class="Function">space</a> <a id="817" class="Symbol">(</a><a id="818" href="Haskell.Prim.String.html#818" class="Bound">c</a> <a id="820" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="822" href="Haskell.Prim.String.html#822" class="Bound">s</a><a id="823" class="Symbol">)</a> <a id="825" class="Symbol">=</a> <a id="827" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="830" href="Agda.Builtin.Char.html#324" class="Primitive">primIsSpace</a> <a id="842" href="Haskell.Prim.String.html#818" class="Bound">c</a> <a id="844" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="849" href="Haskell.Prim.String.html#764" class="Function">space</a> <a id="855" href="Haskell.Prim.String.html#822" class="Bound">s</a> <a id="857" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="862" href="Haskell.Prim.String.html#518" class="Function">cons</a> <a id="867" href="Haskell.Prim.String.html#818" class="Bound">c</a> <a id="869" class="Symbol">(</a><a id="870" href="Haskell.Prim.String.html#881" class="Function">word</a> <a id="875" href="Haskell.Prim.String.html#822" class="Bound">s</a><a id="876" class="Symbol">)</a>
+
+  <a id="word"></a><a id="881" href="Haskell.Prim.String.html#881" class="Function">word</a>  <a id="887" class="Symbol">:</a> <a id="889" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="896" class="Symbol">→</a> <a id="898" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="903" href="Haskell.Prim.String.html#344" class="Function">String</a>
+  <a id="912" href="Haskell.Prim.String.html#881" class="Function">word</a> <a id="917" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>      <a id="925" class="Symbol">=</a> <a id="927" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+  <a id="932" href="Haskell.Prim.String.html#881" class="Function">word</a> <a id="937" class="Symbol">(</a><a id="938" href="Haskell.Prim.String.html#938" class="Bound">c</a> <a id="940" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="942" href="Haskell.Prim.String.html#942" class="Bound">s</a><a id="943" class="Symbol">)</a> <a id="945" class="Symbol">=</a> <a id="947" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="950" href="Agda.Builtin.Char.html#324" class="Primitive">primIsSpace</a> <a id="962" href="Haskell.Prim.String.html#938" class="Bound">c</a> <a id="964" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="969" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="972" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="974" href="Haskell.Prim.String.html#764" class="Function">space</a> <a id="980" href="Haskell.Prim.String.html#942" class="Bound">s</a> <a id="982" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="987" href="Haskell.Prim.String.html#518" class="Function">cons</a> <a id="992" href="Haskell.Prim.String.html#938" class="Bound">c</a> <a id="994" class="Symbol">(</a><a id="995" href="Haskell.Prim.String.html#881" class="Function">word</a> <a id="1000" href="Haskell.Prim.String.html#942" class="Bound">s</a><a id="1001" class="Symbol">)</a>
+
+<a id="words"></a><a id="1004" href="Haskell.Prim.String.html#1004" class="Function">words</a> <a id="1010" class="Symbol">:</a> <a id="1012" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="1019" class="Symbol">→</a> <a id="1021" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1026" href="Haskell.Prim.String.html#344" class="Function">String</a>
+<a id="1033" href="Haskell.Prim.String.html#1004" class="Function">words</a> <a id="1039" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="1042" class="Symbol">=</a> <a id="1044" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+<a id="1047" href="Haskell.Prim.String.html#1004" class="Function">words</a> <a id="1053" href="Haskell.Prim.String.html#1053" class="Bound">s</a><a id="1054" class="Symbol">@(</a><a id="1056" href="Haskell.Prim.String.html#1056" class="Bound">c</a> <a id="1058" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1060" href="Haskell.Prim.String.html#1060" class="Bound">s₁</a><a id="1062" class="Symbol">)</a> <a id="1064" class="Symbol">=</a> <a id="1066" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="1069" href="Agda.Builtin.Char.html#324" class="Primitive">primIsSpace</a> <a id="1081" href="Haskell.Prim.String.html#1056" class="Bound">c</a> <a id="1083" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="1088" href="Haskell.Prim.String.html#764" class="Function">space</a> <a id="1094" href="Haskell.Prim.String.html#1060" class="Bound">s₁</a> <a id="1097" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="1102" href="Haskell.Prim.String.html#881" class="Function">word</a> <a id="1107" href="Haskell.Prim.String.html#1053" class="Bound">s</a>
+
+<a id="unlines"></a><a id="1110" href="Haskell.Prim.String.html#1110" class="Function">unlines</a> <a id="1118" class="Symbol">:</a> <a id="1120" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1125" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="1132" class="Symbol">→</a> <a id="1134" href="Haskell.Prim.String.html#344" class="Function">String</a>
+<a id="1141" href="Haskell.Prim.String.html#1110" class="Function">unlines</a> <a id="1149" class="Symbol">=</a> <a id="1151" href="Haskell.Prim.Foldable.html#774" class="Field">concatMap</a> <a id="1161" class="Symbol">(</a><a id="1162" href="Haskell.Prim.List.html#310" class="Function Operator">_++</a> <a id="1166" class="String">&quot;\n&quot;</a><a id="1170" class="Symbol">)</a>
+
+<a id="unwords"></a><a id="1173" href="Haskell.Prim.String.html#1173" class="Function">unwords</a> <a id="1181" class="Symbol">:</a> <a id="1183" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1188" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="1195" class="Symbol">→</a> <a id="1197" href="Haskell.Prim.String.html#344" class="Function">String</a>
+<a id="1204" href="Haskell.Prim.String.html#1173" class="Function">unwords</a> <a id="1212" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a> <a id="1215" class="Symbol">=</a> <a id="1217" class="String">&quot;&quot;</a>
+<a id="1220" href="Haskell.Prim.String.html#1173" class="Function">unwords</a> <a id="1228" class="Symbol">(</a><a id="1229" href="Haskell.Prim.String.html#1229" class="Bound">w</a> <a id="1231" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1233" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a><a id="1235" class="Symbol">)</a> <a id="1237" class="Symbol">=</a> <a id="1239" href="Haskell.Prim.String.html#1229" class="Bound">w</a>
+<a id="1241" href="Haskell.Prim.String.html#1173" class="CatchallClause Function">unwords</a><a id="1248" class="CatchallClause"> </a><a id="1249" class="CatchallClause Symbol">(</a><a id="1250" href="Haskell.Prim.String.html#1250" class="CatchallClause Bound">w</a><a id="1251" class="CatchallClause"> </a><a id="1252" href="Agda.Builtin.List.html#199" class="CatchallClause InductiveConstructor Operator">∷</a><a id="1253" class="CatchallClause"> </a><a id="1254" href="Haskell.Prim.String.html#1254" class="CatchallClause Bound">ws</a><a id="1256" class="CatchallClause Symbol">)</a> <a id="1258" class="Symbol">=</a> <a id="1260" href="Haskell.Prim.String.html#1250" class="Bound">w</a> <a id="1262" href="Haskell.Prim.List.html#310" class="Function Operator">++</a> <a id="1265" class="String">&#39; &#39;</a> <a id="1269" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1271" href="Haskell.Prim.String.html#1173" class="Function">unwords</a> <a id="1279" href="Haskell.Prim.String.html#1254" class="Bound">ws</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Traversable.html b/lib/Haskell.Prim.Traversable.html
new file mode 100644
index 00000000..39ce793e
--- /dev/null
+++ b/lib/Haskell.Prim.Traversable.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Traversable</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+
+<a id="3" class="Keyword">module</a> <a id="10" href="Haskell.Prim.Traversable.html" class="Module">Haskell.Prim.Traversable</a> <a id="35" class="Keyword">where</a>
+
+<a id="42" class="Keyword">open</a> <a id="47" class="Keyword">import</a> <a id="54" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="67" class="Keyword">open</a> <a id="72" class="Keyword">import</a> <a id="79" href="Haskell.Prim.Applicative.html" class="Module">Haskell.Prim.Applicative</a>
+<a id="104" class="Keyword">open</a> <a id="109" class="Keyword">import</a> <a id="116" href="Haskell.Prim.Functor.html" class="Module">Haskell.Prim.Functor</a>
+<a id="137" class="Keyword">open</a> <a id="142" class="Keyword">import</a> <a id="149" href="Haskell.Prim.Foldable.html" class="Module">Haskell.Prim.Foldable</a>
+<a id="171" class="Keyword">open</a> <a id="176" class="Keyword">import</a> <a id="183" href="Haskell.Prim.Monad.html" class="Module">Haskell.Prim.Monad</a>
+<a id="202" class="Keyword">open</a> <a id="207" class="Keyword">import</a> <a id="214" href="Haskell.Prim.List.html" class="Module">Haskell.Prim.List</a>
+<a id="232" class="Keyword">open</a> <a id="237" class="Keyword">import</a> <a id="244" href="Haskell.Prim.Maybe.html" class="Module">Haskell.Prim.Maybe</a>
+<a id="263" class="Keyword">open</a> <a id="268" class="Keyword">import</a> <a id="275" href="Haskell.Prim.Either.html" class="Module">Haskell.Prim.Either</a>
+<a id="295" class="Keyword">open</a> <a id="300" class="Keyword">import</a> <a id="307" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a>
+
+<a id="327" class="Comment">--------------------------------------------------</a>
+<a id="378" class="Comment">-- Traversable</a>
+
+<a id="394" class="Comment">-- ** base</a>
+<a id="405" class="Keyword">record</a> <a id="Traversable"></a><a id="412" href="Haskell.Prim.Traversable.html#412" class="Record">Traversable</a> <a id="424" class="Symbol">(</a><a id="425" href="Haskell.Prim.Traversable.html#425" class="Bound">t</a> <a id="427" class="Symbol">:</a> <a id="429" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="433" class="Symbol">→</a> <a id="435" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="438" class="Symbol">)</a> <a id="440" class="Symbol">:</a> <a id="442" href="Agda.Primitive.html#388" class="Primitive">Set₁</a> <a id="447" class="Keyword">where</a>
+  <a id="455" class="Keyword">field</a>
+    <a id="Traversable.traverse"></a><a id="465" href="Haskell.Prim.Traversable.html#465" class="Field">traverse</a> <a id="474" class="Symbol">:</a> <a id="476" class="Symbol">⦃</a> <a id="478" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="490" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="492" class="Symbol">⦄</a> <a id="494" class="Symbol">→</a> <a id="496" class="Symbol">(</a><a id="497" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="499" class="Symbol">→</a> <a id="501" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="503" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="504" class="Symbol">)</a> <a id="506" class="Symbol">→</a> <a id="508" href="Haskell.Prim.Traversable.html#425" class="Bound">t</a> <a id="510" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="512" class="Symbol">→</a> <a id="514" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="516" class="Symbol">(</a><a id="517" href="Haskell.Prim.Traversable.html#425" class="Bound">t</a> <a id="519" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="520" class="Symbol">)</a>
+    <a id="526" class="Keyword">overlap</a> <a id="534" class="Symbol">⦃</a> <a id="Traversable.functor"></a><a id="536" href="Haskell.Prim.Traversable.html#536" class="Field">functor</a> <a id="544" class="Symbol">⦄</a> <a id="546" class="Symbol">:</a> <a id="548" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="556" href="Haskell.Prim.Traversable.html#425" class="Bound">t</a>
+    <a id="562" class="Keyword">overlap</a> <a id="570" class="Symbol">⦃</a> <a id="Traversable.foldable"></a><a id="572" href="Haskell.Prim.Traversable.html#572" class="Field">foldable</a> <a id="581" class="Symbol">⦄</a> <a id="583" class="Symbol">:</a> <a id="585" href="Haskell.Prim.Foldable.html#431" class="Record">Foldable</a> <a id="594" href="Haskell.Prim.Traversable.html#425" class="Bound">t</a>
+
+    <a id="Traversable.sequenceA"></a><a id="601" href="Haskell.Prim.Traversable.html#601" class="Field">sequenceA</a> <a id="611" class="Symbol">:</a> <a id="613" class="Symbol">⦃</a> <a id="615" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="627" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="629" class="Symbol">⦄</a> <a id="631" class="Symbol">→</a> <a id="633" href="Haskell.Prim.Traversable.html#425" class="Bound">t</a> <a id="635" class="Symbol">(</a><a id="636" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="638" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="639" class="Symbol">)</a> <a id="641" class="Symbol">→</a> <a id="643" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="645" class="Symbol">(</a><a id="646" href="Haskell.Prim.Traversable.html#425" class="Bound">t</a> <a id="648" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="649" class="Symbol">)</a>
+    <a id="Traversable.mapM"></a><a id="655" href="Haskell.Prim.Traversable.html#655" class="Field">mapM</a> <a id="660" class="Symbol">:</a> <a id="662" class="Symbol">⦃</a> <a id="664" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="670" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="672" class="Symbol">⦄</a> <a id="674" class="Symbol">→</a> <a id="676" class="Symbol">(</a><a id="677" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="679" class="Symbol">→</a> <a id="681" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="683" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="684" class="Symbol">)</a> <a id="686" class="Symbol">→</a> <a id="688" href="Haskell.Prim.Traversable.html#425" class="Bound">t</a> <a id="690" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="692" class="Symbol">→</a> <a id="694" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="696" class="Symbol">(</a><a id="697" href="Haskell.Prim.Traversable.html#425" class="Bound">t</a> <a id="699" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="700" class="Symbol">)</a>
+    <a id="Traversable.sequence"></a><a id="706" href="Haskell.Prim.Traversable.html#706" class="Field">sequence</a> <a id="715" class="Symbol">:</a> <a id="717" class="Symbol">⦃</a> <a id="719" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="725" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="727" class="Symbol">⦄</a> <a id="729" class="Symbol">→</a> <a id="731" href="Haskell.Prim.Traversable.html#425" class="Bound">t</a> <a id="733" class="Symbol">(</a><a id="734" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="736" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="737" class="Symbol">)</a> <a id="739" class="Symbol">→</a> <a id="741" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="743" class="Symbol">(</a><a id="744" href="Haskell.Prim.Traversable.html#425" class="Bound">t</a> <a id="746" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="747" class="Symbol">)</a>
+<a id="749" class="Comment">-- ** defaults</a>
+<a id="764" class="Keyword">record</a> <a id="DefaultTraversable"></a><a id="771" href="Haskell.Prim.Traversable.html#771" class="Record">DefaultTraversable</a> <a id="790" class="Symbol">(</a><a id="791" href="Haskell.Prim.Traversable.html#791" class="Bound">t</a> <a id="793" class="Symbol">:</a> <a id="795" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="799" class="Symbol">→</a> <a id="801" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="804" class="Symbol">)</a> <a id="806" class="Symbol">:</a> <a id="808" href="Agda.Primitive.html#388" class="Primitive">Set₁</a> <a id="813" class="Keyword">where</a>
+  <a id="821" class="Keyword">field</a>
+    <a id="DefaultTraversable.traverse"></a><a id="831" href="Haskell.Prim.Traversable.html#831" class="Field">traverse</a> <a id="840" class="Symbol">:</a> <a id="842" class="Symbol">⦃</a> <a id="844" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="856" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="858" class="Symbol">⦄</a> <a id="860" class="Symbol">→</a> <a id="862" class="Symbol">(</a><a id="863" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="865" class="Symbol">→</a> <a id="867" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="869" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="870" class="Symbol">)</a> <a id="872" class="Symbol">→</a> <a id="874" href="Haskell.Prim.Traversable.html#791" class="Bound">t</a> <a id="876" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="878" class="Symbol">→</a> <a id="880" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="882" class="Symbol">(</a><a id="883" href="Haskell.Prim.Traversable.html#791" class="Bound">t</a> <a id="885" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="886" class="Symbol">)</a>
+    <a id="892" class="Keyword">overlap</a> <a id="900" class="Symbol">⦃</a> <a id="DefaultTraversable.functor"></a><a id="902" href="Haskell.Prim.Traversable.html#902" class="Field">functor</a> <a id="910" class="Symbol">⦄</a> <a id="912" class="Symbol">:</a> <a id="914" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="922" href="Haskell.Prim.Traversable.html#791" class="Bound">t</a>
+    <a id="928" class="Keyword">overlap</a> <a id="936" class="Symbol">⦃</a> <a id="DefaultTraversable.foldable"></a><a id="938" href="Haskell.Prim.Traversable.html#938" class="Field">foldable</a> <a id="947" class="Symbol">⦄</a> <a id="949" class="Symbol">:</a> <a id="951" href="Haskell.Prim.Foldable.html#431" class="Record">Foldable</a> <a id="960" href="Haskell.Prim.Traversable.html#791" class="Bound">t</a>
+
+  <a id="DefaultTraversable.sequenceA"></a><a id="965" href="Haskell.Prim.Traversable.html#965" class="Function">sequenceA</a> <a id="975" class="Symbol">:</a> <a id="977" class="Symbol">⦃</a> <a id="979" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="991" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="993" class="Symbol">⦄</a> <a id="995" class="Symbol">→</a> <a id="997" href="Haskell.Prim.Traversable.html#791" class="Bound">t</a> <a id="999" class="Symbol">(</a><a id="1000" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="1002" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="1003" class="Symbol">)</a> <a id="1005" class="Symbol">→</a> <a id="1007" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="1009" class="Symbol">(</a><a id="1010" href="Haskell.Prim.Traversable.html#791" class="Bound">t</a> <a id="1012" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="1013" class="Symbol">)</a>
+  <a id="1017" href="Haskell.Prim.Traversable.html#965" class="Function">sequenceA</a> <a id="1027" class="Symbol">=</a> <a id="1029" href="Haskell.Prim.Traversable.html#831" class="Field">traverse</a> <a id="1038" href="Haskell.Prim.html#1296" class="Function">id</a>
+
+  <a id="DefaultTraversable.mapM"></a><a id="1044" href="Haskell.Prim.Traversable.html#1044" class="Function">mapM</a> <a id="1049" class="Symbol">:</a> <a id="1051" class="Symbol">⦃</a> <a id="1053" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="1059" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1061" class="Symbol">⦄</a> <a id="1063" class="Symbol">→</a> <a id="1065" class="Symbol">(</a><a id="1066" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1068" class="Symbol">→</a> <a id="1070" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1072" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1073" class="Symbol">)</a> <a id="1075" class="Symbol">→</a> <a id="1077" href="Haskell.Prim.Traversable.html#791" class="Bound">t</a> <a id="1079" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1081" class="Symbol">→</a> <a id="1083" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1085" class="Symbol">(</a><a id="1086" href="Haskell.Prim.Traversable.html#791" class="Bound">t</a> <a id="1088" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1089" class="Symbol">)</a>
+  <a id="1093" href="Haskell.Prim.Traversable.html#1044" class="Function">mapM</a> <a id="1098" class="Symbol">=</a> <a id="1100" href="Haskell.Prim.Traversable.html#831" class="Field">traverse</a>
+
+  <a id="DefaultTraversable.sequence"></a><a id="1112" href="Haskell.Prim.Traversable.html#1112" class="Function">sequence</a> <a id="1121" class="Symbol">:</a> <a id="1123" class="Symbol">⦃</a> <a id="1125" href="Haskell.Prim.Monad.html#481" class="Record">Monad</a> <a id="1131" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1133" class="Symbol">⦄</a> <a id="1135" class="Symbol">→</a> <a id="1137" href="Haskell.Prim.Traversable.html#791" class="Bound">t</a> <a id="1139" class="Symbol">(</a><a id="1140" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1142" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="1143" class="Symbol">)</a> <a id="1145" class="Symbol">→</a> <a id="1147" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1149" class="Symbol">(</a><a id="1150" href="Haskell.Prim.Traversable.html#791" class="Bound">t</a> <a id="1152" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="1153" class="Symbol">)</a>
+  <a id="1157" href="Haskell.Prim.Traversable.html#1112" class="Function">sequence</a> <a id="1166" class="Symbol">=</a> <a id="1168" href="Haskell.Prim.Traversable.html#965" class="Function">sequenceA</a>
+<a id="1178" class="Comment">-- ** export</a>
+<a id="1191" class="Keyword">open</a> <a id="1196" href="Haskell.Prim.Traversable.html#412" class="Module">Traversable</a> <a id="1208" class="Symbol">⦃...⦄</a> <a id="1214" class="Keyword">public</a>
+<a id="1221" class="Symbol">{-#</a> <a id="1225" class="Keyword">COMPILE</a> <a id="1233" class="Keyword">AGDA2HS</a> <a id="1241" href="Haskell.Prim.Traversable.html#412" class="Record">Traversable</a> <a id="1253" class="Pragma">existing-class</a> <a id="1268" class="Symbol">#-}</a>
+<a id="1272" class="Comment">-- ** instances</a>
+<a id="1288" class="Keyword">private</a>
+  <a id="mkTraversable"></a><a id="1298" href="Haskell.Prim.Traversable.html#1298" class="Function">mkTraversable</a> <a id="1312" class="Symbol">:</a> <a id="1314" href="Haskell.Prim.Traversable.html#771" class="Record">DefaultTraversable</a> <a id="1333" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="1335" class="Symbol">→</a> <a id="1337" href="Haskell.Prim.Traversable.html#412" class="Record">Traversable</a> <a id="1349" href="Haskell.Prim.html#1215" class="Generalizable">t</a>
+  <a id="1353" href="Haskell.Prim.Traversable.html#1298" class="Function">mkTraversable</a> <a id="1367" href="Haskell.Prim.Traversable.html#1367" class="Bound">x</a> <a id="1369" class="Symbol">=</a> <a id="1371" class="Keyword">record</a> <a id="1378" class="Symbol">{</a><a id="1379" href="Haskell.Prim.Traversable.html#1379" class="Module">DefaultTraversable</a> <a id="1398" href="Haskell.Prim.Traversable.html#1367" class="Bound">x</a><a id="1399" class="Symbol">}</a>
+
+  <a id="1404" class="Keyword">infix</a> <a id="1410" class="Number">0</a> <a id="1412" href="Haskell.Prim.Traversable.html#1425" class="Function Operator">traverse=_</a>
+  <a id="traverse=_"></a><a id="1425" href="Haskell.Prim.Traversable.html#1425" class="Function Operator">traverse=_</a> <a id="1436" class="Symbol">:</a> <a id="1438" class="Symbol">⦃</a> <a id="1440" href="Haskell.Prim.Functor.html#296" class="Record">Functor</a> <a id="1448" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="1450" class="Symbol">⦄</a> <a id="1452" class="Symbol">→</a> <a id="1454" class="Symbol">⦃</a> <a id="1456" href="Haskell.Prim.Foldable.html#431" class="Record">Foldable</a> <a id="1465" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="1467" class="Symbol">⦄</a>
+            <a id="1481" class="Symbol">→</a> <a id="1483" class="Symbol">(∀</a> <a id="1486" class="Symbol">{</a><a id="1487" href="Haskell.Prim.Traversable.html#1487" class="Bound">f</a> <a id="1489" href="Haskell.Prim.Traversable.html#1489" class="Bound">a</a> <a id="1491" href="Haskell.Prim.Traversable.html#1491" class="Bound">b</a><a id="1492" class="Symbol">}</a> <a id="1494" class="Symbol">→</a> <a id="1496" class="Symbol">⦃</a> <a id="1498" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="1510" href="Haskell.Prim.Traversable.html#1487" class="Bound">f</a> <a id="1512" class="Symbol">⦄</a> <a id="1514" class="Symbol">→</a> <a id="1516" class="Symbol">(</a><a id="1517" href="Haskell.Prim.Traversable.html#1489" class="Bound">a</a> <a id="1519" class="Symbol">→</a> <a id="1521" href="Haskell.Prim.Traversable.html#1487" class="Bound">f</a> <a id="1523" href="Haskell.Prim.Traversable.html#1491" class="Bound">b</a><a id="1524" class="Symbol">)</a> <a id="1526" class="Symbol">→</a> <a id="1528" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="1530" href="Haskell.Prim.Traversable.html#1489" class="Bound">a</a> <a id="1532" class="Symbol">→</a> <a id="1534" href="Haskell.Prim.Traversable.html#1487" class="Bound">f</a> <a id="1536" class="Symbol">(</a><a id="1537" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="1539" href="Haskell.Prim.Traversable.html#1491" class="Bound">b</a><a id="1540" class="Symbol">))</a>
+            <a id="1555" class="Symbol">→</a> <a id="1557" href="Haskell.Prim.Traversable.html#412" class="Record">Traversable</a> <a id="1569" href="Haskell.Prim.html#1215" class="Generalizable">t</a>
+  <a id="1573" href="Haskell.Prim.Traversable.html#1425" class="Function Operator">traverse=</a> <a id="1583" href="Haskell.Prim.Traversable.html#1583" class="Bound">x</a> <a id="1585" class="Symbol">=</a> <a id="1587" class="Keyword">record</a> <a id="1594" class="Symbol">{</a><a id="1595" href="Haskell.Prim.Traversable.html#1595" class="Module">DefaultTraversable</a> <a id="1614" class="Symbol">(</a><a id="1615" class="Keyword">record</a> <a id="1622" class="Symbol">{</a><a id="1623" href="Haskell.Prim.Traversable.html#831" class="Field">traverse</a> <a id="1632" class="Symbol">=</a> <a id="1634" href="Haskell.Prim.Traversable.html#1583" class="Bound">x</a><a id="1635" class="Symbol">})}</a>
+<a id="1639" class="Keyword">instance</a>
+  <a id="1650" class="Keyword">open</a> <a id="1655" href="Haskell.Prim.Traversable.html#771" class="Module">DefaultTraversable</a>
+
+  <a id="iTraversableList"></a><a id="1677" href="Haskell.Prim.Traversable.html#1677" class="Function">iTraversableList</a> <a id="1694" class="Symbol">:</a> <a id="1696" href="Haskell.Prim.Traversable.html#412" class="Record">Traversable</a> <a id="1708" href="Agda.Builtin.List.html#147" class="Datatype">List</a>
+  <a id="1715" href="Haskell.Prim.Traversable.html#1677" class="Function">iTraversableList</a> <a id="1732" class="Symbol">=</a> <a id="1734" href="Haskell.Prim.Traversable.html#1425" class="Function Operator">traverse=</a> <a id="1744" href="Haskell.Prim.Traversable.html#1773" class="Function">traverseList</a>
+    <a id="1761" class="Keyword">where</a>
+      <a id="1773" href="Haskell.Prim.Traversable.html#1773" class="Function">traverseList</a> <a id="1786" class="Symbol">:</a> <a id="1788" class="Symbol">⦃</a> <a id="1790" href="Haskell.Prim.Applicative.html#403" class="Record">Applicative</a> <a id="1802" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="1804" class="Symbol">⦄</a> <a id="1806" class="Symbol">→</a> <a id="1808" class="Symbol">(</a><a id="1809" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1811" class="Symbol">→</a> <a id="1813" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="1815" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1816" class="Symbol">)</a> <a id="1818" class="Symbol">→</a> <a id="1820" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1825" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1827" class="Symbol">→</a> <a id="1829" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="1831" class="Symbol">(</a><a id="1832" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="1837" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1838" class="Symbol">)</a>
+      <a id="1846" href="Haskell.Prim.Traversable.html#1773" class="Function">traverseList</a> <a id="1859" href="Haskell.Prim.Traversable.html#1859" class="Bound">f</a> <a id="1861" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="1870" class="Symbol">=</a> <a id="1872" href="Haskell.Prim.Applicative.html#483" class="Field">pure</a> <a id="1877" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+      <a id="1886" href="Haskell.Prim.Traversable.html#1773" class="Function">traverseList</a> <a id="1899" href="Haskell.Prim.Traversable.html#1899" class="Bound">f</a> <a id="1901" class="Symbol">(</a><a id="1902" href="Haskell.Prim.Traversable.html#1902" class="Bound">x</a> <a id="1904" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1906" href="Haskell.Prim.Traversable.html#1906" class="Bound">xs</a><a id="1908" class="Symbol">)</a> <a id="1910" class="Symbol">=</a> <a id="1912" class="Symbol">⦇</a> <a id="1914" href="Haskell.Prim.Traversable.html#1899" class="Bound">f</a> <a id="1916" href="Haskell.Prim.Traversable.html#1902" class="Bound">x</a> <a id="1918" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="1920" href="Haskell.Prim.Traversable.html#1773" class="Function">traverseList</a> <a id="1933" href="Haskell.Prim.Traversable.html#1899" class="Bound">f</a> <a id="1935" href="Haskell.Prim.Traversable.html#1906" class="Bound">xs</a> <a id="1938" class="Symbol">⦈</a>
+
+  <a id="iTraversableMaybe"></a><a id="1943" href="Haskell.Prim.Traversable.html#1943" class="Function">iTraversableMaybe</a> <a id="1961" class="Symbol">:</a> <a id="1963" href="Haskell.Prim.Traversable.html#412" class="Record">Traversable</a> <a id="1975" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a>
+  <a id="1983" href="Haskell.Prim.Traversable.html#1943" class="Function">iTraversableMaybe</a> <a id="2001" class="Symbol">=</a> <a id="2003" href="Haskell.Prim.Traversable.html#1425" class="Function Operator">traverse=</a> <a id="2013" class="Symbol">λ</a> <a id="2015" class="Keyword">where</a>
+    <a id="2025" href="Haskell.Prim.Traversable.html#2025" class="Bound">f</a> <a id="2027" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="2036" class="Symbol">→</a> <a id="2038" href="Haskell.Prim.Applicative.html#483" class="Field">pure</a> <a id="2043" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>
+    <a id="2055" href="Haskell.Prim.Traversable.html#2055" class="Bound">f</a> <a id="2057" class="Symbol">(</a><a id="2058" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="2063" href="Haskell.Prim.Traversable.html#2063" class="Bound">x</a><a id="2064" class="Symbol">)</a> <a id="2066" class="Symbol">→</a> <a id="2068" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="2073" href="Haskell.Prim.Functor.html#420" class="Field Operator">&lt;$&gt;</a> <a id="2077" href="Haskell.Prim.Traversable.html#2055" class="Bound">f</a> <a id="2079" href="Haskell.Prim.Traversable.html#2063" class="Bound">x</a>
+
+  <a id="iTraversableEither"></a><a id="2084" href="Haskell.Prim.Traversable.html#2084" class="Function">iTraversableEither</a> <a id="2103" class="Symbol">:</a> <a id="2105" href="Haskell.Prim.Traversable.html#412" class="Record">Traversable</a> <a id="2117" class="Symbol">(</a><a id="2118" href="Haskell.Prim.Either.html#159" class="Datatype">Either</a> <a id="2125" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="2126" class="Symbol">)</a>
+  <a id="2130" href="Haskell.Prim.Traversable.html#2084" class="Function">iTraversableEither</a> <a id="2149" class="Symbol">=</a> <a id="2151" href="Haskell.Prim.Traversable.html#1425" class="Function Operator">traverse=</a> <a id="2161" class="Symbol">λ</a> <a id="2163" class="Keyword">where</a>
+    <a id="2173" href="Haskell.Prim.Traversable.html#2173" class="Bound">f</a> <a id="2175" class="Symbol">(</a><a id="2176" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a>  <a id="2182" href="Haskell.Prim.Traversable.html#2182" class="Bound">x</a><a id="2183" class="Symbol">)</a> <a id="2185" class="Symbol">→</a> <a id="2187" href="Haskell.Prim.Applicative.html#483" class="Field">pure</a> <a id="2192" class="Symbol">(</a><a id="2193" href="Haskell.Prim.Either.html#192" class="InductiveConstructor">Left</a> <a id="2198" href="Haskell.Prim.Traversable.html#2182" class="Bound">x</a><a id="2199" class="Symbol">)</a>
+    <a id="2205" href="Haskell.Prim.Traversable.html#2205" class="Bound">f</a> <a id="2207" class="Symbol">(</a><a id="2208" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="2214" href="Haskell.Prim.Traversable.html#2214" class="Bound">y</a><a id="2215" class="Symbol">)</a> <a id="2217" class="Symbol">→</a> <a id="2219" href="Haskell.Prim.Either.html#217" class="InductiveConstructor">Right</a> <a id="2225" href="Haskell.Prim.Functor.html#420" class="Field Operator">&lt;$&gt;</a> <a id="2229" href="Haskell.Prim.Traversable.html#2205" class="Bound">f</a> <a id="2231" href="Haskell.Prim.Traversable.html#2214" class="Bound">y</a>
+
+  <a id="iTraversablePair"></a><a id="2236" href="Haskell.Prim.Traversable.html#2236" class="Function">iTraversablePair</a> <a id="2253" class="Symbol">:</a> <a id="2255" href="Haskell.Prim.Traversable.html#412" class="Record">Traversable</a> <a id="2267" class="Symbol">(</a><a id="2268" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2270" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×_</a><a id="2272" class="Symbol">)</a>
+  <a id="2276" href="Haskell.Prim.Traversable.html#2236" class="Function">iTraversablePair</a> <a id="2293" class="Symbol">=</a> <a id="2295" href="Haskell.Prim.Traversable.html#1425" class="Function Operator">traverse=</a> <a id="2305" class="Symbol">λ</a>
+    <a id="2311" href="Haskell.Prim.Traversable.html#2311" class="Bound">f</a> <a id="2313" class="Symbol">(</a><a id="2314" href="Haskell.Prim.Traversable.html#2314" class="Bound">x</a> <a id="2316" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="2318" href="Haskell.Prim.Traversable.html#2318" class="Bound">y</a><a id="2319" class="Symbol">)</a> <a id="2321" class="Symbol">→</a> <a id="2323" class="Symbol">(</a><a id="2324" href="Haskell.Prim.Traversable.html#2314" class="Bound">x</a> <a id="2326" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,_</a><a id="2328" class="Symbol">)</a> <a id="2330" href="Haskell.Prim.Functor.html#420" class="Field Operator">&lt;$&gt;</a> <a id="2334" href="Haskell.Prim.Traversable.html#2311" class="Bound">f</a> <a id="2336" href="Haskell.Prim.Traversable.html#2318" class="Bound">y</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Tuple.html b/lib/Haskell.Prim.Tuple.html
new file mode 100644
index 00000000..718b3e77
--- /dev/null
+++ b/lib/Haskell.Prim.Tuple.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Tuple</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a> <a id="28" class="Keyword">where</a>
+
+<a id="35" class="Keyword">open</a> <a id="40" class="Keyword">import</a> <a id="47" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+
+<a id="61" class="Comment">--------------------------------------------------</a>
+<a id="112" class="Comment">-- Tuples</a>
+
+<a id="123" class="Keyword">infix</a> <a id="129" class="Number">3</a> <a id="131" href="Haskell.Prim.Tuple.html#169" class="Record Operator">_×_</a> <a id="135" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">_×_×_</a>
+
+<a id="142" class="Keyword">infix</a> <a id="148" class="Number">-1</a> <a id="151" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">_,_</a> <a id="155" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">_,_,_</a>
+
+<a id="162" class="Keyword">record</a> <a id="_×_"></a><a id="169" href="Haskell.Prim.Tuple.html#169" class="Record Operator">_×_</a> <a id="173" class="Symbol">(</a><a id="174" href="Haskell.Prim.Tuple.html#174" class="Bound">a</a> <a id="176" href="Haskell.Prim.Tuple.html#176" class="Bound">b</a> <a id="178" class="Symbol">:</a> <a id="180" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="183" class="Symbol">)</a> <a id="185" class="Symbol">:</a> <a id="187" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="191" class="Keyword">where</a>
+  <a id="199" class="Keyword">constructor</a> <a id="_,_"></a><a id="211" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">_,_</a>
+  <a id="217" class="Keyword">field</a>
+    <a id="_×_.fst"></a><a id="227" href="Haskell.Prim.Tuple.html#227" class="Field">fst</a> <a id="231" class="Symbol">:</a> <a id="233" href="Haskell.Prim.Tuple.html#174" class="Bound">a</a>
+    <a id="_×_.snd"></a><a id="239" href="Haskell.Prim.Tuple.html#239" class="Field">snd</a> <a id="243" class="Symbol">:</a> <a id="245" href="Haskell.Prim.Tuple.html#176" class="Bound">b</a>
+<a id="247" class="Keyword">open</a> <a id="252" href="Haskell.Prim.Tuple.html#169" class="Module Operator">_×_</a> <a id="256" class="Keyword">public</a>
+
+<a id="264" class="Keyword">data</a> <a id="_×_×_"></a><a id="269" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">_×_×_</a> <a id="275" class="Symbol">(</a><a id="276" href="Haskell.Prim.Tuple.html#276" class="Bound">a</a> <a id="278" href="Haskell.Prim.Tuple.html#278" class="Bound">b</a> <a id="280" href="Haskell.Prim.Tuple.html#280" class="Bound">c</a> <a id="282" class="Symbol">:</a> <a id="284" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="287" class="Symbol">)</a> <a id="289" class="Symbol">:</a> <a id="291" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="295" class="Keyword">where</a>
+  <a id="_×_×_._,_,_"></a><a id="303" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">_,_,_</a> <a id="309" class="Symbol">:</a> <a id="311" href="Haskell.Prim.Tuple.html#276" class="Bound">a</a> <a id="313" class="Symbol">→</a> <a id="315" href="Haskell.Prim.Tuple.html#278" class="Bound">b</a> <a id="317" class="Symbol">→</a> <a id="319" href="Haskell.Prim.Tuple.html#280" class="Bound">c</a> <a id="321" class="Symbol">→</a> <a id="323" href="Haskell.Prim.Tuple.html#276" class="Bound">a</a> <a id="325" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="327" href="Haskell.Prim.Tuple.html#278" class="Bound">b</a> <a id="329" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="331" href="Haskell.Prim.Tuple.html#280" class="Bound">c</a>
+
+<a id="uncurry"></a><a id="334" href="Haskell.Prim.Tuple.html#334" class="Function">uncurry</a> <a id="342" class="Symbol">:</a> <a id="344" class="Symbol">(</a><a id="345" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="347" class="Symbol">→</a> <a id="349" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="351" class="Symbol">→</a> <a id="353" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="354" class="Symbol">)</a> <a id="356" class="Symbol">→</a> <a id="358" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="360" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="362" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="364" class="Symbol">→</a> <a id="366" href="Haskell.Prim.html#1195" class="Generalizable">c</a>
+<a id="368" href="Haskell.Prim.Tuple.html#334" class="Function">uncurry</a> <a id="376" href="Haskell.Prim.Tuple.html#376" class="Bound">f</a> <a id="378" class="Symbol">(</a><a id="379" href="Haskell.Prim.Tuple.html#379" class="Bound">x</a> <a id="381" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="383" href="Haskell.Prim.Tuple.html#383" class="Bound">y</a><a id="384" class="Symbol">)</a> <a id="386" class="Symbol">=</a> <a id="388" href="Haskell.Prim.Tuple.html#376" class="Bound">f</a> <a id="390" href="Haskell.Prim.Tuple.html#379" class="Bound">x</a> <a id="392" href="Haskell.Prim.Tuple.html#383" class="Bound">y</a>
+
+<a id="curry"></a><a id="395" href="Haskell.Prim.Tuple.html#395" class="Function">curry</a> <a id="401" class="Symbol">:</a> <a id="403" class="Symbol">(</a><a id="404" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="406" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="408" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="410" class="Symbol">→</a> <a id="412" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="413" class="Symbol">)</a> <a id="415" class="Symbol">→</a> <a id="417" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="419" class="Symbol">→</a> <a id="421" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="423" class="Symbol">→</a> <a id="425" href="Haskell.Prim.html#1195" class="Generalizable">c</a>
+<a id="427" href="Haskell.Prim.Tuple.html#395" class="Function">curry</a> <a id="433" href="Haskell.Prim.Tuple.html#433" class="Bound">f</a> <a id="435" href="Haskell.Prim.Tuple.html#435" class="Bound">x</a> <a id="437" href="Haskell.Prim.Tuple.html#437" class="Bound">y</a> <a id="439" class="Symbol">=</a> <a id="441" href="Haskell.Prim.Tuple.html#433" class="Bound">f</a> <a id="443" class="Symbol">(</a><a id="444" href="Haskell.Prim.Tuple.html#435" class="Bound">x</a> <a id="446" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="448" href="Haskell.Prim.Tuple.html#437" class="Bound">y</a><a id="449" class="Symbol">)</a>
+
+<a id="first"></a><a id="452" href="Haskell.Prim.Tuple.html#452" class="Function">first</a> <a id="458" class="Symbol">:</a> <a id="460" class="Symbol">(</a><a id="461" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="463" class="Symbol">→</a> <a id="465" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="466" class="Symbol">)</a> <a id="468" class="Symbol">→</a> <a id="470" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="472" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="474" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="476" class="Symbol">→</a> <a id="478" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="480" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="482" href="Haskell.Prim.html#1195" class="Generalizable">c</a>
+<a id="484" href="Haskell.Prim.Tuple.html#452" class="Function">first</a> <a id="490" href="Haskell.Prim.Tuple.html#490" class="Bound">f</a> <a id="492" class="Symbol">(</a><a id="493" href="Haskell.Prim.Tuple.html#493" class="Bound">x</a> <a id="495" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="497" href="Haskell.Prim.Tuple.html#497" class="Bound">y</a><a id="498" class="Symbol">)</a> <a id="500" class="Symbol">=</a> <a id="502" href="Haskell.Prim.Tuple.html#490" class="Bound">f</a> <a id="504" href="Haskell.Prim.Tuple.html#493" class="Bound">x</a> <a id="506" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="508" href="Haskell.Prim.Tuple.html#497" class="Bound">y</a>
+
+<a id="second"></a><a id="511" href="Haskell.Prim.Tuple.html#511" class="Function">second</a> <a id="518" class="Symbol">:</a> <a id="520" class="Symbol">(</a><a id="521" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="523" class="Symbol">→</a> <a id="525" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="526" class="Symbol">)</a> <a id="528" class="Symbol">→</a> <a id="530" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="532" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="534" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="536" class="Symbol">→</a> <a id="538" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="540" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="542" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="544" href="Haskell.Prim.Tuple.html#511" class="Function">second</a> <a id="551" href="Haskell.Prim.Tuple.html#551" class="Bound">f</a> <a id="553" class="Symbol">(</a><a id="554" href="Haskell.Prim.Tuple.html#554" class="Bound">x</a> <a id="556" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="558" href="Haskell.Prim.Tuple.html#558" class="Bound">y</a><a id="559" class="Symbol">)</a> <a id="561" class="Symbol">=</a> <a id="563" href="Haskell.Prim.Tuple.html#554" class="Bound">x</a> <a id="565" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="567" href="Haskell.Prim.Tuple.html#551" class="Bound">f</a> <a id="569" href="Haskell.Prim.Tuple.html#558" class="Bound">y</a>
+
+<a id="_***_"></a><a id="572" href="Haskell.Prim.Tuple.html#572" class="Function Operator">_***_</a> <a id="578" class="Symbol">:</a> <a id="580" class="Symbol">(</a><a id="581" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="583" class="Symbol">→</a> <a id="585" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="586" class="Symbol">)</a> <a id="588" class="Symbol">→</a> <a id="590" class="Symbol">(</a><a id="591" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="593" class="Symbol">→</a> <a id="595" href="Haskell.Prim.html#1197" class="Generalizable">d</a><a id="596" class="Symbol">)</a> <a id="598" class="Symbol">→</a> <a id="600" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="602" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="604" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="606" class="Symbol">→</a> <a id="608" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="610" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="612" href="Haskell.Prim.html#1197" class="Generalizable">d</a>
+<a id="614" class="Symbol">(</a><a id="615" href="Haskell.Prim.Tuple.html#615" class="Bound">f</a> <a id="617" href="Haskell.Prim.Tuple.html#572" class="Function Operator">***</a> <a id="621" href="Haskell.Prim.Tuple.html#621" class="Bound">g</a><a id="622" class="Symbol">)</a> <a id="624" class="Symbol">(</a><a id="625" href="Haskell.Prim.Tuple.html#625" class="Bound">x</a> <a id="627" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="629" href="Haskell.Prim.Tuple.html#629" class="Bound">y</a><a id="630" class="Symbol">)</a> <a id="632" class="Symbol">=</a> <a id="634" href="Haskell.Prim.Tuple.html#615" class="Bound">f</a> <a id="636" href="Haskell.Prim.Tuple.html#625" class="Bound">x</a> <a id="638" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="640" href="Haskell.Prim.Tuple.html#621" class="Bound">g</a> <a id="642" href="Haskell.Prim.Tuple.html#629" class="Bound">y</a>
+
+<a id="fst₃"></a><a id="645" href="Haskell.Prim.Tuple.html#645" class="Function">fst₃</a> <a id="650" class="Symbol">:</a> <a id="652" class="Symbol">(</a><a id="653" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="655" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="657" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="659" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="661" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="662" class="Symbol">)</a> <a id="664" class="Symbol">→</a> <a id="666" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="668" href="Haskell.Prim.Tuple.html#645" class="Function">fst₃</a> <a id="673" class="Symbol">(</a><a id="674" href="Haskell.Prim.Tuple.html#674" class="Bound">x</a> <a id="676" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="678" class="Symbol">_</a> <a id="680" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="682" class="Symbol">_)</a> <a id="685" class="Symbol">=</a> <a id="687" href="Haskell.Prim.Tuple.html#674" class="Bound">x</a> 
+
+<a id="snd₃"></a><a id="691" href="Haskell.Prim.Tuple.html#691" class="Function">snd₃</a> <a id="696" class="Symbol">:</a> <a id="698" class="Symbol">(</a><a id="699" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="701" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="703" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="705" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="707" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="708" class="Symbol">)</a> <a id="710" class="Symbol">→</a> <a id="712" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="714" href="Haskell.Prim.Tuple.html#691" class="Function">snd₃</a> <a id="719" class="Symbol">(_</a> <a id="722" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="724" href="Haskell.Prim.Tuple.html#724" class="Bound">y</a> <a id="726" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="728" class="Symbol">_)</a> <a id="731" class="Symbol">=</a> <a id="733" href="Haskell.Prim.Tuple.html#724" class="Bound">y</a>
+
+<a id="thd₃"></a><a id="736" href="Haskell.Prim.Tuple.html#736" class="Function">thd₃</a> <a id="741" class="Symbol">:</a> <a id="743" class="Symbol">(</a><a id="744" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="746" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="748" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="750" href="Haskell.Prim.Tuple.html#269" class="Datatype Operator">×</a> <a id="752" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="753" class="Symbol">)</a> <a id="755" class="Symbol">→</a> <a id="757" href="Haskell.Prim.html#1195" class="Generalizable">c</a>
+<a id="759" href="Haskell.Prim.Tuple.html#736" class="Function">thd₃</a> <a id="764" class="Symbol">(_</a> <a id="767" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="769" class="Symbol">_</a> <a id="771" href="Haskell.Prim.Tuple.html#303" class="InductiveConstructor Operator">,</a> <a id="773" href="Haskell.Prim.Tuple.html#773" class="Bound">z</a><a id="774" class="Symbol">)</a> <a id="776" class="Symbol">=</a> <a id="778" href="Haskell.Prim.Tuple.html#773" class="Bound">z</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.Word.html b/lib/Haskell.Prim.Word.html
new file mode 100644
index 00000000..314b5fec
--- /dev/null
+++ b/lib/Haskell.Prim.Word.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim.Word</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda">
+<a id="2" class="Keyword">module</a> <a id="9" href="Haskell.Prim.Word.html" class="Module">Haskell.Prim.Word</a> <a id="27" class="Keyword">where</a>
+
+<a id="34" class="Keyword">open</a> <a id="39" class="Keyword">import</a> <a id="46" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="59" class="Keyword">open</a> <a id="64" class="Keyword">import</a> <a id="71" href="Haskell.Prim.Integer.html" class="Module">Haskell.Prim.Integer</a>
+
+<a id="93" class="Keyword">import</a> <a id="100" href="Agda.Builtin.Word.html" class="Module">Agda.Builtin.Word</a> <a id="118" class="Keyword">renaming</a> <a id="127" class="Symbol">(</a><a id="128" href="Agda.Builtin.Word.html#208" class="Postulate">Word64</a> <a id="135" class="Symbol">to</a> <a id="138" class="Postulate">Word</a><a id="142" class="Symbol">)</a>
+<a id="144" class="Keyword">open</a> <a id="149" href="Agda.Builtin.Word.html" class="Module">Agda.Builtin.Word</a> <a id="167" class="Keyword">public</a> <a id="174" class="Keyword">using</a> <a id="180" class="Symbol">(</a><a id="181" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a><a id="185" class="Symbol">)</a>
+
+
+<a id="189" class="Comment">--------------------------------------------------</a>
+<a id="240" class="Comment">-- Literals</a>
+
+<a id="253" class="Keyword">private</a>
+  <a id="2⁶⁴"></a><a id="263" href="Haskell.Prim.Word.html#263" class="Function">2⁶⁴</a> <a id="267" class="Symbol">:</a> <a id="269" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="275" href="Haskell.Prim.Word.html#263" class="Function">2⁶⁴</a> <a id="279" class="Symbol">=</a> <a id="281" class="Number">18446744073709551616</a>
+
+<a id="303" class="Keyword">instance</a>
+  <a id="iNumberWord"></a><a id="314" href="Haskell.Prim.Word.html#314" class="Function">iNumberWord</a> <a id="326" class="Symbol">:</a> <a id="328" href="Agda.Builtin.FromNat.html#196" class="Record">Number</a> <a id="335" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a>
+  <a id="342" href="Haskell.Prim.Word.html#314" class="Function">iNumberWord</a> <a id="354" class="Symbol">.</a><a id="355" href="Agda.Builtin.FromNat.html#252" class="Field">Number.Constraint</a> <a id="373" href="Haskell.Prim.Word.html#373" class="Bound">n</a> <a id="375" class="Symbol">=</a> <a id="377" href="Haskell.Prim.html#2981" class="Datatype">IsTrue</a> <a id="384" class="Symbol">(</a><a id="385" href="Agda.Builtin.Nat.html#757" class="Primitive">ltNat</a> <a id="391" href="Haskell.Prim.Word.html#373" class="Bound">n</a> <a id="393" href="Haskell.Prim.Word.html#263" class="Function">2⁶⁴</a><a id="396" class="Symbol">)</a>
+  <a id="400" href="Haskell.Prim.Word.html#314" class="Function">iNumberWord</a> <a id="412" class="Symbol">.</a><a id="413" href="Agda.Builtin.FromNat.html#281" class="Field">fromNat</a> <a id="421" href="Haskell.Prim.Word.html#421" class="Bound">n</a> <a id="423" class="Symbol">=</a> <a id="425" href="Agda.Builtin.Word.html#299" class="Primitive">n2w</a> <a id="429" href="Haskell.Prim.Word.html#421" class="Bound">n</a>
+
+
+<a id="433" class="Comment">--------------------------------------------------</a>
+<a id="484" class="Comment">-- Arithmetic</a>
+
+<a id="negateWord"></a><a id="499" href="Haskell.Prim.Word.html#499" class="Function">negateWord</a> <a id="510" class="Symbol">:</a> <a id="512" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a> <a id="517" class="Symbol">→</a> <a id="519" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a>
+<a id="524" href="Haskell.Prim.Word.html#499" class="Function">negateWord</a> <a id="535" href="Haskell.Prim.Word.html#535" class="Bound">a</a> <a id="537" class="Symbol">=</a> <a id="539" href="Agda.Builtin.Word.html#299" class="Primitive">n2w</a> <a id="543" class="Symbol">(</a><a id="544" href="Agda.Builtin.Nat.html#426" class="Primitive">monusNat</a> <a id="553" href="Haskell.Prim.Word.html#263" class="Function">2⁶⁴</a> <a id="557" class="Symbol">(</a><a id="558" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="562" href="Haskell.Prim.Word.html#535" class="Bound">a</a><a id="563" class="Symbol">))</a>
+
+<a id="addWord"></a><a id="567" href="Haskell.Prim.Word.html#567" class="Function">addWord</a> <a id="575" class="Symbol">:</a> <a id="577" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a> <a id="582" class="Symbol">→</a> <a id="584" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a> <a id="589" class="Symbol">→</a> <a id="591" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a>
+<a id="596" href="Haskell.Prim.Word.html#567" class="Function">addWord</a> <a id="604" href="Haskell.Prim.Word.html#604" class="Bound">a</a> <a id="606" href="Haskell.Prim.Word.html#606" class="Bound">b</a> <a id="608" class="Symbol">=</a> <a id="610" href="Agda.Builtin.Word.html#299" class="Primitive">n2w</a> <a id="614" class="Symbol">(</a><a id="615" href="Agda.Builtin.Nat.html#336" class="Primitive">addNat</a> <a id="622" class="Symbol">(</a><a id="623" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="627" href="Haskell.Prim.Word.html#604" class="Bound">a</a><a id="628" class="Symbol">)</a> <a id="630" class="Symbol">(</a><a id="631" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="635" href="Haskell.Prim.Word.html#606" class="Bound">b</a><a id="636" class="Symbol">))</a>
+
+<a id="subWord"></a><a id="640" href="Haskell.Prim.Word.html#640" class="Function">subWord</a> <a id="648" class="Symbol">:</a> <a id="650" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a> <a id="655" class="Symbol">→</a> <a id="657" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a> <a id="662" class="Symbol">→</a> <a id="664" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a>
+<a id="669" href="Haskell.Prim.Word.html#640" class="Function">subWord</a> <a id="677" href="Haskell.Prim.Word.html#677" class="Bound">a</a> <a id="679" href="Haskell.Prim.Word.html#679" class="Bound">b</a> <a id="681" class="Symbol">=</a> <a id="683" href="Haskell.Prim.Word.html#567" class="Function">addWord</a> <a id="691" href="Haskell.Prim.Word.html#677" class="Bound">a</a> <a id="693" class="Symbol">(</a><a id="694" href="Haskell.Prim.Word.html#499" class="Function">negateWord</a> <a id="705" href="Haskell.Prim.Word.html#679" class="Bound">b</a><a id="706" class="Symbol">)</a>
+
+<a id="mulWord"></a><a id="709" href="Haskell.Prim.Word.html#709" class="Function">mulWord</a> <a id="717" class="Symbol">:</a> <a id="719" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a> <a id="724" class="Symbol">→</a> <a id="726" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a> <a id="731" class="Symbol">→</a> <a id="733" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a>
+<a id="738" href="Haskell.Prim.Word.html#709" class="Function">mulWord</a> <a id="746" href="Haskell.Prim.Word.html#746" class="Bound">a</a> <a id="748" href="Haskell.Prim.Word.html#748" class="Bound">b</a> <a id="750" class="Symbol">=</a> <a id="752" href="Agda.Builtin.Word.html#299" class="Primitive">n2w</a> <a id="756" class="Symbol">(</a><a id="757" href="Agda.Builtin.Nat.html#539" class="Primitive">mulNat</a> <a id="764" class="Symbol">(</a><a id="765" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="769" href="Haskell.Prim.Word.html#746" class="Bound">a</a><a id="770" class="Symbol">)</a> <a id="772" class="Symbol">(</a><a id="773" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="777" href="Haskell.Prim.Word.html#748" class="Bound">b</a><a id="778" class="Symbol">))</a>
+
+<a id="eqWord"></a><a id="782" href="Haskell.Prim.Word.html#782" class="Function">eqWord</a> <a id="789" class="Symbol">:</a> <a id="791" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a> <a id="796" class="Symbol">→</a> <a id="798" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a> <a id="803" class="Symbol">→</a> <a id="805" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="810" href="Haskell.Prim.Word.html#782" class="Function">eqWord</a> <a id="817" href="Haskell.Prim.Word.html#817" class="Bound">a</a> <a id="819" href="Haskell.Prim.Word.html#819" class="Bound">b</a> <a id="821" class="Symbol">=</a> <a id="823" href="Agda.Builtin.Nat.html#631" class="Primitive">eqNat</a> <a id="829" class="Symbol">(</a><a id="830" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="834" href="Haskell.Prim.Word.html#817" class="Bound">a</a><a id="835" class="Symbol">)</a> <a id="837" class="Symbol">(</a><a id="838" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="842" href="Haskell.Prim.Word.html#819" class="Bound">b</a><a id="843" class="Symbol">)</a>
+
+<a id="ltWord"></a><a id="846" href="Haskell.Prim.Word.html#846" class="Function">ltWord</a> <a id="853" class="Symbol">:</a> <a id="855" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a> <a id="860" class="Symbol">→</a> <a id="862" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a> <a id="867" class="Symbol">→</a> <a id="869" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a>
+<a id="874" href="Haskell.Prim.Word.html#846" class="Function">ltWord</a> <a id="881" href="Haskell.Prim.Word.html#881" class="Bound">a</a> <a id="883" href="Haskell.Prim.Word.html#883" class="Bound">b</a> <a id="885" class="Symbol">=</a> <a id="887" href="Agda.Builtin.Nat.html#757" class="Primitive">ltNat</a> <a id="893" class="Symbol">(</a><a id="894" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="898" href="Haskell.Prim.Word.html#881" class="Bound">a</a><a id="899" class="Symbol">)</a> <a id="901" class="Symbol">(</a><a id="902" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="906" href="Haskell.Prim.Word.html#883" class="Bound">b</a><a id="907" class="Symbol">)</a>
+
+<a id="showWord"></a><a id="910" href="Haskell.Prim.Word.html#910" class="Function">showWord</a> <a id="919" class="Symbol">:</a> <a id="921" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a> <a id="926" class="Symbol">→</a> <a id="928" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="933" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a>
+<a id="938" href="Haskell.Prim.Word.html#910" class="Function">showWord</a> <a id="947" href="Haskell.Prim.Word.html#947" class="Bound">a</a> <a id="949" class="Symbol">=</a> <a id="951" href="Agda.Builtin.String.html#453" class="Primitive">primStringToList</a> <a id="968" class="Symbol">(</a><a id="969" href="Agda.Builtin.String.html#707" class="Primitive">primShowNat</a> <a id="981" class="Symbol">(</a><a id="982" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="986" href="Haskell.Prim.Word.html#947" class="Bound">a</a><a id="987" class="Symbol">))</a>
+
+<a id="integerToWord"></a><a id="991" href="Haskell.Prim.Word.html#991" class="Function">integerToWord</a> <a id="1005" class="Symbol">:</a> <a id="1007" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a> <a id="1015" class="Symbol">→</a> <a id="1017" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a>
+<a id="1022" href="Haskell.Prim.Word.html#991" class="Function">integerToWord</a> <a id="1036" class="Symbol">(</a><a id="1037" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="1041" href="Haskell.Prim.Word.html#1041" class="Bound">n</a><a id="1042" class="Symbol">)</a>    <a id="1047" class="Symbol">=</a> <a id="1049" href="Agda.Builtin.Word.html#299" class="Primitive">n2w</a> <a id="1053" href="Haskell.Prim.Word.html#1041" class="Bound">n</a>
+<a id="1055" href="Haskell.Prim.Word.html#991" class="Function">integerToWord</a> <a id="1069" class="Symbol">(</a><a id="1070" href="Agda.Builtin.Int.html#290" class="InductiveConstructor">negsuc</a> <a id="1077" href="Haskell.Prim.Word.html#1077" class="Bound">n</a><a id="1078" class="Symbol">)</a> <a id="1080" class="Symbol">=</a> <a id="1082" href="Haskell.Prim.Word.html#499" class="Function">negateWord</a> <a id="1093" class="Symbol">(</a><a id="1094" href="Agda.Builtin.Word.html#299" class="Primitive">n2w</a> <a id="1098" class="Symbol">(</a><a id="1099" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="1103" href="Haskell.Prim.Word.html#1077" class="Bound">n</a><a id="1104" class="Symbol">))</a>
+
+<a id="wordToInteger"></a><a id="1108" href="Haskell.Prim.Word.html#1108" class="Function">wordToInteger</a> <a id="1122" class="Symbol">:</a> <a id="1124" href="Haskell.Prim.Word.html#138" class="Postulate">Word</a> <a id="1129" class="Symbol">→</a> <a id="1131" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a>
+<a id="1139" href="Haskell.Prim.Word.html#1108" class="Function">wordToInteger</a> <a id="1153" href="Haskell.Prim.Word.html#1153" class="Bound">n</a> <a id="1155" class="Symbol">=</a> <a id="1157" href="Agda.Builtin.Int.html#263" class="InductiveConstructor">pos</a> <a id="1161" class="Symbol">(</a><a id="1162" href="Agda.Builtin.Word.html#264" class="Primitive">w2n</a> <a id="1166" href="Haskell.Prim.Word.html#1153" class="Bound">n</a><a id="1167" class="Symbol">)</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/Haskell.Prim.html b/lib/Haskell.Prim.html
new file mode 100644
index 00000000..d0d0b15a
--- /dev/null
+++ b/lib/Haskell.Prim.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prim</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--no-auto-inline</a> <a id="30" class="Symbol">#-}</a>
+
+<a id="35" class="Comment">-- Basic things needed by other primitive modules.</a>
+<a id="86" class="Comment">-- Note that this module exports types and functions that should not</a>
+<a id="155" class="Comment">-- be used directly in Haskell definitions, so you probably want to</a>
+<a id="223" class="Comment">-- import Haskell.Prelude instead.</a>
+
+<a id="259" class="Keyword">module</a> <a id="266" href="Haskell.Prim.html" class="Module">Haskell.Prim</a> <a id="279" class="Keyword">where</a>
+
+<a id="286" class="Keyword">open</a> <a id="291" class="Keyword">import</a> <a id="298" href="Agda.Primitive.html" class="Module">Agda.Primitive</a>          <a id="322" class="Keyword">public</a>
+<a id="329" class="Keyword">open</a> <a id="334" class="Keyword">import</a> <a id="341" href="Agda.Builtin.Bool.html" class="Module">Agda.Builtin.Bool</a>       <a id="365" class="Keyword">public</a> <a id="372" class="Keyword">renaming</a> <a id="381" class="Symbol">(</a><a id="382" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">true</a> <a id="387" class="Symbol">to</a> <a id="390" class="InductiveConstructor">True</a><a id="394" class="Symbol">;</a> <a id="396" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">false</a> <a id="402" class="Symbol">to</a> <a id="405" class="InductiveConstructor">False</a><a id="410" class="Symbol">)</a>
+<a id="412" class="Keyword">open</a> <a id="417" class="Keyword">import</a> <a id="424" href="Agda.Builtin.Int.html" class="Module">Agda.Builtin.Int</a>        <a id="448" class="Keyword">public</a> <a id="455" class="Keyword">renaming</a> <a id="464" class="Symbol">(</a><a id="465" href="Agda.Builtin.Int.html#245" class="Datatype">Int</a> <a id="469" class="Symbol">to</a> <a id="472" class="Datatype">Integer</a><a id="479" class="Symbol">)</a>
+<a id="481" class="Keyword">open</a> <a id="486" class="Keyword">import</a> <a id="493" href="Agda.Builtin.Nat.html" class="Module">Agda.Builtin.Nat</a>        <a id="517" class="Keyword">public</a> <a id="524" class="Keyword">renaming</a> <a id="533" class="Symbol">(</a><a id="534" href="Agda.Builtin.Nat.html#631" class="Primitive Operator">_==_</a> <a id="539" class="Symbol">to</a> <a id="542" class="Primitive Operator">eqNat</a><a id="547" class="Symbol">;</a> <a id="549" href="Agda.Builtin.Nat.html#757" class="Primitive Operator">_&lt;_</a> <a id="553" class="Symbol">to</a> <a id="556" class="Primitive Operator">ltNat</a><a id="561" class="Symbol">;</a> <a id="563" href="Agda.Builtin.Nat.html#336" class="Primitive Operator">_+_</a> <a id="567" class="Symbol">to</a> <a id="570" class="Primitive Operator">addNat</a><a id="576" class="Symbol">;</a> <a id="578" href="Agda.Builtin.Nat.html#426" class="Primitive Operator">_-_</a> <a id="582" class="Symbol">to</a> <a id="585" class="Primitive Operator">monusNat</a><a id="593" class="Symbol">;</a> <a id="595" href="Agda.Builtin.Nat.html#539" class="Primitive Operator">_*_</a> <a id="599" class="Symbol">to</a> <a id="602" class="Primitive Operator">mulNat</a><a id="608" class="Symbol">)</a>
+<a id="610" class="Keyword">open</a> <a id="615" class="Keyword">import</a> <a id="622" href="Agda.Builtin.Char.html" class="Module">Agda.Builtin.Char</a>       <a id="646" class="Keyword">public</a> <a id="653" class="Keyword">renaming</a> <a id="662" class="Symbol">(</a><a id="663" href="Agda.Builtin.Char.html#448" class="Primitive">primCharToNat</a> <a id="677" class="Symbol">to</a> <a id="680" class="Primitive">c2n</a><a id="683" class="Symbol">)</a>
+<a id="685" class="Keyword">open</a> <a id="690" class="Keyword">import</a> <a id="697" href="Agda.Builtin.Unit.html" class="Module">Agda.Builtin.Unit</a>       <a id="721" class="Keyword">public</a>
+<a id="728" class="Keyword">open</a> <a id="733" class="Keyword">import</a> <a id="740" href="Agda.Builtin.Equality.html" class="Module">Agda.Builtin.Equality</a>   <a id="764" class="Keyword">public</a>
+<a id="771" class="Keyword">open</a> <a id="776" class="Keyword">import</a> <a id="783" href="Agda.Builtin.FromString.html" class="Module">Agda.Builtin.FromString</a> <a id="807" class="Keyword">public</a>
+<a id="814" class="Keyword">open</a> <a id="819" class="Keyword">import</a> <a id="826" href="Agda.Builtin.FromNat.html" class="Module">Agda.Builtin.FromNat</a>    <a id="850" class="Keyword">public</a>
+<a id="857" class="Keyword">open</a> <a id="862" class="Keyword">import</a> <a id="869" href="Agda.Builtin.FromNeg.html" class="Module">Agda.Builtin.FromNeg</a>    <a id="893" class="Keyword">public</a>
+<a id="900" class="Keyword">open</a> <a id="905" class="Keyword">import</a> <a id="912" href="Agda.Builtin.String.html" class="Module">Agda.Builtin.String</a>     <a id="936" class="Keyword">public</a> <a id="943" class="Keyword">renaming</a> <a id="952" class="Symbol">(</a><a id="953" href="Agda.Builtin.String.html#335" class="Postulate">String</a> <a id="960" class="Symbol">to</a> <a id="963" class="Postulate">AgdaString</a><a id="973" class="Symbol">)</a>
+<a id="975" class="Keyword">open</a> <a id="980" class="Keyword">import</a> <a id="987" href="Agda.Builtin.Word.html" class="Module">Agda.Builtin.Word</a>       <a id="1011" class="Keyword">public</a> <a id="1018" class="Keyword">renaming</a> <a id="1027" class="Symbol">(</a><a id="1028" href="Agda.Builtin.Word.html#264" class="Primitive">primWord64ToNat</a> <a id="1044" class="Symbol">to</a> <a id="1047" class="Primitive">w2n</a><a id="1050" class="Symbol">;</a> <a id="1052" href="Agda.Builtin.Word.html#299" class="Primitive">primWord64FromNat</a> <a id="1070" class="Symbol">to</a> <a id="1073" class="Primitive">n2w</a><a id="1076" class="Symbol">)</a>
+<a id="1078" class="Keyword">open</a> <a id="1083" class="Keyword">import</a> <a id="1090" href="Agda.Builtin.Strict.html" class="Module">Agda.Builtin.Strict</a>     <a id="1114" class="Keyword">public</a>
+<a id="1121" class="Keyword">open</a> <a id="1126" class="Keyword">import</a> <a id="1133" href="Agda.Builtin.List.html" class="Module">Agda.Builtin.List</a>       <a id="1157" class="Keyword">public</a>
+
+<a id="1165" class="Keyword">variable</a>
+  <a id="1176" class="Symbol">@</a><a id="1177" class="Symbol">0</a> <a id="1179" href="Haskell.Prim.html#1179" class="Generalizable">ℓ</a> <a id="1181" class="Symbol">:</a> <a id="1183" href="Agda.Primitive.html#742" class="Postulate">Level</a>
+  <a id="1191" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1193" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1195" href="Haskell.Prim.html#1195" class="Generalizable">c</a> <a id="1197" href="Haskell.Prim.html#1197" class="Generalizable">d</a> <a id="1199" href="Haskell.Prim.html#1199" class="Generalizable">e</a> <a id="1201" class="Symbol">:</a> <a id="1203" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+  <a id="1209" href="Haskell.Prim.html#1209" class="Generalizable">f</a> <a id="1211" href="Haskell.Prim.html#1211" class="Generalizable">m</a> <a id="1213" href="Haskell.Prim.html#1213" class="Generalizable">s</a> <a id="1215" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="1217" class="Symbol">:</a> <a id="1219" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1223" class="Symbol">→</a> <a id="1225" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+
+
+<a id="1231" class="Comment">--------------------------------------------------</a>
+<a id="1282" class="Comment">-- Functions</a>
+
+<a id="id"></a><a id="1296" href="Haskell.Prim.html#1296" class="Function">id</a> <a id="1299" class="Symbol">:</a> <a id="1301" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1303" class="Symbol">→</a> <a id="1305" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="1307" href="Haskell.Prim.html#1296" class="Function">id</a> <a id="1310" href="Haskell.Prim.html#1310" class="Bound">x</a> <a id="1312" class="Symbol">=</a> <a id="1314" href="Haskell.Prim.html#1310" class="Bound">x</a>
+
+<a id="1317" class="Keyword">infixr</a> <a id="1324" class="Number">9</a> <a id="1326" href="Haskell.Prim.html#1330" class="Function Operator">_∘_</a>
+<a id="_∘_"></a><a id="1330" href="Haskell.Prim.html#1330" class="Function Operator">_∘_</a> <a id="1334" class="Symbol">:</a> <a id="1336" class="Symbol">(</a><a id="1337" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1339" class="Symbol">→</a> <a id="1341" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="1342" class="Symbol">)</a> <a id="1344" class="Symbol">→</a> <a id="1346" class="Symbol">(</a><a id="1347" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1349" class="Symbol">→</a> <a id="1351" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1352" class="Symbol">)</a> <a id="1354" class="Symbol">→</a> <a id="1356" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1358" class="Symbol">→</a> <a id="1360" href="Haskell.Prim.html#1195" class="Generalizable">c</a>
+<a id="1362" class="Symbol">(</a><a id="1363" href="Haskell.Prim.html#1363" class="Bound">f</a> <a id="1365" href="Haskell.Prim.html#1330" class="Function Operator">∘</a> <a id="1367" href="Haskell.Prim.html#1367" class="Bound">g</a><a id="1368" class="Symbol">)</a> <a id="1370" href="Haskell.Prim.html#1370" class="Bound">x</a> <a id="1372" class="Symbol">=</a> <a id="1374" href="Haskell.Prim.html#1363" class="Bound">f</a> <a id="1376" class="Symbol">(</a><a id="1377" href="Haskell.Prim.html#1367" class="Bound">g</a> <a id="1379" href="Haskell.Prim.html#1370" class="Bound">x</a><a id="1380" class="Symbol">)</a>
+
+<a id="flip"></a><a id="1383" href="Haskell.Prim.html#1383" class="Function">flip</a> <a id="1388" class="Symbol">:</a> <a id="1390" class="Symbol">(</a><a id="1391" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1393" class="Symbol">→</a> <a id="1395" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1397" class="Symbol">→</a> <a id="1399" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="1400" class="Symbol">)</a> <a id="1402" class="Symbol">→</a> <a id="1404" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1406" class="Symbol">→</a> <a id="1408" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1410" class="Symbol">→</a> <a id="1412" href="Haskell.Prim.html#1195" class="Generalizable">c</a>
+<a id="1414" href="Haskell.Prim.html#1383" class="Function">flip</a> <a id="1419" href="Haskell.Prim.html#1419" class="Bound">f</a> <a id="1421" href="Haskell.Prim.html#1421" class="Bound">x</a> <a id="1423" href="Haskell.Prim.html#1423" class="Bound">y</a> <a id="1425" class="Symbol">=</a> <a id="1427" href="Haskell.Prim.html#1419" class="Bound">f</a> <a id="1429" href="Haskell.Prim.html#1423" class="Bound">y</a> <a id="1431" href="Haskell.Prim.html#1421" class="Bound">x</a>
+
+<a id="const"></a><a id="1434" href="Haskell.Prim.html#1434" class="Function">const</a> <a id="1440" class="Symbol">:</a> <a id="1442" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1444" class="Symbol">→</a> <a id="1446" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="1448" class="Symbol">→</a> <a id="1450" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="1452" href="Haskell.Prim.html#1434" class="Function">const</a> <a id="1458" href="Haskell.Prim.html#1458" class="Bound">x</a> <a id="1460" class="Symbol">_</a> <a id="1462" class="Symbol">=</a> <a id="1464" href="Haskell.Prim.html#1458" class="Bound">x</a>
+
+<a id="1467" class="Keyword">infixr</a> <a id="1474" class="Number">0</a> <a id="1476" href="Haskell.Prim.html#1480" class="Function Operator">_$_</a>
+<a id="_$_"></a><a id="1480" href="Haskell.Prim.html#1480" class="Function Operator">_$_</a> <a id="1484" class="Symbol">:</a> <a id="1486" class="Symbol">(</a><a id="1487" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1489" class="Symbol">→</a> <a id="1491" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1492" class="Symbol">)</a> <a id="1494" class="Symbol">→</a> <a id="1496" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="1498" class="Symbol">→</a> <a id="1500" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="1502" href="Haskell.Prim.html#1502" class="Bound">f</a> <a id="1504" href="Haskell.Prim.html#1480" class="Function Operator">$</a> <a id="1506" href="Haskell.Prim.html#1506" class="Bound">x</a> <a id="1508" class="Symbol">=</a> <a id="1510" href="Haskell.Prim.html#1502" class="Bound">f</a> <a id="1512" href="Haskell.Prim.html#1506" class="Bound">x</a>
+
+
+<a id="1516" class="Comment">--------------------------------------------------</a>
+<a id="1567" class="Comment">-- Language constructs</a>
+
+<a id="1591" class="Keyword">infix</a> <a id="1597" class="Number">-1</a> <a id="1600" href="Haskell.Prim.html#1609" class="Function Operator">case_of_</a>
+<a id="case_of_"></a><a id="1609" href="Haskell.Prim.html#1609" class="Function Operator">case_of_</a> <a id="1618" class="Symbol">:</a> <a id="1620" class="Symbol">(</a><a id="1621" href="Haskell.Prim.html#1621" class="Bound">a&#39;</a> <a id="1624" class="Symbol">:</a> <a id="1626" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="1627" class="Symbol">)</a> <a id="1629" class="Symbol">→</a> <a id="1631" class="Symbol">((</a><a id="1633" href="Haskell.Prim.html#1633" class="Bound">a&#39;&#39;</a> <a id="1637" class="Symbol">:</a> <a id="1639" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="1640" class="Symbol">)</a> <a id="1642" class="Symbol">→</a> <a id="1644" class="Symbol">@</a><a id="1645" class="Symbol">0</a> <a id="1647" class="Symbol">{{</a> <a id="1650" href="Haskell.Prim.html#1621" class="Bound">a&#39;</a> <a id="1653" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="1655" href="Haskell.Prim.html#1633" class="Bound">a&#39;&#39;</a> <a id="1659" class="Symbol">}}</a> <a id="1662" class="Symbol">→</a> <a id="1664" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="1665" class="Symbol">)</a> <a id="1667" class="Symbol">→</a> <a id="1669" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="1671" href="Haskell.Prim.html#1609" class="Function Operator">case</a> <a id="1676" href="Haskell.Prim.html#1676" class="Bound">x</a> <a id="1678" href="Haskell.Prim.html#1609" class="Function Operator">of</a> <a id="1681" href="Haskell.Prim.html#1681" class="Bound">f</a> <a id="1683" class="Symbol">=</a> <a id="1685" href="Haskell.Prim.html#1681" class="Bound">f</a> <a id="1687" href="Haskell.Prim.html#1676" class="Bound">x</a>
+
+<a id="1690" class="Keyword">infix</a> <a id="1696" class="Number">-2</a> <a id="1699" href="Haskell.Prim.html#1713" class="Function Operator">if_then_else_</a>
+<a id="if_then_else_"></a><a id="1713" href="Haskell.Prim.html#1713" class="Function Operator">if_then_else_</a> <a id="1727" class="Symbol">:</a> <a id="1729" class="Symbol">{@</a><a id="1731" class="Symbol">0</a> <a id="1733" href="Haskell.Prim.html#1733" class="Bound">a</a> <a id="1735" class="Symbol">:</a> <a id="1737" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1741" href="Haskell.Prim.html#1179" class="Generalizable">ℓ</a><a id="1742" class="Symbol">}</a> <a id="1744" class="Symbol">→</a> <a id="1746" class="Symbol">(</a><a id="1747" href="Haskell.Prim.html#1747" class="Bound">flg</a> <a id="1751" class="Symbol">:</a> <a id="1753" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="1757" class="Symbol">)</a> <a id="1759" class="Symbol">→</a> <a id="1761" class="Symbol">(@</a><a id="1763" class="Symbol">0</a> <a id="1765" class="Symbol">{{</a> <a id="1768" href="Haskell.Prim.html#1747" class="Bound">flg</a> <a id="1772" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="1774" href="Haskell.Prim.html#390" class="InductiveConstructor">True</a> <a id="1779" class="Symbol">}}</a> <a id="1782" class="Symbol">→</a> <a id="1784" href="Haskell.Prim.html#1733" class="Bound">a</a><a id="1785" class="Symbol">)</a> <a id="1787" class="Symbol">→</a> <a id="1789" class="Symbol">(@</a><a id="1791" class="Symbol">0</a> <a id="1793" class="Symbol">{{</a> <a id="1796" href="Haskell.Prim.html#1747" class="Bound">flg</a> <a id="1800" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="1802" href="Haskell.Prim.html#405" class="InductiveConstructor">False</a> <a id="1808" class="Symbol">}}</a> <a id="1811" class="Symbol">→</a> <a id="1813" href="Haskell.Prim.html#1733" class="Bound">a</a><a id="1814" class="Symbol">)</a> <a id="1816" class="Symbol">→</a> <a id="1818" href="Haskell.Prim.html#1733" class="Bound">a</a>
+<a id="1820" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="1823" href="Haskell.Prim.html#405" class="InductiveConstructor">False</a> <a id="1829" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="1834" href="Haskell.Prim.html#1834" class="Bound">x</a> <a id="1836" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="1841" href="Haskell.Prim.html#1841" class="Bound">y</a> <a id="1843" class="Symbol">=</a> <a id="1845" href="Haskell.Prim.html#1841" class="Bound">y</a>
+<a id="1847" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="1850" href="Haskell.Prim.html#390" class="InductiveConstructor">True</a>  <a id="1856" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="1861" href="Haskell.Prim.html#1861" class="Bound">x</a> <a id="1863" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="1868" href="Haskell.Prim.html#1868" class="Bound">y</a> <a id="1870" class="Symbol">=</a> <a id="1872" href="Haskell.Prim.html#1861" class="Bound">x</a>
+
+<a id="1875" class="Comment">-- for explicit type signatures (e. g. `4 :: Integer` is `the Int 4`)</a>
+<a id="the"></a><a id="1945" href="Haskell.Prim.html#1945" class="Function">the</a> <a id="1949" class="Symbol">:</a> <a id="1951" class="Symbol">(@</a><a id="1953" class="Symbol">0</a> <a id="1955" href="Haskell.Prim.html#1955" class="Bound">a</a> <a id="1957" class="Symbol">:</a> <a id="1959" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1963" href="Haskell.Prim.html#1179" class="Generalizable">ℓ</a><a id="1964" class="Symbol">)</a> <a id="1966" class="Symbol">-&gt;</a> <a id="1969" href="Haskell.Prim.html#1955" class="Bound">a</a> <a id="1971" class="Symbol">-&gt;</a> <a id="1974" href="Haskell.Prim.html#1955" class="Bound">a</a>
+<a id="1976" href="Haskell.Prim.html#1945" class="Function">the</a> <a id="1980" class="Symbol">_</a> <a id="1982" href="Haskell.Prim.html#1982" class="Bound">x</a> <a id="1984" class="Symbol">=</a> <a id="1986" href="Haskell.Prim.html#1982" class="Bound">x</a>
+
+<a id="1989" class="Comment">--------------------------------------------------</a>
+<a id="2040" class="Comment">-- Agda strings</a>
+
+<a id="2057" class="Keyword">instance</a>
+  <a id="iIsStringAgdaString"></a><a id="2068" href="Haskell.Prim.html#2068" class="Function">iIsStringAgdaString</a> <a id="2088" class="Symbol">:</a> <a id="2090" href="Agda.Builtin.FromString.html#202" class="Record">IsString</a> <a id="2099" href="Haskell.Prim.html#963" class="Postulate">AgdaString</a>
+  <a id="2112" href="Haskell.Prim.html#2068" class="Function">iIsStringAgdaString</a> <a id="2132" class="Symbol">.</a><a id="2133" href="Agda.Builtin.FromString.html#260" class="Field">IsString.Constraint</a> <a id="2153" class="Symbol">_</a> <a id="2155" class="Symbol">=</a> <a id="2157" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="2161" href="Haskell.Prim.html#2068" class="Function">iIsStringAgdaString</a> <a id="2181" class="Symbol">.</a><a id="2182" href="Agda.Builtin.FromString.html#292" class="Field">fromString</a> <a id="2193" href="Haskell.Prim.html#2193" class="Bound">s</a> <a id="2195" class="Symbol">=</a> <a id="2197" href="Haskell.Prim.html#2193" class="Bound">s</a>
+
+
+<a id="2201" class="Comment">--------------------------------------------------</a>
+<a id="2252" class="Comment">-- Numbers</a>
+
+<a id="2264" class="Keyword">instance</a>
+  <a id="iNumberNat"></a><a id="2275" href="Haskell.Prim.html#2275" class="Function">iNumberNat</a> <a id="2286" class="Symbol">:</a> <a id="2288" href="Agda.Builtin.FromNat.html#196" class="Record">Number</a> <a id="2295" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+  <a id="2301" href="Haskell.Prim.html#2275" class="Function">iNumberNat</a> <a id="2312" class="Symbol">.</a><a id="2313" href="Agda.Builtin.FromNat.html#252" class="Field">Number.Constraint</a> <a id="2331" class="Symbol">_</a> <a id="2333" class="Symbol">=</a> <a id="2335" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+  <a id="2339" href="Haskell.Prim.html#2275" class="Function">iNumberNat</a> <a id="2350" class="Symbol">.</a><a id="2351" href="Agda.Builtin.FromNat.html#281" class="Field">fromNat</a> <a id="2359" href="Haskell.Prim.html#2359" class="Bound">n</a> <a id="2361" class="Symbol">=</a> <a id="2363" href="Haskell.Prim.html#2359" class="Bound">n</a>
+
+
+<a id="2367" class="Comment">--------------------------------------------------</a>
+<a id="2418" class="Comment">-- Lists</a>
+
+<a id="lengthNat"></a><a id="2428" href="Haskell.Prim.html#2428" class="Function">lengthNat</a> <a id="2438" class="Symbol">:</a> <a id="2440" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2445" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="2447" class="Symbol">→</a> <a id="2449" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a>
+<a id="2453" href="Haskell.Prim.html#2428" class="Function">lengthNat</a> <a id="2463" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>       <a id="2472" class="Symbol">=</a> <a id="2474" class="Number">0</a>
+<a id="2476" href="Haskell.Prim.html#2428" class="Function">lengthNat</a> <a id="2486" class="Symbol">(_</a> <a id="2489" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2491" href="Haskell.Prim.html#2491" class="Bound">xs</a><a id="2493" class="Symbol">)</a> <a id="2495" class="Symbol">=</a> <a id="2497" href="Haskell.Prim.html#570" class="Primitive">addNat</a> <a id="2504" class="Number">1</a> <a id="2506" class="Symbol">(</a><a id="2507" href="Haskell.Prim.html#2428" class="Function">lengthNat</a> <a id="2517" href="Haskell.Prim.html#2491" class="Bound">xs</a><a id="2519" class="Symbol">)</a>
+
+
+<a id="2523" class="Comment">--------------------------------------------------</a>
+<a id="2574" class="Comment">-- Proof things</a>
+
+<a id="2591" class="Keyword">data</a> <a id="⊥"></a><a id="2596" href="Haskell.Prim.html#2596" class="Datatype">⊥</a> <a id="2598" class="Symbol">:</a> <a id="2600" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2604" class="Keyword">where</a>
+
+<a id="magic"></a><a id="2611" href="Haskell.Prim.html#2611" class="Function">magic</a> <a id="2617" class="Symbol">:</a> <a id="2619" class="Symbol">{</a><a id="2620" href="Haskell.Prim.html#2620" class="Bound">A</a> <a id="2622" class="Symbol">:</a> <a id="2624" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="2627" class="Symbol">}</a> <a id="2629" class="Symbol">→</a> <a id="2631" href="Haskell.Prim.html#2596" class="Datatype">⊥</a> <a id="2633" class="Symbol">→</a> <a id="2635" href="Haskell.Prim.html#2620" class="Bound">A</a>
+<a id="2637" href="Haskell.Prim.html#2611" class="Function">magic</a> <a id="2643" class="Symbol">()</a>
+
+<a id="2647" class="Comment">--principle of explosion</a>
+<a id="exFalso"></a><a id="2672" href="Haskell.Prim.html#2672" class="Function">exFalso</a> <a id="2680" class="Symbol">:</a> <a id="2682" class="Symbol">{</a><a id="2683" href="Haskell.Prim.html#2683" class="Bound">x</a> <a id="2685" class="Symbol">:</a> <a id="2687" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="2691" class="Symbol">}</a> <a id="2693" class="Symbol">→</a> <a id="2695" class="Symbol">(</a><a id="2696" href="Haskell.Prim.html#2683" class="Bound">x</a> <a id="2698" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="2700" href="Haskell.Prim.html#390" class="InductiveConstructor">True</a><a id="2704" class="Symbol">)</a> <a id="2706" class="Symbol">→</a> <a id="2708" class="Symbol">(</a><a id="2709" href="Haskell.Prim.html#2683" class="Bound">x</a> <a id="2711" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="2713" href="Haskell.Prim.html#405" class="InductiveConstructor">False</a><a id="2718" class="Symbol">)</a> <a id="2720" class="Symbol">→</a> <a id="2722" href="Haskell.Prim.html#2596" class="Datatype">⊥</a>
+<a id="2724" href="Haskell.Prim.html#2672" class="Function">exFalso</a> <a id="2732" class="Symbol">{</a><a id="2733" href="Haskell.Prim.html#405" class="InductiveConstructor">False</a><a id="2738" class="Symbol">}</a> <a id="2740" class="Symbol">()</a> <a id="2743" href="Haskell.Prim.html#2743" class="Bound">b</a> 
+<a id="2746" href="Haskell.Prim.html#2672" class="Function">exFalso</a> <a id="2754" class="Symbol">{</a><a id="2755" href="Haskell.Prim.html#390" class="InductiveConstructor">True</a><a id="2759" class="Symbol">}</a> <a id="2761" href="Haskell.Prim.html#2761" class="Bound">a</a> <a id="2763" class="Symbol">()</a>
+
+<a id="2767" class="Comment">-- Use to bundle up constraints</a>
+<a id="2799" class="Keyword">data</a> <a id="All"></a><a id="2804" href="Haskell.Prim.html#2804" class="Datatype">All</a> <a id="2808" class="Symbol">{</a><a id="2809" href="Haskell.Prim.html#2809" class="Bound">a</a> <a id="2811" href="Haskell.Prim.html#2811" class="Bound">b</a><a id="2812" class="Symbol">}</a> <a id="2814" class="Symbol">{</a><a id="2815" href="Haskell.Prim.html#2815" class="Bound">A</a> <a id="2817" class="Symbol">:</a> <a id="2819" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2823" href="Haskell.Prim.html#2809" class="Bound">a</a><a id="2824" class="Symbol">}</a> <a id="2826" class="Symbol">(</a><a id="2827" href="Haskell.Prim.html#2827" class="Bound">B</a> <a id="2829" class="Symbol">:</a> <a id="2831" href="Haskell.Prim.html#2815" class="Bound">A</a> <a id="2833" class="Symbol">→</a> <a id="2835" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2839" href="Haskell.Prim.html#2811" class="Bound">b</a><a id="2840" class="Symbol">)</a> <a id="2842" class="Symbol">:</a> <a id="2844" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="2849" href="Haskell.Prim.html#2815" class="Bound">A</a> <a id="2851" class="Symbol">→</a> <a id="2853" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2857" class="Symbol">(</a><a id="2858" href="Haskell.Prim.html#2809" class="Bound">a</a> <a id="2860" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2862" href="Haskell.Prim.html#2811" class="Bound">b</a><a id="2863" class="Symbol">)</a> <a id="2865" class="Keyword">where</a>
+  <a id="2873" class="Keyword">instance</a>
+    <a id="All.allNil"></a><a id="2886" href="Haskell.Prim.html#2886" class="InductiveConstructor">allNil</a>  <a id="2894" class="Symbol">:</a> <a id="2896" href="Haskell.Prim.html#2804" class="Datatype">All</a> <a id="2900" href="Haskell.Prim.html#2827" class="Bound">B</a> <a id="2902" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+    <a id="All.allCons"></a><a id="2909" href="Haskell.Prim.html#2909" class="InductiveConstructor">allCons</a> <a id="2917" class="Symbol">:</a> <a id="2919" class="Symbol">∀</a> <a id="2921" class="Symbol">{</a><a id="2922" href="Haskell.Prim.html#2922" class="Bound">x</a> <a id="2924" href="Haskell.Prim.html#2924" class="Bound">xs</a><a id="2926" class="Symbol">}</a> <a id="2928" class="Symbol">⦃</a> <a id="2930" href="Haskell.Prim.html#2930" class="Bound">i</a> <a id="2932" class="Symbol">:</a> <a id="2934" href="Haskell.Prim.html#2827" class="Bound">B</a> <a id="2936" href="Haskell.Prim.html#2922" class="Bound">x</a> <a id="2938" class="Symbol">⦄</a> <a id="2940" class="Symbol">⦃</a> <a id="2942" href="Haskell.Prim.html#2942" class="Bound">is</a> <a id="2945" class="Symbol">:</a> <a id="2947" href="Haskell.Prim.html#2804" class="Datatype">All</a> <a id="2951" href="Haskell.Prim.html#2827" class="Bound">B</a> <a id="2953" href="Haskell.Prim.html#2924" class="Bound">xs</a> <a id="2956" class="Symbol">⦄</a> <a id="2958" class="Symbol">→</a> <a id="2960" href="Haskell.Prim.html#2804" class="Datatype">All</a> <a id="2964" href="Haskell.Prim.html#2827" class="Bound">B</a> <a id="2966" class="Symbol">(</a><a id="2967" href="Haskell.Prim.html#2922" class="Bound">x</a> <a id="2969" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="2971" href="Haskell.Prim.html#2924" class="Bound">xs</a><a id="2973" class="Symbol">)</a>
+
+<a id="2976" class="Keyword">data</a> <a id="IsTrue"></a><a id="2981" href="Haskell.Prim.html#2981" class="Datatype">IsTrue</a> <a id="2988" class="Symbol">:</a> <a id="2990" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="2995" class="Symbol">→</a> <a id="2997" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3001" class="Keyword">where</a>
+  <a id="3009" class="Keyword">instance</a> <a id="IsTrue.itsTrue"></a><a id="3018" href="Haskell.Prim.html#3018" class="InductiveConstructor">itsTrue</a> <a id="3026" class="Symbol">:</a> <a id="3028" href="Haskell.Prim.html#2981" class="Datatype">IsTrue</a> <a id="3035" href="Haskell.Prim.html#390" class="InductiveConstructor">True</a>
+
+<a id="3041" class="Keyword">data</a> <a id="IsFalse"></a><a id="3046" href="Haskell.Prim.html#3046" class="Datatype">IsFalse</a> <a id="3054" class="Symbol">:</a> <a id="3056" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a> <a id="3061" class="Symbol">→</a> <a id="3063" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3067" class="Keyword">where</a>
+  <a id="3075" class="Keyword">instance</a> <a id="IsFalse.itsFalse"></a><a id="3084" href="Haskell.Prim.html#3084" class="InductiveConstructor">itsFalse</a> <a id="3093" class="Symbol">:</a> <a id="3095" href="Haskell.Prim.html#3046" class="Datatype">IsFalse</a> <a id="3103" href="Haskell.Prim.html#405" class="InductiveConstructor">False</a>
+
+<a id="3110" class="Keyword">data</a> <a id="NonEmpty"></a><a id="3115" href="Haskell.Prim.html#3115" class="Datatype">NonEmpty</a> <a id="3124" class="Symbol">{</a><a id="3125" href="Haskell.Prim.html#3125" class="Bound">a</a> <a id="3127" class="Symbol">:</a> <a id="3129" href="Agda.Primitive.html#388" class="Primitive">Set</a><a id="3132" class="Symbol">}</a> <a id="3134" class="Symbol">:</a> <a id="3136" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3141" href="Haskell.Prim.html#3125" class="Bound">a</a> <a id="3143" class="Symbol">→</a> <a id="3145" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3149" class="Keyword">where</a>
+  <a id="3157" class="Keyword">instance</a> <a id="NonEmpty.itsNonEmpty"></a><a id="3166" href="Haskell.Prim.html#3166" class="InductiveConstructor">itsNonEmpty</a> <a id="3178" class="Symbol">:</a> <a id="3180" class="Symbol">∀</a> <a id="3182" class="Symbol">{</a><a id="3183" href="Haskell.Prim.html#3183" class="Bound">x</a> <a id="3185" href="Haskell.Prim.html#3185" class="Bound">xs</a><a id="3187" class="Symbol">}</a> <a id="3189" class="Symbol">→</a> <a id="3191" href="Haskell.Prim.html#3115" class="Datatype">NonEmpty</a> <a id="3200" class="Symbol">(</a><a id="3201" href="Haskell.Prim.html#3183" class="Bound">x</a> <a id="3203" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3205" href="Haskell.Prim.html#3185" class="Bound">xs</a><a id="3207" class="Symbol">)</a>
+
+<a id="3210" class="Keyword">data</a> <a id="TypeError"></a><a id="3215" href="Haskell.Prim.html#3215" class="Datatype">TypeError</a> <a id="3225" class="Symbol">(</a><a id="3226" href="Haskell.Prim.html#3226" class="Bound">err</a> <a id="3230" class="Symbol">:</a> <a id="3232" href="Haskell.Prim.html#963" class="Postulate">AgdaString</a><a id="3242" class="Symbol">)</a> <a id="3244" class="Symbol">:</a> <a id="3246" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3250" class="Keyword">where</a>
+
+<a id="it"></a><a id="3257" href="Haskell.Prim.html#3257" class="Function">it</a> <a id="3260" class="Symbol">:</a> <a id="3262" class="Symbol">∀</a> <a id="3264" class="Symbol">{@</a><a id="3266" class="Symbol">0</a> <a id="3268" href="Haskell.Prim.html#3268" class="Bound">ℓ</a><a id="3269" class="Symbol">}</a> <a id="3271" class="Symbol">{@</a><a id="3273" class="Symbol">0</a> <a id="3275" href="Haskell.Prim.html#3275" class="Bound">a</a> <a id="3277" class="Symbol">:</a> <a id="3279" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3283" href="Haskell.Prim.html#3268" class="Bound">ℓ</a><a id="3284" class="Symbol">}</a> <a id="3286" class="Symbol">→</a> <a id="3288" class="Symbol">⦃</a> <a id="3290" href="Haskell.Prim.html#3275" class="Bound">a</a> <a id="3292" class="Symbol">⦄</a> <a id="3294" class="Symbol">→</a> <a id="3296" href="Haskell.Prim.html#3275" class="Bound">a</a>
+<a id="3298" href="Haskell.Prim.html#3257" class="Function">it</a> <a id="3301" class="Symbol">⦃</a> <a id="3303" href="Haskell.Prim.html#3303" class="Bound">x</a> <a id="3305" class="Symbol">⦄</a> <a id="3307" class="Symbol">=</a> <a id="3309" href="Haskell.Prim.html#3303" class="Bound">x</a>
+</pre></body></html>
\ No newline at end of file
diff --git a/lib/index.html b/lib/index.html
new file mode 100644
index 00000000..2a76cb63
--- /dev/null
+++ b/lib/index.html
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML>
+<html><head><meta charset="utf-8"><title>Haskell.Prelude</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--no-auto-inline</a> <a id="30" class="Symbol">#-}</a>
+<a id="34" class="Keyword">module</a> <a id="41" href="Haskell.Prelude.html" class="Module">Haskell.Prelude</a> <a id="57" class="Keyword">where</a>
+
+<a id="64" class="Keyword">open</a> <a id="69" class="Keyword">import</a> <a id="76" href="Haskell.Prim.html" class="Module">Haskell.Prim</a>
+<a id="89" class="Keyword">open</a> <a id="94" href="Haskell.Prim.html" class="Module">Haskell.Prim</a> <a id="107" class="Keyword">public</a> <a id="114" class="Keyword">using</a>
+  <a id="122" class="Symbol">(</a> <a id="124" href="Agda.Builtin.Bool.html#173" class="Datatype">Bool</a><a id="128" class="Symbol">;</a> <a id="130" href="Agda.Builtin.Bool.html#198" class="InductiveConstructor">True</a><a id="134" class="Symbol">;</a> <a id="136" href="Agda.Builtin.Bool.html#192" class="InductiveConstructor">False</a><a id="141" class="Symbol">;</a> <a id="143" href="Agda.Builtin.Char.html#238" class="Postulate">Char</a><a id="147" class="Symbol">;</a> <a id="149" href="Agda.Builtin.Int.html#245" class="Datatype">Integer</a><a id="156" class="Symbol">;</a>
+    <a id="162" href="Agda.Builtin.List.html#147" class="Datatype">List</a><a id="166" class="Symbol">;</a> <a id="168" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a><a id="170" class="Symbol">;</a> <a id="172" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">_∷_</a><a id="175" class="Symbol">;</a> <a id="177" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="180" class="Symbol">;</a> <a id="182" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a><a id="186" class="Symbol">;</a> <a id="188" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a><a id="191" class="Symbol">;</a> <a id="193" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a><a id="194" class="Symbol">;</a> <a id="196" href="Agda.Builtin.Unit.html#212" class="InductiveConstructor">tt</a><a id="198" class="Symbol">;</a>
+    <a id="204" href="Haskell.Prim.html#3215" class="Datatype">TypeError</a><a id="213" class="Symbol">;</a> <a id="215" href="Haskell.Prim.html#2596" class="Datatype">⊥</a><a id="216" class="Symbol">;</a> <a id="218" href="Haskell.Prim.html#2275" class="Function">iNumberNat</a><a id="228" class="Symbol">;</a> <a id="230" href="Haskell.Prim.html#2981" class="Datatype">IsTrue</a><a id="236" class="Symbol">;</a> <a id="238" href="Haskell.Prim.html#3046" class="Datatype">IsFalse</a><a id="245" class="Symbol">;</a>
+    <a id="251" href="Haskell.Prim.html#2804" class="Datatype">All</a><a id="254" class="Symbol">;</a> <a id="256" href="Haskell.Prim.html#2886" class="InductiveConstructor">allNil</a><a id="262" class="Symbol">;</a> <a id="264" href="Haskell.Prim.html#2909" class="InductiveConstructor">allCons</a><a id="271" class="Symbol">;</a> <a id="273" href="Haskell.Prim.html#3115" class="Datatype">NonEmpty</a><a id="281" class="Symbol">;</a> <a id="283" href="Haskell.Prim.html#2428" class="Function">lengthNat</a><a id="292" class="Symbol">;</a>
+    <a id="298" href="Haskell.Prim.html#1296" class="Function">id</a><a id="300" class="Symbol">;</a> <a id="302" href="Haskell.Prim.html#1330" class="Function Operator">_∘_</a><a id="305" class="Symbol">;</a> <a id="307" href="Haskell.Prim.html#1480" class="Function Operator">_$_</a><a id="310" class="Symbol">;</a> <a id="312" href="Haskell.Prim.html#1383" class="Function">flip</a><a id="316" class="Symbol">;</a> <a id="318" href="Haskell.Prim.html#1434" class="Function">const</a><a id="323" class="Symbol">;</a>
+    <a id="329" href="Haskell.Prim.html#1713" class="Function Operator">if_then_else_</a><a id="342" class="Symbol">;</a> <a id="344" href="Haskell.Prim.html#1609" class="Function Operator">case_of_</a><a id="352" class="Symbol">;</a>
+    <a id="358" href="Agda.Builtin.FromNat.html#196" class="Record">Number</a><a id="364" class="Symbol">;</a> <a id="366" href="Agda.Builtin.FromNat.html#281" class="Field">fromNat</a><a id="373" class="Symbol">;</a> <a id="375" href="Agda.Builtin.FromNeg.html#196" class="Record">Negative</a><a id="383" class="Symbol">;</a> <a id="385" href="Agda.Builtin.FromNeg.html#283" class="Field">fromNeg</a><a id="392" class="Symbol">;</a>
+    <a id="398" href="Agda.Builtin.FromString.html#202" class="Record">IsString</a><a id="406" class="Symbol">;</a> <a id="408" href="Agda.Builtin.FromString.html#292" class="Field">fromString</a><a id="418" class="Symbol">;</a>
+    <a id="424" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a><a id="427" class="Symbol">;</a> <a id="429" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">refl</a><a id="433" class="Symbol">;</a>
+    <a id="439" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="440" class="Symbol">;</a> <a id="442" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="443" class="Symbol">;</a> <a id="445" href="Haskell.Prim.html#1195" class="Generalizable">c</a><a id="446" class="Symbol">;</a> <a id="448" href="Haskell.Prim.html#1197" class="Generalizable">d</a><a id="449" class="Symbol">;</a> <a id="451" href="Haskell.Prim.html#1199" class="Generalizable">e</a><a id="452" class="Symbol">;</a> <a id="454" href="Haskell.Prim.html#1209" class="Generalizable">f</a><a id="455" class="Symbol">;</a> <a id="457" href="Haskell.Prim.html#1211" class="Generalizable">m</a><a id="458" class="Symbol">;</a> <a id="460" href="Haskell.Prim.html#1213" class="Generalizable">s</a><a id="461" class="Symbol">;</a> <a id="463" href="Haskell.Prim.html#1215" class="Generalizable">t</a> <a id="465" class="Symbol">)</a>
+
+<a id="468" class="Keyword">open</a> <a id="473" class="Keyword">import</a> <a id="480" href="Haskell.Prim.Absurd.html" class="Module">Haskell.Prim.Absurd</a>      <a id="505" class="Keyword">public</a>
+<a id="512" class="Keyword">open</a> <a id="517" class="Keyword">import</a> <a id="524" href="Haskell.Prim.Applicative.html" class="Module">Haskell.Prim.Applicative</a> <a id="549" class="Keyword">public</a>
+<a id="556" class="Keyword">open</a> <a id="561" class="Keyword">import</a> <a id="568" href="Haskell.Prim.Bool.html" class="Module">Haskell.Prim.Bool</a>        <a id="593" class="Keyword">public</a>
+<a id="600" class="Keyword">open</a> <a id="605" class="Keyword">import</a> <a id="612" href="Haskell.Prim.Bounded.html" class="Module">Haskell.Prim.Bounded</a>     <a id="637" class="Keyword">public</a>
+<a id="644" class="Keyword">open</a> <a id="649" class="Keyword">import</a> <a id="656" href="Haskell.Prim.Char.html" class="Module">Haskell.Prim.Char</a>        <a id="681" class="Keyword">public</a>
+<a id="688" class="Keyword">open</a> <a id="693" class="Keyword">import</a> <a id="700" href="Haskell.Prim.Double.html" class="Module">Haskell.Prim.Double</a>      <a id="725" class="Keyword">public</a>
+<a id="732" class="Keyword">open</a> <a id="737" class="Keyword">import</a> <a id="744" href="Haskell.Prim.Either.html" class="Module">Haskell.Prim.Either</a>      <a id="769" class="Keyword">public</a>
+<a id="776" class="Keyword">open</a> <a id="781" class="Keyword">import</a> <a id="788" href="Haskell.Prim.Enum.html" class="Module">Haskell.Prim.Enum</a>        <a id="813" class="Keyword">public</a>
+<a id="820" class="Keyword">open</a> <a id="825" class="Keyword">import</a> <a id="832" href="Haskell.Prim.Eq.html" class="Module">Haskell.Prim.Eq</a>          <a id="857" class="Keyword">public</a>
+<a id="864" class="Keyword">open</a> <a id="869" class="Keyword">import</a> <a id="876" href="Haskell.Prim.Foldable.html" class="Module">Haskell.Prim.Foldable</a>    <a id="901" class="Keyword">public</a>
+<a id="908" class="Keyword">open</a> <a id="913" class="Keyword">import</a> <a id="920" href="Haskell.Prim.Functor.html" class="Module">Haskell.Prim.Functor</a>     <a id="945" class="Keyword">public</a>
+<a id="952" class="Keyword">open</a> <a id="957" class="Keyword">import</a> <a id="964" href="Haskell.Prim.Int.html" class="Module">Haskell.Prim.Int</a>         <a id="989" class="Keyword">public</a>
+<a id="996" class="Keyword">open</a> <a id="1001" class="Keyword">import</a> <a id="1008" href="Haskell.Prim.Integer.html" class="Module">Haskell.Prim.Integer</a>     <a id="1033" class="Keyword">public</a>
+<a id="1040" class="Keyword">open</a> <a id="1045" class="Keyword">import</a> <a id="1052" href="Haskell.Prim.IO.html" class="Module">Haskell.Prim.IO</a>          <a id="1077" class="Keyword">public</a>
+<a id="1084" class="Keyword">open</a> <a id="1089" class="Keyword">import</a> <a id="1096" href="Haskell.Prim.List.html" class="Module">Haskell.Prim.List</a>        <a id="1121" class="Keyword">public</a>
+<a id="1128" class="Keyword">open</a> <a id="1133" class="Keyword">import</a> <a id="1140" href="Haskell.Prim.Maybe.html" class="Module">Haskell.Prim.Maybe</a>       <a id="1165" class="Keyword">public</a>
+<a id="1172" class="Keyword">open</a> <a id="1177" class="Keyword">import</a> <a id="1184" href="Haskell.Prim.Monad.html" class="Module">Haskell.Prim.Monad</a>       <a id="1209" class="Keyword">public</a>
+<a id="1216" class="Keyword">open</a> <a id="1221" class="Keyword">import</a> <a id="1228" href="Haskell.Prim.Monoid.html" class="Module">Haskell.Prim.Monoid</a>      <a id="1253" class="Keyword">public</a>
+<a id="1260" class="Keyword">open</a> <a id="1265" class="Keyword">import</a> <a id="1272" href="Haskell.Prim.Num.html" class="Module">Haskell.Prim.Num</a>         <a id="1297" class="Keyword">public</a>
+<a id="1304" class="Keyword">open</a> <a id="1309" class="Keyword">import</a> <a id="1316" href="Haskell.Prim.Ord.html" class="Module">Haskell.Prim.Ord</a>         <a id="1341" class="Keyword">public</a>
+<a id="1348" class="Keyword">open</a> <a id="1353" class="Keyword">import</a> <a id="1360" href="Haskell.Prim.Show.html" class="Module">Haskell.Prim.Show</a>        <a id="1385" class="Keyword">public</a>
+<a id="1392" class="Keyword">open</a> <a id="1397" class="Keyword">import</a> <a id="1404" href="Haskell.Prim.String.html" class="Module">Haskell.Prim.String</a>      <a id="1429" class="Keyword">public</a>
+<a id="1436" class="Keyword">open</a> <a id="1441" class="Keyword">import</a> <a id="1448" href="Haskell.Prim.Traversable.html" class="Module">Haskell.Prim.Traversable</a> <a id="1473" class="Keyword">public</a>
+<a id="1480" class="Keyword">open</a> <a id="1485" class="Keyword">import</a> <a id="1492" href="Haskell.Prim.Tuple.html" class="Module">Haskell.Prim.Tuple</a>       <a id="1517" class="Keyword">public</a> <a id="1524" class="Keyword">hiding</a> <a id="1531" class="Symbol">(</a><a id="1532" href="Haskell.Prim.Tuple.html#452" class="Function">first</a><a id="1537" class="Symbol">;</a> <a id="1539" href="Haskell.Prim.Tuple.html#511" class="Function">second</a><a id="1545" class="Symbol">;</a> <a id="1547" href="Haskell.Prim.Tuple.html#572" class="Function Operator">_***_</a><a id="1552" class="Symbol">)</a>
+<a id="1554" class="Keyword">open</a> <a id="1559" class="Keyword">import</a> <a id="1566" href="Haskell.Prim.Word.html" class="Module">Haskell.Prim.Word</a>        <a id="1591" class="Keyword">public</a>
+
+<a id="1599" class="Comment">-- Problematic features</a>
+<a id="1623" class="Comment">--  - [Partial]:  Could pass implicit/instance arguments to prove totality.</a>
+<a id="1699" class="Comment">--  - [Float]:    Or Float (Agda floats are Doubles)</a>
+<a id="1752" class="Comment">--  - [Infinite]: Define colists and map to Haskell lists?</a>
+
+<a id="1812" class="Comment">-- Missing from the Haskell Prelude:</a>
+<a id="1849" class="Comment">--</a>
+<a id="1852" class="Comment">--     Float        [Float]</a>
+<a id="1880" class="Comment">--     Rational</a>
+<a id="1896" class="Comment">--</a>
+<a id="1899" class="Comment">--     Real(toRational),</a>
+<a id="1924" class="Comment">--     Integral(quot, rem, div, mod, quotRem, divMod, toInteger),</a>
+<a id="1990" class="Comment">--     Fractional((/), recip, fromRational),</a>
+<a id="2035" class="Comment">--     Floating(pi, exp, log, sqrt, (**), logBase, sin, cos, tan,</a>
+<a id="2101" class="Comment">--              asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh),</a>
+<a id="2175" class="Comment">--     RealFrac(properFraction, truncate, round, ceiling, floor),</a>
+<a id="2241" class="Comment">--     RealFloat(floatRadix, floatDigits, floatRange, decodeFloat,</a>
+<a id="2308" class="Comment">--               encodeFloat, exponent, significand, scaleFloat, isNaN,</a>
+<a id="2380" class="Comment">--               isInfinite, isDenormalized, isIEEE, isNegativeZero, atan2),</a>
+<a id="2457" class="Comment">--</a>
+<a id="2460" class="Comment">--     subtract, even, odd, gcd, lcm, (^), (^^),</a>
+<a id="2509" class="Comment">--     fromIntegral, realToFrac,</a>
+<a id="2542" class="Comment">--</a>
+<a id="2545" class="Comment">--     foldr1, foldl1, maximum, minimum      [Partial]</a>
+<a id="2600" class="Comment">--</a>
+<a id="2603" class="Comment">--     until [Partial]</a>
+<a id="2626" class="Comment">--</a>
+<a id="2629" class="Comment">--     iterate, repeat, cycle          [Infinite]</a>
+<a id="2679" class="Comment">--</a>
+<a id="2682" class="Comment">--     ReadS, Read(readsPrec, readList),</a>
+<a id="2723" class="Comment">--     reads, readParen, read, lex,</a>
+<a id="2759" class="Comment">--</a>
+<a id="2762" class="Comment">--     IO, putChar, putStr, putStrLn, print,</a>
+<a id="2807" class="Comment">--     getChar, getLine, getContents, interact,</a>
+<a id="2855" class="Comment">--     FilePath, readFile, writeFile, appendFile, readIO, readLn,</a>
+<a id="2921" class="Comment">--     IOError, ioError, userError,</a>
+
+
+<a id="2959" class="Comment">--------------------------------------------------</a>
+<a id="3010" class="Comment">-- Functions</a>
+
+<a id="3024" class="Keyword">infixr</a> <a id="3031" class="Number">0</a> <a id="3033" href="Haskell.Prelude.html#3039" class="Function Operator">_$!_</a>
+
+<a id="_$!_"></a><a id="3039" href="Haskell.Prelude.html#3039" class="Function Operator">_$!_</a> <a id="3044" class="Symbol">:</a> <a id="3046" class="Symbol">(</a><a id="3047" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3049" class="Symbol">→</a> <a id="3051" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="3052" class="Symbol">)</a> <a id="3054" class="Symbol">→</a> <a id="3056" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3058" class="Symbol">→</a> <a id="3060" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="3062" href="Haskell.Prelude.html#3039" class="Function Operator">_$!_</a> <a id="3067" class="Symbol">=</a> <a id="3069" href="Haskell.Prim.html#1480" class="Function Operator">_$_</a>
+
+<a id="seq"></a><a id="3074" href="Haskell.Prelude.html#3074" class="Function">seq</a> <a id="3078" class="Symbol">:</a> <a id="3080" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3082" class="Symbol">→</a> <a id="3084" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="3086" class="Symbol">→</a> <a id="3088" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="3090" href="Haskell.Prelude.html#3074" class="Function">seq</a> <a id="3094" class="Symbol">=</a> <a id="3096" href="Haskell.Prim.html#1434" class="Function">const</a> <a id="3102" href="Haskell.Prim.html#1296" class="Function">id</a>
+
+<a id="asTypeOf"></a><a id="3106" href="Haskell.Prelude.html#3106" class="Function">asTypeOf</a> <a id="3115" class="Symbol">:</a> <a id="3117" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3119" class="Symbol">→</a> <a id="3121" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3123" class="Symbol">→</a> <a id="3125" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3127" href="Haskell.Prelude.html#3106" class="Function">asTypeOf</a> <a id="3136" href="Haskell.Prelude.html#3136" class="Bound">x</a> <a id="3138" class="Symbol">_</a> <a id="3140" class="Symbol">=</a> <a id="3142" href="Haskell.Prelude.html#3136" class="Bound">x</a>
+
+<a id="undefined"></a><a id="3145" href="Haskell.Prelude.html#3145" class="Function">undefined</a> <a id="3155" class="Symbol">:</a> <a id="3157" class="Symbol">{@</a><a id="3159" class="Symbol">0</a> <a id="3161" class="Symbol">@(</a><a id="3163" class="Keyword">tactic</a> <a id="3170" href="Haskell.Prim.Absurd.html#614" class="Function">absurd</a><a id="3176" class="Symbol">)</a> <a id="3178" href="Haskell.Prelude.html#3178" class="Bound">i</a> <a id="3180" class="Symbol">:</a> <a id="3182" href="Haskell.Prim.html#2596" class="Datatype">⊥</a><a id="3183" class="Symbol">}</a> <a id="3185" class="Symbol">→</a> <a id="3187" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3189" href="Haskell.Prelude.html#3145" class="Function">undefined</a> <a id="3199" class="Symbol">{</a><a id="3200" class="Argument">i</a> <a id="3202" class="Symbol">=</a> <a id="3204" class="Symbol">()}</a>
+
+<a id="error"></a><a id="3209" href="Haskell.Prelude.html#3209" class="Function">error</a> <a id="3215" class="Symbol">:</a> <a id="3217" class="Symbol">{@</a><a id="3219" class="Symbol">0</a> <a id="3221" class="Symbol">@(</a><a id="3223" class="Keyword">tactic</a> <a id="3230" href="Haskell.Prim.Absurd.html#614" class="Function">absurd</a><a id="3236" class="Symbol">)</a> <a id="3238" href="Haskell.Prelude.html#3238" class="Bound">i</a> <a id="3240" class="Symbol">:</a> <a id="3242" href="Haskell.Prim.html#2596" class="Datatype">⊥</a><a id="3243" class="Symbol">}</a> <a id="3245" class="Symbol">→</a> <a id="3247" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="3254" class="Symbol">→</a> <a id="3256" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3258" href="Haskell.Prelude.html#3209" class="Function">error</a> <a id="3264" class="Symbol">{</a><a id="3265" class="Argument">i</a> <a id="3267" class="Symbol">=</a> <a id="3269" class="Symbol">()}</a> <a id="3273" href="Haskell.Prelude.html#3273" class="Bound">err</a>
+
+<a id="errorWithoutStackTrace"></a><a id="3278" href="Haskell.Prelude.html#3278" class="Function">errorWithoutStackTrace</a> <a id="3301" class="Symbol">:</a> <a id="3303" class="Symbol">{@</a><a id="3305" class="Symbol">0</a> <a id="3307" class="Symbol">@(</a><a id="3309" class="Keyword">tactic</a> <a id="3316" href="Haskell.Prim.Absurd.html#614" class="Function">absurd</a><a id="3322" class="Symbol">)</a> <a id="3324" href="Haskell.Prelude.html#3324" class="Bound">i</a> <a id="3326" class="Symbol">:</a> <a id="3328" href="Haskell.Prim.html#2596" class="Datatype">⊥</a><a id="3329" class="Symbol">}</a> <a id="3331" class="Symbol">→</a> <a id="3333" href="Haskell.Prim.String.html#344" class="Function">String</a> <a id="3340" class="Symbol">→</a> <a id="3342" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3344" href="Haskell.Prelude.html#3278" class="Function">errorWithoutStackTrace</a> <a id="3367" class="Symbol">{</a><a id="3368" class="Argument">i</a> <a id="3370" class="Symbol">=</a> <a id="3372" class="Symbol">()}</a> <a id="3376" href="Haskell.Prelude.html#3376" class="Bound">err</a>
+
+<a id="3381" class="Comment">-------------------------------------------------</a>
+<a id="3431" class="Comment">-- More List functions</a>
+<a id="3454" class="Comment">--   These uses Eq, Ord, or Foldable, so can&#39;t go in Prim.List without</a>
+<a id="3525" class="Comment">--   turning those dependencies around.</a>
+
+<a id="reverse"></a><a id="3566" href="Haskell.Prelude.html#3566" class="Function">reverse</a> <a id="3574" class="Symbol">:</a> <a id="3576" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3581" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3583" class="Symbol">→</a> <a id="3585" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3590" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3592" href="Haskell.Prelude.html#3566" class="Function">reverse</a> <a id="3600" class="Symbol">=</a> <a id="3602" href="Haskell.Prim.Foldable.html#566" class="Field">foldl</a> <a id="3608" class="Symbol">(</a><a id="3609" href="Haskell.Prim.html#1383" class="Function">flip</a> <a id="3614" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">_∷_</a><a id="3617" class="Symbol">)</a> <a id="3619" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>
+
+<a id="3623" class="Keyword">infixl</a> <a id="3630" class="Number">9</a> <a id="3632" href="Haskell.Prelude.html#3769" class="Function Operator">_!!_</a> <a id="3637" href="Haskell.Prelude.html#3644" class="Function Operator">_!!ᴺ_</a>
+
+<a id="_!!ᴺ_"></a><a id="3644" href="Haskell.Prelude.html#3644" class="Function Operator">_!!ᴺ_</a> <a id="3650" class="Symbol">:</a> <a id="3652" class="Symbol">(</a><a id="3653" href="Haskell.Prelude.html#3653" class="Bound">xs</a> <a id="3656" class="Symbol">:</a> <a id="3658" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3663" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="3664" class="Symbol">)</a> <a id="3666" class="Symbol">(</a><a id="3667" href="Haskell.Prelude.html#3667" class="Bound">n</a> <a id="3669" class="Symbol">:</a> <a id="3671" href="Agda.Builtin.Nat.html#203" class="Datatype">Nat</a><a id="3674" class="Symbol">)</a> <a id="3676" class="Symbol">→</a> <a id="3678" class="Symbol">@</a><a id="3679" class="Symbol">0</a> <a id="3681" class="Symbol">⦃</a> <a id="3683" href="Haskell.Prim.html#2981" class="Datatype">IsTrue</a> <a id="3690" class="Symbol">(</a><a id="3691" href="Haskell.Prelude.html#3667" class="Bound">n</a> <a id="3693" href="Haskell.Prim.Ord.html#1072" class="Field Operator">&lt;</a> <a id="3695" href="Haskell.Prim.html#2428" class="Function">lengthNat</a> <a id="3705" href="Haskell.Prelude.html#3653" class="Bound">xs</a><a id="3707" class="Symbol">)</a> <a id="3709" class="Symbol">⦄</a> <a id="3711" class="Symbol">→</a> <a id="3713" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3715" class="Symbol">(</a><a id="3716" href="Haskell.Prelude.html#3716" class="Bound">x</a> <a id="3718" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3720" href="Haskell.Prelude.html#3720" class="Bound">xs</a><a id="3722" class="Symbol">)</a> <a id="3724" href="Haskell.Prelude.html#3644" class="Function Operator">!!ᴺ</a> <a id="3728" href="Agda.Builtin.Nat.html#221" class="InductiveConstructor">zero</a>  <a id="3734" class="Symbol">=</a> <a id="3736" href="Haskell.Prelude.html#3716" class="Bound">x</a>
+<a id="3738" class="Symbol">(</a><a id="3739" href="Haskell.Prelude.html#3739" class="Bound">x</a> <a id="3741" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="3743" href="Haskell.Prelude.html#3743" class="Bound">xs</a><a id="3745" class="Symbol">)</a> <a id="3747" href="Haskell.Prelude.html#3644" class="Function Operator">!!ᴺ</a> <a id="3751" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a> <a id="3755" href="Haskell.Prelude.html#3755" class="Bound">n</a> <a id="3757" class="Symbol">=</a> <a id="3759" href="Haskell.Prelude.html#3743" class="Bound">xs</a> <a id="3762" href="Haskell.Prelude.html#3644" class="Function Operator">!!ᴺ</a> <a id="3766" href="Haskell.Prelude.html#3755" class="Bound">n</a>
+
+<a id="_!!_"></a><a id="3769" href="Haskell.Prelude.html#3769" class="Function Operator">_!!_</a> <a id="3774" class="Symbol">:</a> <a id="3776" class="Symbol">(</a><a id="3777" href="Haskell.Prelude.html#3777" class="Bound">xs</a> <a id="3780" class="Symbol">:</a> <a id="3782" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3787" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="3788" class="Symbol">)</a> <a id="3790" class="Symbol">(</a><a id="3791" href="Haskell.Prelude.html#3791" class="Bound">n</a> <a id="3793" class="Symbol">:</a> <a id="3795" href="Haskell.Prim.Int.html#367" class="Datatype">Int</a><a id="3798" class="Symbol">)</a>
+     <a id="3805" class="Symbol">→</a> <a id="3807" class="Symbol">⦃</a> <a id="3809" class="Symbol">@</a><a id="3810" class="Symbol">0</a> <a id="3812" href="Haskell.Prelude.html#3812" class="Bound">nn</a> <a id="3815" class="Symbol">:</a> <a id="3817" href="Haskell.Prim.Int.html#2469" class="Function">IsNonNegativeInt</a> <a id="3834" href="Haskell.Prelude.html#3791" class="Bound">n</a> <a id="3836" class="Symbol">⦄</a>
+     <a id="3843" class="Symbol">→</a> <a id="3845" class="Symbol">⦃</a> <a id="3847" class="Symbol">@</a><a id="3848" class="Symbol">0</a> <a id="3850" href="Haskell.Prelude.html#3850" class="Bound">_</a>  <a id="3853" class="Symbol">:</a> <a id="3855" href="Haskell.Prim.html#2981" class="Datatype">IsTrue</a> <a id="3862" class="Symbol">(</a><a id="3863" href="Haskell.Prim.Int.html#2661" class="Function">intToNat</a> <a id="3872" href="Haskell.Prelude.html#3791" class="Bound">n</a> <a id="3874" class="Symbol">{{</a><a id="3876" href="Haskell.Prelude.html#3812" class="Bound">nn</a><a id="3878" class="Symbol">}}</a> <a id="3881" href="Haskell.Prim.Ord.html#1072" class="Field Operator">&lt;</a> <a id="3883" href="Haskell.Prim.html#2428" class="Function">lengthNat</a> <a id="3893" href="Haskell.Prelude.html#3777" class="Bound">xs</a><a id="3895" class="Symbol">)</a> <a id="3897" class="Symbol">⦄</a> <a id="3899" class="Symbol">→</a> <a id="3901" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="3903" href="Haskell.Prelude.html#3903" class="Bound">xs</a> <a id="3906" href="Haskell.Prelude.html#3769" class="Function Operator">!!</a> <a id="3909" href="Haskell.Prelude.html#3909" class="Bound">n</a> <a id="3911" class="Symbol">=</a> <a id="3913" href="Haskell.Prelude.html#3903" class="Bound">xs</a> <a id="3916" href="Haskell.Prelude.html#3644" class="Function Operator">!!ᴺ</a> <a id="3920" href="Haskell.Prim.Int.html#2661" class="Function">intToNat</a> <a id="3929" href="Haskell.Prelude.html#3909" class="Bound">n</a>
+
+<a id="lookup"></a><a id="3932" href="Haskell.Prelude.html#3932" class="Function">lookup</a> <a id="3939" class="Symbol">:</a> <a id="3941" class="Symbol">⦃</a> <a id="3943" href="Haskell.Prim.Eq.html#401" class="Record">Eq</a> <a id="3946" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3948" class="Symbol">⦄</a> <a id="3950" class="Symbol">→</a> <a id="3952" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3954" class="Symbol">→</a> <a id="3956" href="Agda.Builtin.List.html#147" class="Datatype">List</a> <a id="3961" class="Symbol">(</a><a id="3962" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="3964" href="Haskell.Prim.Tuple.html#169" class="Record Operator">×</a> <a id="3966" href="Haskell.Prim.html#1193" class="Generalizable">b</a><a id="3967" class="Symbol">)</a> <a id="3969" class="Symbol">→</a> <a id="3971" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="3977" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="3979" href="Haskell.Prelude.html#3932" class="Function">lookup</a> <a id="3986" href="Haskell.Prelude.html#3986" class="Bound">x</a> <a id="3988" href="Agda.Builtin.List.html#184" class="InductiveConstructor">[]</a>              <a id="4004" class="Symbol">=</a> <a id="4006" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>
+<a id="4014" href="Haskell.Prelude.html#3932" class="Function">lookup</a> <a id="4021" href="Haskell.Prelude.html#4021" class="Bound">x</a> <a id="4023" class="Symbol">((</a><a id="4025" href="Haskell.Prelude.html#4025" class="Bound">x₁</a> <a id="4028" href="Haskell.Prim.Tuple.html#211" class="InductiveConstructor Operator">,</a> <a id="4030" href="Haskell.Prelude.html#4030" class="Bound">y</a><a id="4031" class="Symbol">)</a> <a id="4033" href="Agda.Builtin.List.html#199" class="InductiveConstructor Operator">∷</a> <a id="4035" href="Haskell.Prelude.html#4035" class="Bound">xs</a><a id="4037" class="Symbol">)</a> <a id="4039" class="Symbol">=</a> <a id="4041" href="Haskell.Prim.html#1713" class="Function Operator">if</a> <a id="4044" href="Haskell.Prelude.html#4021" class="Bound">x</a> <a id="4046" href="Haskell.Prim.Eq.html#458" class="Field Operator">==</a> <a id="4049" href="Haskell.Prelude.html#4025" class="Bound">x₁</a> <a id="4052" href="Haskell.Prim.html#1713" class="Function Operator">then</a> <a id="4057" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="4062" href="Haskell.Prelude.html#4030" class="Bound">y</a> <a id="4064" href="Haskell.Prim.html#1713" class="Function Operator">else</a> <a id="4069" href="Haskell.Prelude.html#3932" class="Function">lookup</a> <a id="4076" href="Haskell.Prelude.html#4021" class="Bound">x</a> <a id="4078" href="Haskell.Prelude.html#4035" class="Bound">xs</a>
+
+
+<a id="4083" class="Comment">-------------------------------------------------</a>
+<a id="4133" class="Comment">-- Unsafe functions</a>
+
+<a id="coerce"></a><a id="4154" href="Haskell.Prelude.html#4154" class="Function">coerce</a> <a id="4161" class="Symbol">:</a> <a id="4163" class="Symbol">@</a><a id="4164" class="Symbol">0</a> <a id="4166" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="4168" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="4170" href="Haskell.Prim.html#1193" class="Generalizable">b</a> <a id="4172" class="Symbol">→</a> <a id="4174" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="4176" class="Symbol">→</a> <a id="4178" href="Haskell.Prim.html#1193" class="Generalizable">b</a>
+<a id="4180" href="Haskell.Prelude.html#4154" class="Function">coerce</a> <a id="4187" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">refl</a> <a id="4192" href="Haskell.Prelude.html#4192" class="Bound">x</a> <a id="4194" class="Symbol">=</a> <a id="4196" href="Haskell.Prelude.html#4192" class="Bound">x</a>
+
+<a id="IsJust"></a><a id="4199" href="Haskell.Prelude.html#4199" class="Function">IsJust</a> <a id="4206" class="Symbol">:</a> <a id="4208" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="4214" href="Haskell.Prim.html#1191" class="Generalizable">a</a> <a id="4216" class="Symbol">→</a> <a id="4218" href="Agda.Primitive.html#388" class="Primitive">Set</a>
+<a id="4222" href="Haskell.Prelude.html#4199" class="Function">IsJust</a> <a id="4229" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="4238" class="Symbol">=</a> <a id="4240" href="Haskell.Prim.html#2596" class="Datatype">⊥</a>
+<a id="4242" href="Haskell.Prelude.html#4199" class="Function">IsJust</a> <a id="4249" class="Symbol">(</a><a id="4250" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="4255" class="Symbol">_)</a> <a id="4258" class="Symbol">=</a> <a id="4260" href="Agda.Builtin.Unit.html#175" class="Record">⊤</a>
+
+<a id="fromJust"></a><a id="4263" href="Haskell.Prelude.html#4263" class="Function">fromJust</a> <a id="4272" class="Symbol">:</a> <a id="4274" class="Symbol">(</a><a id="4275" href="Haskell.Prelude.html#4275" class="Bound">x</a> <a id="4277" class="Symbol">:</a> <a id="4279" href="Haskell.Prim.Maybe.html#101" class="Datatype">Maybe</a> <a id="4285" href="Haskell.Prim.html#1191" class="Generalizable">a</a><a id="4286" class="Symbol">)</a> <a id="4288" class="Symbol">→</a> <a id="4290" class="Symbol">@</a><a id="4291" class="Symbol">0</a> <a id="4293" class="Symbol">{</a><a id="4294" href="Haskell.Prelude.html#4199" class="Function">IsJust</a> <a id="4301" href="Haskell.Prelude.html#4275" class="Bound">x</a><a id="4302" class="Symbol">}</a> <a id="4304" class="Symbol">→</a> <a id="4306" href="Haskell.Prim.html#1191" class="Generalizable">a</a>
+<a id="4308" href="Haskell.Prelude.html#4263" class="Function">fromJust</a> <a id="4317" href="Haskell.Prim.Maybe.html#142" class="InductiveConstructor">Nothing</a>  <a id="4326" class="Symbol">=</a> <a id="4328" href="Haskell.Prelude.html#3209" class="Function">error</a> <a id="4334" class="String">&quot;fromJust Nothing&quot;</a>
+<a id="4353" href="Haskell.Prelude.html#4263" class="Function">fromJust</a> <a id="4362" class="Symbol">(</a><a id="4363" href="Haskell.Prim.Maybe.html#162" class="InductiveConstructor">Just</a> <a id="4368" href="Haskell.Prelude.html#4368" class="Bound">x</a><a id="4369" class="Symbol">)</a> <a id="4371" class="Symbol">=</a> <a id="4373" href="Haskell.Prelude.html#4368" class="Bound">x</a>
+</pre></body></html>
\ No newline at end of file