diff --git a/Text/Blaze.hs b/Text/Blaze.hs
--- a/Text/Blaze.hs
+++ b/Text/Blaze.hs
@@ -25,7 +25,7 @@
 -- >     body $ do
 -- >         div ! id "header" $ "Syntax"
 -- >         p "This is an example of BlazeHtml syntax."
--- >         ul $ forM_ [1, 2, 3] (li . string . show)
+-- >         ul $ mapM_ (li . toHtml . show) [1, 2, 3]
 --
 -- The resulting HTML can now be extracted using:
 --
diff --git a/Text/Blaze/Html4/FrameSet.hs b/Text/Blaze/Html4/FrameSet.hs
--- a/Text/Blaze/Html4/FrameSet.hs
+++ b/Text/Blaze/Html4/FrameSet.hs
@@ -1,5 +1,5 @@
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:68
+-- Util/GenerateHtmlCombinators.hs:69
 --
 {-# LANGUAGE OverloadedStrings #-}
 -- | This module exports HTML combinators used to create documents.
@@ -100,7 +100,7 @@
     ) where
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:76
+-- Util/GenerateHtmlCombinators.hs:77
 --
 import Prelude ((>>), (.))
 
@@ -108,7 +108,7 @@
 import Text.Blaze.Internal
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:154
+-- Util/GenerateHtmlCombinators.hs:155
 --
 -- | Combinator for the document type. This should be placed at the top
 -- of every HTML page.
@@ -119,15 +119,15 @@
 --
 -- Result:
 --
--- > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
+-- > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 FrameSet//EN"
 -- >     "http://www.w3.org/TR/html4/frameset.dtd">
 --
 docType :: Html  -- ^ The document type HTML.
-docType = preEscapedText "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\"\n    \"http://www.w3.org/TR/html4/frameset.dtd\">\n"
+docType = preEscapedText "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 FrameSet//EN\"\n    \"http://www.w3.org/TR/html4/frameset.dtd\">\n"
 {-# INLINE docType #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:175
+-- Util/GenerateHtmlCombinators.hs:176
 --
 -- | Combinator for the @\<html>@ element. This combinator will also
 -- insert the correct doctype.
@@ -138,7 +138,7 @@
 --
 -- Result:
 --
--- > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
+-- > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 FrameSet//EN"
 -- >     "http://www.w3.org/TR/html4/frameset.dtd">
 -- > <html><span>foo</span></html>
 --
@@ -148,7 +148,7 @@
 {-# INLINE docTypeHtml #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<a>@ element.
 --
@@ -166,7 +166,7 @@
 {-# INLINE a #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<abbr>@ element.
 --
@@ -184,7 +184,7 @@
 {-# INLINE abbr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<acronym>@ element.
 --
@@ -202,7 +202,7 @@
 {-# INLINE acronym #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<address>@ element.
 --
@@ -220,7 +220,7 @@
 {-# INLINE address #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<applet>@ element.
 --
@@ -238,7 +238,7 @@
 {-# INLINE applet #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<area />@ element.
 --
@@ -255,7 +255,7 @@
 {-# INLINE area #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<b>@ element.
 --
@@ -273,7 +273,7 @@
 {-# INLINE b #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<basefont />@ element.
 --
@@ -290,7 +290,7 @@
 {-# INLINE basefont #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<bdo>@ element.
 --
@@ -308,7 +308,7 @@
 {-# INLINE bdo #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<big>@ element.
 --
@@ -326,7 +326,7 @@
 {-# INLINE big #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<blockquote>@ element.
 --
@@ -344,7 +344,7 @@
 {-# INLINE blockquote #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<body>@ element.
 --
@@ -362,7 +362,7 @@
 {-# INLINE body #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<br />@ element.
 --
@@ -379,7 +379,7 @@
 {-# INLINE br #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<button>@ element.
 --
@@ -397,7 +397,7 @@
 {-# INLINE button #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<caption>@ element.
 --
@@ -415,7 +415,7 @@
 {-# INLINE caption #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<center>@ element.
 --
@@ -433,7 +433,7 @@
 {-# INLINE center #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<cite>@ element.
 --
@@ -451,7 +451,7 @@
 {-# INLINE cite #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<code>@ element.
 --
@@ -469,7 +469,7 @@
 {-# INLINE code #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<col />@ element.
 --
@@ -486,7 +486,7 @@
 {-# INLINE col #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<colgroup>@ element.
 --
@@ -504,7 +504,7 @@
 {-# INLINE colgroup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dd>@ element.
 --
@@ -522,7 +522,7 @@
 {-# INLINE dd #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<del>@ element.
 --
@@ -540,7 +540,7 @@
 {-# INLINE del #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dfn>@ element.
 --
@@ -558,7 +558,7 @@
 {-# INLINE dfn #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dir>@ element.
 --
@@ -576,7 +576,7 @@
 {-# INLINE dir #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<div>@ element.
 --
@@ -594,7 +594,7 @@
 {-# INLINE div #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dl>@ element.
 --
@@ -612,7 +612,7 @@
 {-# INLINE dl #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dt>@ element.
 --
@@ -630,7 +630,7 @@
 {-# INLINE dt #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<em>@ element.
 --
@@ -648,7 +648,7 @@
 {-# INLINE em #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<fieldset>@ element.
 --
@@ -666,7 +666,7 @@
 {-# INLINE fieldset #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<font>@ element.
 --
@@ -684,7 +684,7 @@
 {-# INLINE font #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<form>@ element.
 --
@@ -702,7 +702,7 @@
 {-# INLINE form #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<frame />@ element.
 --
@@ -719,7 +719,7 @@
 {-# INLINE frame #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<frameset>@ element.
 --
@@ -737,7 +737,7 @@
 {-# INLINE frameset #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h1>@ element.
 --
@@ -755,7 +755,7 @@
 {-# INLINE h1 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h2>@ element.
 --
@@ -773,7 +773,7 @@
 {-# INLINE h2 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h3>@ element.
 --
@@ -791,7 +791,7 @@
 {-# INLINE h3 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h4>@ element.
 --
@@ -809,7 +809,7 @@
 {-# INLINE h4 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h5>@ element.
 --
@@ -827,7 +827,7 @@
 {-# INLINE h5 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h6>@ element.
 --
@@ -845,7 +845,7 @@
 {-# INLINE h6 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<head>@ element.
 --
@@ -863,7 +863,7 @@
 {-# INLINE head #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<hr />@ element.
 --
@@ -880,7 +880,7 @@
 {-# INLINE hr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<html>@ element.
 --
@@ -898,7 +898,7 @@
 {-# INLINE html #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<i>@ element.
 --
@@ -916,7 +916,7 @@
 {-# INLINE i #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<iframe>@ element.
 --
@@ -934,7 +934,7 @@
 {-# INLINE iframe #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<img />@ element.
 --
@@ -951,7 +951,7 @@
 {-# INLINE img #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<input />@ element.
 --
@@ -968,7 +968,7 @@
 {-# INLINE input #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<ins>@ element.
 --
@@ -986,7 +986,7 @@
 {-# INLINE ins #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<isindex>@ element.
 --
@@ -1004,7 +1004,7 @@
 {-# INLINE isindex #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<kbd>@ element.
 --
@@ -1022,7 +1022,7 @@
 {-# INLINE kbd #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<label>@ element.
 --
@@ -1040,7 +1040,7 @@
 {-# INLINE label #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<legend>@ element.
 --
@@ -1058,7 +1058,7 @@
 {-# INLINE legend #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<li>@ element.
 --
@@ -1076,7 +1076,7 @@
 {-# INLINE li #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<link />@ element.
 --
@@ -1093,7 +1093,7 @@
 {-# INLINE link #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<map>@ element.
 --
@@ -1111,7 +1111,7 @@
 {-# INLINE map #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<menu>@ element.
 --
@@ -1129,7 +1129,7 @@
 {-# INLINE menu #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<meta />@ element.
 --
@@ -1146,7 +1146,7 @@
 {-# INLINE meta #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<noframes>@ element.
 --
@@ -1164,7 +1164,7 @@
 {-# INLINE noframes #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<noscript>@ element.
 --
@@ -1182,7 +1182,7 @@
 {-# INLINE noscript #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<object>@ element.
 --
@@ -1200,7 +1200,7 @@
 {-# INLINE object #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<ol>@ element.
 --
@@ -1218,7 +1218,7 @@
 {-# INLINE ol #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<optgroup>@ element.
 --
@@ -1236,7 +1236,7 @@
 {-# INLINE optgroup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<option>@ element.
 --
@@ -1254,7 +1254,7 @@
 {-# INLINE option #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<p>@ element.
 --
@@ -1272,7 +1272,7 @@
 {-# INLINE p #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<param />@ element.
 --
@@ -1289,7 +1289,7 @@
 {-# INLINE param #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<pre>@ element.
 --
@@ -1307,7 +1307,7 @@
 {-# INLINE pre #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<q>@ element.
 --
@@ -1325,7 +1325,7 @@
 {-# INLINE q #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<s>@ element.
 --
@@ -1343,7 +1343,7 @@
 {-# INLINE s #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<samp>@ element.
 --
@@ -1361,7 +1361,7 @@
 {-# INLINE samp #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<script>@ element.
 --
@@ -1379,7 +1379,7 @@
 {-# INLINE script #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<select>@ element.
 --
@@ -1397,7 +1397,7 @@
 {-# INLINE select #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<small>@ element.
 --
@@ -1415,7 +1415,7 @@
 {-# INLINE small #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<span>@ element.
 --
@@ -1433,7 +1433,7 @@
 {-# INLINE span #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<strong>@ element.
 --
@@ -1451,7 +1451,7 @@
 {-# INLINE strong #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<style>@ element.
 --
@@ -1469,7 +1469,7 @@
 {-# INLINE style #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<sub>@ element.
 --
@@ -1487,7 +1487,7 @@
 {-# INLINE sub #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<sup>@ element.
 --
@@ -1505,7 +1505,7 @@
 {-# INLINE sup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<table>@ element.
 --
@@ -1523,7 +1523,7 @@
 {-# INLINE table #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tbody>@ element.
 --
@@ -1541,7 +1541,7 @@
 {-# INLINE tbody #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<td>@ element.
 --
@@ -1559,7 +1559,7 @@
 {-# INLINE td #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<textarea>@ element.
 --
@@ -1577,7 +1577,7 @@
 {-# INLINE textarea #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tfoot>@ element.
 --
@@ -1595,7 +1595,7 @@
 {-# INLINE tfoot #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<th>@ element.
 --
@@ -1613,7 +1613,7 @@
 {-# INLINE th #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<thead>@ element.
 --
@@ -1631,7 +1631,7 @@
 {-# INLINE thead #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<title>@ element.
 --
@@ -1649,7 +1649,7 @@
 {-# INLINE title #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tr>@ element.
 --
@@ -1667,7 +1667,7 @@
 {-# INLINE tr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tt>@ element.
 --
@@ -1685,7 +1685,7 @@
 {-# INLINE tt #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<u>@ element.
 --
@@ -1703,7 +1703,7 @@
 {-# INLINE u #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<ul>@ element.
 --
@@ -1721,7 +1721,7 @@
 {-# INLINE ul #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<var>@ element.
 --
diff --git a/Text/Blaze/Html4/FrameSet/Attributes.hs b/Text/Blaze/Html4/FrameSet/Attributes.hs
--- a/Text/Blaze/Html4/FrameSet/Attributes.hs
+++ b/Text/Blaze/Html4/FrameSet/Attributes.hs
@@ -1,5 +1,5 @@
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:91
+-- Util/GenerateHtmlCombinators.hs:92
 --
 -- | This module exports combinators that provide you with the
 -- ability to set attributes on HTML elements.
@@ -113,14 +113,14 @@
     ) where
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:97
+-- Util/GenerateHtmlCombinators.hs:98
 --
 import Prelude ()
 
 import Text.Blaze.Internal (Attribute, AttributeValue, attribute)
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @abbr@ attribute.
 --
@@ -138,7 +138,7 @@
 {-# INLINE abbr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @accept@ attribute.
 --
@@ -156,7 +156,7 @@
 {-# INLINE accept #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @accesskey@ attribute.
 --
@@ -174,7 +174,7 @@
 {-# INLINE accesskey #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @action@ attribute.
 --
@@ -192,7 +192,7 @@
 {-# INLINE action #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @align@ attribute.
 --
@@ -210,7 +210,7 @@
 {-# INLINE align #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @alt@ attribute.
 --
@@ -228,7 +228,7 @@
 {-# INLINE alt #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @archive@ attribute.
 --
@@ -246,7 +246,7 @@
 {-# INLINE archive #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @axis@ attribute.
 --
@@ -264,7 +264,7 @@
 {-# INLINE axis #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @background@ attribute.
 --
@@ -282,7 +282,7 @@
 {-# INLINE background #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @bgcolor@ attribute.
 --
@@ -300,7 +300,7 @@
 {-# INLINE bgcolor #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @border@ attribute.
 --
@@ -318,7 +318,7 @@
 {-# INLINE border #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @cellpadding@ attribute.
 --
@@ -336,7 +336,7 @@
 {-# INLINE cellpadding #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @cellspacing@ attribute.
 --
@@ -354,7 +354,7 @@
 {-# INLINE cellspacing #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @char@ attribute.
 --
@@ -372,7 +372,7 @@
 {-# INLINE char #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @charoff@ attribute.
 --
@@ -390,7 +390,7 @@
 {-# INLINE charoff #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @charset@ attribute.
 --
@@ -408,7 +408,7 @@
 {-# INLINE charset #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @checked@ attribute.
 --
@@ -426,7 +426,7 @@
 {-# INLINE checked #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @cite@ attribute.
 --
@@ -444,7 +444,7 @@
 {-# INLINE cite #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @class@ attribute.
 --
@@ -462,7 +462,7 @@
 {-# INLINE class_ #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @classid@ attribute.
 --
@@ -480,7 +480,7 @@
 {-# INLINE classid #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @clear@ attribute.
 --
@@ -498,7 +498,7 @@
 {-# INLINE clear #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @codebase@ attribute.
 --
@@ -516,7 +516,7 @@
 {-# INLINE codebase #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @codetype@ attribute.
 --
@@ -534,7 +534,7 @@
 {-# INLINE codetype #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @cols@ attribute.
 --
@@ -552,7 +552,7 @@
 {-# INLINE cols #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @colspan@ attribute.
 --
@@ -570,7 +570,7 @@
 {-# INLINE colspan #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @compact@ attribute.
 --
@@ -588,7 +588,7 @@
 {-# INLINE compact #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @content@ attribute.
 --
@@ -606,7 +606,7 @@
 {-# INLINE content #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @coords@ attribute.
 --
@@ -624,7 +624,7 @@
 {-# INLINE coords #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @data@ attribute.
 --
@@ -642,7 +642,7 @@
 {-# INLINE data_ #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @datetime@ attribute.
 --
@@ -660,7 +660,7 @@
 {-# INLINE datetime #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @declare@ attribute.
 --
@@ -678,7 +678,7 @@
 {-# INLINE declare #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @defer@ attribute.
 --
@@ -696,7 +696,7 @@
 {-# INLINE defer #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @dir@ attribute.
 --
@@ -714,7 +714,7 @@
 {-# INLINE dir #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @disabled@ attribute.
 --
@@ -732,7 +732,7 @@
 {-# INLINE disabled #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @enctype@ attribute.
 --
@@ -750,7 +750,7 @@
 {-# INLINE enctype #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @for@ attribute.
 --
@@ -768,7 +768,7 @@
 {-# INLINE for #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @frame@ attribute.
 --
@@ -786,7 +786,7 @@
 {-# INLINE frame #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @frameborder@ attribute.
 --
@@ -804,7 +804,7 @@
 {-# INLINE frameborder #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @headers@ attribute.
 --
@@ -822,7 +822,7 @@
 {-# INLINE headers #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @height@ attribute.
 --
@@ -840,7 +840,7 @@
 {-# INLINE height #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @href@ attribute.
 --
@@ -858,7 +858,7 @@
 {-# INLINE href #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @hreflang@ attribute.
 --
@@ -876,7 +876,7 @@
 {-# INLINE hreflang #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @hspace@ attribute.
 --
@@ -894,7 +894,7 @@
 {-# INLINE hspace #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @http-equiv@ attribute.
 --
@@ -912,7 +912,7 @@
 {-# INLINE httpEquiv #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @id@ attribute.
 --
@@ -930,7 +930,7 @@
 {-# INLINE id #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @label@ attribute.
 --
@@ -948,7 +948,7 @@
 {-# INLINE label #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @lang@ attribute.
 --
@@ -966,7 +966,7 @@
 {-# INLINE lang #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @language@ attribute.
 --
@@ -984,7 +984,7 @@
 {-# INLINE language #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @maxlength@ attribute.
 --
@@ -1002,7 +1002,7 @@
 {-# INLINE maxlength #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @media@ attribute.
 --
@@ -1020,7 +1020,7 @@
 {-# INLINE media #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @method@ attribute.
 --
@@ -1038,7 +1038,7 @@
 {-# INLINE method #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @multiple@ attribute.
 --
@@ -1056,7 +1056,7 @@
 {-# INLINE multiple #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @name@ attribute.
 --
@@ -1074,7 +1074,7 @@
 {-# INLINE name #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @nohref@ attribute.
 --
@@ -1092,7 +1092,7 @@
 {-# INLINE nohref #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @noshade@ attribute.
 --
@@ -1110,7 +1110,7 @@
 {-# INLINE noshade #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @nowrap@ attribute.
 --
@@ -1128,7 +1128,7 @@
 {-# INLINE nowrap #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onabort@ attribute.
 --
@@ -1146,7 +1146,7 @@
 {-# INLINE onabort #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onblur@ attribute.
 --
@@ -1164,7 +1164,7 @@
 {-# INLINE onblur #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onchange@ attribute.
 --
@@ -1182,7 +1182,7 @@
 {-# INLINE onchange #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onclick@ attribute.
 --
@@ -1200,7 +1200,7 @@
 {-# INLINE onclick #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ondblclick@ attribute.
 --
@@ -1218,7 +1218,7 @@
 {-# INLINE ondblclick #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onfocus@ attribute.
 --
@@ -1236,7 +1236,7 @@
 {-# INLINE onfocus #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onkeydown@ attribute.
 --
@@ -1254,7 +1254,7 @@
 {-# INLINE onkeydown #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onkeypress@ attribute.
 --
@@ -1272,7 +1272,7 @@
 {-# INLINE onkeypress #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onkeyup@ attribute.
 --
@@ -1290,7 +1290,7 @@
 {-# INLINE onkeyup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onload@ attribute.
 --
@@ -1308,7 +1308,7 @@
 {-# INLINE onload #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmousedown@ attribute.
 --
@@ -1326,7 +1326,7 @@
 {-# INLINE onmousedown #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmousemove@ attribute.
 --
@@ -1344,7 +1344,7 @@
 {-# INLINE onmousemove #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmouseout@ attribute.
 --
@@ -1362,7 +1362,7 @@
 {-# INLINE onmouseout #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmouseover@ attribute.
 --
@@ -1380,7 +1380,7 @@
 {-# INLINE onmouseover #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmouseup@ attribute.
 --
@@ -1398,7 +1398,7 @@
 {-# INLINE onmouseup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onreset@ attribute.
 --
@@ -1416,7 +1416,7 @@
 {-# INLINE onreset #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onselect@ attribute.
 --
@@ -1434,7 +1434,7 @@
 {-# INLINE onselect #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onsubmit@ attribute.
 --
@@ -1452,7 +1452,7 @@
 {-# INLINE onsubmit #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onunload@ attribute.
 --
@@ -1470,7 +1470,7 @@
 {-# INLINE onunload #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @profile@ attribute.
 --
@@ -1488,7 +1488,7 @@
 {-# INLINE profile #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @readonly@ attribute.
 --
@@ -1506,7 +1506,7 @@
 {-# INLINE readonly #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rel@ attribute.
 --
@@ -1524,7 +1524,7 @@
 {-# INLINE rel #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rev@ attribute.
 --
@@ -1542,7 +1542,7 @@
 {-# INLINE rev #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rows@ attribute.
 --
@@ -1560,7 +1560,7 @@
 {-# INLINE rows #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rowspan@ attribute.
 --
@@ -1578,7 +1578,7 @@
 {-# INLINE rowspan #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rules@ attribute.
 --
@@ -1596,7 +1596,7 @@
 {-# INLINE rules #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @scheme@ attribute.
 --
@@ -1614,7 +1614,7 @@
 {-# INLINE scheme #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @scope@ attribute.
 --
@@ -1632,7 +1632,7 @@
 {-# INLINE scope #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @scrolling@ attribute.
 --
@@ -1650,7 +1650,7 @@
 {-# INLINE scrolling #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @selected@ attribute.
 --
@@ -1668,7 +1668,7 @@
 {-# INLINE selected #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @shape@ attribute.
 --
@@ -1686,7 +1686,7 @@
 {-# INLINE shape #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @size@ attribute.
 --
@@ -1704,7 +1704,7 @@
 {-# INLINE size #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @span@ attribute.
 --
@@ -1722,7 +1722,7 @@
 {-# INLINE span #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @src@ attribute.
 --
@@ -1740,7 +1740,7 @@
 {-# INLINE src #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @standby@ attribute.
 --
@@ -1758,7 +1758,7 @@
 {-# INLINE standby #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @start@ attribute.
 --
@@ -1776,7 +1776,7 @@
 {-# INLINE start #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @style@ attribute.
 --
@@ -1794,7 +1794,7 @@
 {-# INLINE style #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @summary@ attribute.
 --
@@ -1812,7 +1812,7 @@
 {-# INLINE summary #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @tabindex@ attribute.
 --
@@ -1830,7 +1830,7 @@
 {-# INLINE tabindex #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @target@ attribute.
 --
@@ -1848,7 +1848,7 @@
 {-# INLINE target #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @title@ attribute.
 --
@@ -1866,7 +1866,7 @@
 {-# INLINE title #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @type@ attribute.
 --
@@ -1884,7 +1884,7 @@
 {-# INLINE type_ #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @usemap@ attribute.
 --
@@ -1902,7 +1902,7 @@
 {-# INLINE usemap #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @valign@ attribute.
 --
@@ -1920,7 +1920,7 @@
 {-# INLINE valign #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @value@ attribute.
 --
@@ -1938,7 +1938,7 @@
 {-# INLINE value #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @valuetype@ attribute.
 --
@@ -1956,7 +1956,7 @@
 {-# INLINE valuetype #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @vspace@ attribute.
 --
@@ -1974,7 +1974,7 @@
 {-# INLINE vspace #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @width@ attribute.
 --
diff --git a/Text/Blaze/Html4/Strict.hs b/Text/Blaze/Html4/Strict.hs
--- a/Text/Blaze/Html4/Strict.hs
+++ b/Text/Blaze/Html4/Strict.hs
@@ -1,5 +1,5 @@
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:68
+-- Util/GenerateHtmlCombinators.hs:69
 --
 {-# LANGUAGE OverloadedStrings #-}
 -- | This module exports HTML combinators used to create documents.
@@ -87,7 +87,7 @@
     ) where
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:76
+-- Util/GenerateHtmlCombinators.hs:77
 --
 import Prelude ((>>), (.))
 
@@ -95,7 +95,7 @@
 import Text.Blaze.Internal
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:154
+-- Util/GenerateHtmlCombinators.hs:155
 --
 -- | Combinator for the document type. This should be placed at the top
 -- of every HTML page.
@@ -114,7 +114,7 @@
 {-# INLINE docType #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:175
+-- Util/GenerateHtmlCombinators.hs:176
 --
 -- | Combinator for the @\<html>@ element. This combinator will also
 -- insert the correct doctype.
@@ -135,7 +135,7 @@
 {-# INLINE docTypeHtml #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<a>@ element.
 --
@@ -153,7 +153,7 @@
 {-# INLINE a #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<abbr>@ element.
 --
@@ -171,7 +171,7 @@
 {-# INLINE abbr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<acronym>@ element.
 --
@@ -189,7 +189,7 @@
 {-# INLINE acronym #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<address>@ element.
 --
@@ -207,7 +207,7 @@
 {-# INLINE address #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<area />@ element.
 --
@@ -224,7 +224,7 @@
 {-# INLINE area #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<b>@ element.
 --
@@ -242,7 +242,7 @@
 {-# INLINE b #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<bdo>@ element.
 --
@@ -260,7 +260,7 @@
 {-# INLINE bdo #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<big>@ element.
 --
@@ -278,7 +278,7 @@
 {-# INLINE big #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<blockquote>@ element.
 --
@@ -296,7 +296,7 @@
 {-# INLINE blockquote #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<body>@ element.
 --
@@ -314,7 +314,7 @@
 {-# INLINE body #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<br />@ element.
 --
@@ -331,7 +331,7 @@
 {-# INLINE br #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<button>@ element.
 --
@@ -349,7 +349,7 @@
 {-# INLINE button #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<caption>@ element.
 --
@@ -367,7 +367,7 @@
 {-# INLINE caption #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<cite>@ element.
 --
@@ -385,7 +385,7 @@
 {-# INLINE cite #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<code>@ element.
 --
@@ -403,7 +403,7 @@
 {-# INLINE code #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<col />@ element.
 --
@@ -420,7 +420,7 @@
 {-# INLINE col #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<colgroup>@ element.
 --
@@ -438,7 +438,7 @@
 {-# INLINE colgroup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dd>@ element.
 --
@@ -456,7 +456,7 @@
 {-# INLINE dd #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<del>@ element.
 --
@@ -474,7 +474,7 @@
 {-# INLINE del #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dfn>@ element.
 --
@@ -492,7 +492,7 @@
 {-# INLINE dfn #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<div>@ element.
 --
@@ -510,7 +510,7 @@
 {-# INLINE div #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dl>@ element.
 --
@@ -528,7 +528,7 @@
 {-# INLINE dl #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dt>@ element.
 --
@@ -546,7 +546,7 @@
 {-# INLINE dt #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<em>@ element.
 --
@@ -564,7 +564,7 @@
 {-# INLINE em #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<fieldset>@ element.
 --
@@ -582,7 +582,7 @@
 {-# INLINE fieldset #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<form>@ element.
 --
@@ -600,7 +600,7 @@
 {-# INLINE form #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h1>@ element.
 --
@@ -618,7 +618,7 @@
 {-# INLINE h1 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h2>@ element.
 --
@@ -636,7 +636,7 @@
 {-# INLINE h2 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h3>@ element.
 --
@@ -654,7 +654,7 @@
 {-# INLINE h3 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h4>@ element.
 --
@@ -672,7 +672,7 @@
 {-# INLINE h4 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h5>@ element.
 --
@@ -690,7 +690,7 @@
 {-# INLINE h5 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h6>@ element.
 --
@@ -708,7 +708,7 @@
 {-# INLINE h6 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<head>@ element.
 --
@@ -726,7 +726,7 @@
 {-# INLINE head #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<hr />@ element.
 --
@@ -743,7 +743,7 @@
 {-# INLINE hr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<html>@ element.
 --
@@ -761,7 +761,7 @@
 {-# INLINE html #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<i>@ element.
 --
@@ -779,7 +779,7 @@
 {-# INLINE i #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<img />@ element.
 --
@@ -796,7 +796,7 @@
 {-# INLINE img #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<input />@ element.
 --
@@ -813,7 +813,7 @@
 {-# INLINE input #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<ins>@ element.
 --
@@ -831,7 +831,7 @@
 {-# INLINE ins #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<kbd>@ element.
 --
@@ -849,7 +849,7 @@
 {-# INLINE kbd #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<label>@ element.
 --
@@ -867,7 +867,7 @@
 {-# INLINE label #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<legend>@ element.
 --
@@ -885,7 +885,7 @@
 {-# INLINE legend #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<li>@ element.
 --
@@ -903,7 +903,7 @@
 {-# INLINE li #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<link />@ element.
 --
@@ -920,7 +920,7 @@
 {-# INLINE link #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<map>@ element.
 --
@@ -938,7 +938,7 @@
 {-# INLINE map #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<meta />@ element.
 --
@@ -955,7 +955,7 @@
 {-# INLINE meta #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<noscript>@ element.
 --
@@ -973,7 +973,7 @@
 {-# INLINE noscript #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<object>@ element.
 --
@@ -991,7 +991,7 @@
 {-# INLINE object #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<ol>@ element.
 --
@@ -1009,7 +1009,7 @@
 {-# INLINE ol #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<optgroup>@ element.
 --
@@ -1027,7 +1027,7 @@
 {-# INLINE optgroup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<option>@ element.
 --
@@ -1045,7 +1045,7 @@
 {-# INLINE option #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<p>@ element.
 --
@@ -1063,7 +1063,7 @@
 {-# INLINE p #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<param />@ element.
 --
@@ -1080,7 +1080,7 @@
 {-# INLINE param #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<pre>@ element.
 --
@@ -1098,7 +1098,7 @@
 {-# INLINE pre #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<q>@ element.
 --
@@ -1116,7 +1116,7 @@
 {-# INLINE q #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<samp>@ element.
 --
@@ -1134,7 +1134,7 @@
 {-# INLINE samp #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<script>@ element.
 --
@@ -1152,7 +1152,7 @@
 {-# INLINE script #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<select>@ element.
 --
@@ -1170,7 +1170,7 @@
 {-# INLINE select #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<small>@ element.
 --
@@ -1188,7 +1188,7 @@
 {-# INLINE small #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<span>@ element.
 --
@@ -1206,7 +1206,7 @@
 {-# INLINE span #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<strong>@ element.
 --
@@ -1224,7 +1224,7 @@
 {-# INLINE strong #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<style>@ element.
 --
@@ -1242,7 +1242,7 @@
 {-# INLINE style #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<sub>@ element.
 --
@@ -1260,7 +1260,7 @@
 {-# INLINE sub #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<sup>@ element.
 --
@@ -1278,7 +1278,7 @@
 {-# INLINE sup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<table>@ element.
 --
@@ -1296,7 +1296,7 @@
 {-# INLINE table #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tbody>@ element.
 --
@@ -1314,7 +1314,7 @@
 {-# INLINE tbody #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<td>@ element.
 --
@@ -1332,7 +1332,7 @@
 {-# INLINE td #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<textarea>@ element.
 --
@@ -1350,7 +1350,7 @@
 {-# INLINE textarea #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tfoot>@ element.
 --
@@ -1368,7 +1368,7 @@
 {-# INLINE tfoot #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<th>@ element.
 --
@@ -1386,7 +1386,7 @@
 {-# INLINE th #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<thead>@ element.
 --
@@ -1404,7 +1404,7 @@
 {-# INLINE thead #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<title>@ element.
 --
@@ -1422,7 +1422,7 @@
 {-# INLINE title #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tr>@ element.
 --
@@ -1440,7 +1440,7 @@
 {-# INLINE tr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tt>@ element.
 --
@@ -1458,7 +1458,7 @@
 {-# INLINE tt #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<ul>@ element.
 --
@@ -1476,7 +1476,7 @@
 {-# INLINE ul #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<var>@ element.
 --
diff --git a/Text/Blaze/Html4/Strict/Attributes.hs b/Text/Blaze/Html4/Strict/Attributes.hs
--- a/Text/Blaze/Html4/Strict/Attributes.hs
+++ b/Text/Blaze/Html4/Strict/Attributes.hs
@@ -1,5 +1,5 @@
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:91
+-- Util/GenerateHtmlCombinators.hs:92
 --
 -- | This module exports combinators that provide you with the
 -- ability to set attributes on HTML elements.
@@ -100,14 +100,14 @@
     ) where
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:97
+-- Util/GenerateHtmlCombinators.hs:98
 --
 import Prelude ()
 
 import Text.Blaze.Internal (Attribute, AttributeValue, attribute)
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @abbr@ attribute.
 --
@@ -125,7 +125,7 @@
 {-# INLINE abbr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @accept@ attribute.
 --
@@ -143,7 +143,7 @@
 {-# INLINE accept #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @accesskey@ attribute.
 --
@@ -161,7 +161,7 @@
 {-# INLINE accesskey #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @action@ attribute.
 --
@@ -179,7 +179,7 @@
 {-# INLINE action #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @align@ attribute.
 --
@@ -197,7 +197,7 @@
 {-# INLINE align #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @alt@ attribute.
 --
@@ -215,7 +215,7 @@
 {-# INLINE alt #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @archive@ attribute.
 --
@@ -233,7 +233,7 @@
 {-# INLINE archive #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @axis@ attribute.
 --
@@ -251,7 +251,7 @@
 {-# INLINE axis #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @border@ attribute.
 --
@@ -269,7 +269,7 @@
 {-# INLINE border #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @cellpadding@ attribute.
 --
@@ -287,7 +287,7 @@
 {-# INLINE cellpadding #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @cellspacing@ attribute.
 --
@@ -305,7 +305,7 @@
 {-# INLINE cellspacing #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @char@ attribute.
 --
@@ -323,7 +323,7 @@
 {-# INLINE char #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @charoff@ attribute.
 --
@@ -341,7 +341,7 @@
 {-# INLINE charoff #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @charset@ attribute.
 --
@@ -359,7 +359,7 @@
 {-# INLINE charset #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @checked@ attribute.
 --
@@ -377,7 +377,7 @@
 {-# INLINE checked #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @cite@ attribute.
 --
@@ -395,7 +395,7 @@
 {-# INLINE cite #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @class@ attribute.
 --
@@ -413,7 +413,7 @@
 {-# INLINE class_ #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @classid@ attribute.
 --
@@ -431,7 +431,7 @@
 {-# INLINE classid #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @codebase@ attribute.
 --
@@ -449,7 +449,7 @@
 {-# INLINE codebase #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @codetype@ attribute.
 --
@@ -467,7 +467,7 @@
 {-# INLINE codetype #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @cols@ attribute.
 --
@@ -485,7 +485,7 @@
 {-# INLINE cols #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @colspan@ attribute.
 --
@@ -503,7 +503,7 @@
 {-# INLINE colspan #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @content@ attribute.
 --
@@ -521,7 +521,7 @@
 {-# INLINE content #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @coords@ attribute.
 --
@@ -539,7 +539,7 @@
 {-# INLINE coords #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @data@ attribute.
 --
@@ -557,7 +557,7 @@
 {-# INLINE data_ #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @datetime@ attribute.
 --
@@ -575,7 +575,7 @@
 {-# INLINE datetime #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @declare@ attribute.
 --
@@ -593,7 +593,7 @@
 {-# INLINE declare #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @defer@ attribute.
 --
@@ -611,7 +611,7 @@
 {-# INLINE defer #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @dir@ attribute.
 --
@@ -629,7 +629,7 @@
 {-# INLINE dir #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @disabled@ attribute.
 --
@@ -647,7 +647,7 @@
 {-# INLINE disabled #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @enctype@ attribute.
 --
@@ -665,7 +665,7 @@
 {-# INLINE enctype #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @for@ attribute.
 --
@@ -683,7 +683,7 @@
 {-# INLINE for #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @frame@ attribute.
 --
@@ -701,7 +701,7 @@
 {-# INLINE frame #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @headers@ attribute.
 --
@@ -719,7 +719,7 @@
 {-# INLINE headers #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @height@ attribute.
 --
@@ -737,7 +737,7 @@
 {-# INLINE height #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @href@ attribute.
 --
@@ -755,7 +755,7 @@
 {-# INLINE href #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @hreflang@ attribute.
 --
@@ -773,7 +773,7 @@
 {-# INLINE hreflang #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @http-equiv@ attribute.
 --
@@ -791,7 +791,7 @@
 {-# INLINE httpEquiv #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @id@ attribute.
 --
@@ -809,7 +809,7 @@
 {-# INLINE id #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @label@ attribute.
 --
@@ -827,7 +827,7 @@
 {-# INLINE label #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @lang@ attribute.
 --
@@ -845,7 +845,7 @@
 {-# INLINE lang #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @maxlength@ attribute.
 --
@@ -863,7 +863,7 @@
 {-# INLINE maxlength #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @media@ attribute.
 --
@@ -881,7 +881,7 @@
 {-# INLINE media #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @method@ attribute.
 --
@@ -899,7 +899,7 @@
 {-# INLINE method #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @multiple@ attribute.
 --
@@ -917,7 +917,7 @@
 {-# INLINE multiple #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @name@ attribute.
 --
@@ -935,7 +935,7 @@
 {-# INLINE name #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @nohref@ attribute.
 --
@@ -953,7 +953,7 @@
 {-# INLINE nohref #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onabort@ attribute.
 --
@@ -971,7 +971,7 @@
 {-# INLINE onabort #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onblur@ attribute.
 --
@@ -989,7 +989,7 @@
 {-# INLINE onblur #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onchange@ attribute.
 --
@@ -1007,7 +1007,7 @@
 {-# INLINE onchange #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onclick@ attribute.
 --
@@ -1025,7 +1025,7 @@
 {-# INLINE onclick #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ondblclick@ attribute.
 --
@@ -1043,7 +1043,7 @@
 {-# INLINE ondblclick #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onfocus@ attribute.
 --
@@ -1061,7 +1061,7 @@
 {-# INLINE onfocus #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onkeydown@ attribute.
 --
@@ -1079,7 +1079,7 @@
 {-# INLINE onkeydown #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onkeypress@ attribute.
 --
@@ -1097,7 +1097,7 @@
 {-# INLINE onkeypress #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onkeyup@ attribute.
 --
@@ -1115,7 +1115,7 @@
 {-# INLINE onkeyup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onload@ attribute.
 --
@@ -1133,7 +1133,7 @@
 {-# INLINE onload #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmousedown@ attribute.
 --
@@ -1151,7 +1151,7 @@
 {-# INLINE onmousedown #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmousemove@ attribute.
 --
@@ -1169,7 +1169,7 @@
 {-# INLINE onmousemove #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmouseout@ attribute.
 --
@@ -1187,7 +1187,7 @@
 {-# INLINE onmouseout #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmouseover@ attribute.
 --
@@ -1205,7 +1205,7 @@
 {-# INLINE onmouseover #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmouseup@ attribute.
 --
@@ -1223,7 +1223,7 @@
 {-# INLINE onmouseup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onreset@ attribute.
 --
@@ -1241,7 +1241,7 @@
 {-# INLINE onreset #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onselect@ attribute.
 --
@@ -1259,7 +1259,7 @@
 {-# INLINE onselect #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onsubmit@ attribute.
 --
@@ -1277,7 +1277,7 @@
 {-# INLINE onsubmit #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onunload@ attribute.
 --
@@ -1295,7 +1295,7 @@
 {-# INLINE onunload #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @profile@ attribute.
 --
@@ -1313,7 +1313,7 @@
 {-# INLINE profile #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @readonly@ attribute.
 --
@@ -1331,7 +1331,7 @@
 {-# INLINE readonly #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rel@ attribute.
 --
@@ -1349,7 +1349,7 @@
 {-# INLINE rel #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rev@ attribute.
 --
@@ -1367,7 +1367,7 @@
 {-# INLINE rev #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rows@ attribute.
 --
@@ -1385,7 +1385,7 @@
 {-# INLINE rows #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rowspan@ attribute.
 --
@@ -1403,7 +1403,7 @@
 {-# INLINE rowspan #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rules@ attribute.
 --
@@ -1421,7 +1421,7 @@
 {-# INLINE rules #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @scheme@ attribute.
 --
@@ -1439,7 +1439,7 @@
 {-# INLINE scheme #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @scope@ attribute.
 --
@@ -1457,7 +1457,7 @@
 {-# INLINE scope #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @selected@ attribute.
 --
@@ -1475,7 +1475,7 @@
 {-# INLINE selected #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @shape@ attribute.
 --
@@ -1493,7 +1493,7 @@
 {-# INLINE shape #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @size@ attribute.
 --
@@ -1511,7 +1511,7 @@
 {-# INLINE size #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @span@ attribute.
 --
@@ -1529,7 +1529,7 @@
 {-# INLINE span #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @src@ attribute.
 --
@@ -1547,7 +1547,7 @@
 {-# INLINE src #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @standby@ attribute.
 --
@@ -1565,7 +1565,7 @@
 {-# INLINE standby #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @style@ attribute.
 --
@@ -1583,7 +1583,7 @@
 {-# INLINE style #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @summary@ attribute.
 --
@@ -1601,7 +1601,7 @@
 {-# INLINE summary #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @tabindex@ attribute.
 --
@@ -1619,7 +1619,7 @@
 {-# INLINE tabindex #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @title@ attribute.
 --
@@ -1637,7 +1637,7 @@
 {-# INLINE title #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @type@ attribute.
 --
@@ -1655,7 +1655,7 @@
 {-# INLINE type_ #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @usemap@ attribute.
 --
@@ -1673,7 +1673,7 @@
 {-# INLINE usemap #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @valign@ attribute.
 --
@@ -1691,7 +1691,7 @@
 {-# INLINE valign #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @value@ attribute.
 --
@@ -1709,7 +1709,7 @@
 {-# INLINE value #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @valuetype@ attribute.
 --
@@ -1727,7 +1727,7 @@
 {-# INLINE valuetype #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @width@ attribute.
 --
diff --git a/Text/Blaze/Html4/Transitional.hs b/Text/Blaze/Html4/Transitional.hs
--- a/Text/Blaze/Html4/Transitional.hs
+++ b/Text/Blaze/Html4/Transitional.hs
@@ -1,5 +1,5 @@
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:68
+-- Util/GenerateHtmlCombinators.hs:69
 --
 {-# LANGUAGE OverloadedStrings #-}
 -- | This module exports HTML combinators used to create documents.
@@ -98,7 +98,7 @@
     ) where
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:76
+-- Util/GenerateHtmlCombinators.hs:77
 --
 import Prelude ((>>), (.))
 
@@ -106,7 +106,7 @@
 import Text.Blaze.Internal
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:154
+-- Util/GenerateHtmlCombinators.hs:155
 --
 -- | Combinator for the document type. This should be placed at the top
 -- of every HTML page.
@@ -125,7 +125,7 @@
 {-# INLINE docType #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:175
+-- Util/GenerateHtmlCombinators.hs:176
 --
 -- | Combinator for the @\<html>@ element. This combinator will also
 -- insert the correct doctype.
@@ -146,7 +146,7 @@
 {-# INLINE docTypeHtml #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<a>@ element.
 --
@@ -164,7 +164,7 @@
 {-# INLINE a #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<abbr>@ element.
 --
@@ -182,7 +182,7 @@
 {-# INLINE abbr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<acronym>@ element.
 --
@@ -200,7 +200,7 @@
 {-# INLINE acronym #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<address>@ element.
 --
@@ -218,7 +218,7 @@
 {-# INLINE address #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<applet>@ element.
 --
@@ -236,7 +236,7 @@
 {-# INLINE applet #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<area />@ element.
 --
@@ -253,7 +253,7 @@
 {-# INLINE area #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<b>@ element.
 --
@@ -271,7 +271,7 @@
 {-# INLINE b #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<basefont />@ element.
 --
@@ -288,7 +288,7 @@
 {-# INLINE basefont #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<bdo>@ element.
 --
@@ -306,7 +306,7 @@
 {-# INLINE bdo #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<big>@ element.
 --
@@ -324,7 +324,7 @@
 {-# INLINE big #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<blockquote>@ element.
 --
@@ -342,7 +342,7 @@
 {-# INLINE blockquote #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<body>@ element.
 --
@@ -360,7 +360,7 @@
 {-# INLINE body #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<br />@ element.
 --
@@ -377,7 +377,7 @@
 {-# INLINE br #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<button>@ element.
 --
@@ -395,7 +395,7 @@
 {-# INLINE button #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<caption>@ element.
 --
@@ -413,7 +413,7 @@
 {-# INLINE caption #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<center>@ element.
 --
@@ -431,7 +431,7 @@
 {-# INLINE center #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<cite>@ element.
 --
@@ -449,7 +449,7 @@
 {-# INLINE cite #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<code>@ element.
 --
@@ -467,7 +467,7 @@
 {-# INLINE code #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<col />@ element.
 --
@@ -484,7 +484,7 @@
 {-# INLINE col #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<colgroup>@ element.
 --
@@ -502,7 +502,7 @@
 {-# INLINE colgroup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dd>@ element.
 --
@@ -520,7 +520,7 @@
 {-# INLINE dd #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<del>@ element.
 --
@@ -538,7 +538,7 @@
 {-# INLINE del #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dfn>@ element.
 --
@@ -556,7 +556,7 @@
 {-# INLINE dfn #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dir>@ element.
 --
@@ -574,7 +574,7 @@
 {-# INLINE dir #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<div>@ element.
 --
@@ -592,7 +592,7 @@
 {-# INLINE div #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dl>@ element.
 --
@@ -610,7 +610,7 @@
 {-# INLINE dl #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dt>@ element.
 --
@@ -628,7 +628,7 @@
 {-# INLINE dt #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<em>@ element.
 --
@@ -646,7 +646,7 @@
 {-# INLINE em #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<fieldset>@ element.
 --
@@ -664,7 +664,7 @@
 {-# INLINE fieldset #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<font>@ element.
 --
@@ -682,7 +682,7 @@
 {-# INLINE font #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<form>@ element.
 --
@@ -700,7 +700,7 @@
 {-# INLINE form #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h1>@ element.
 --
@@ -718,7 +718,7 @@
 {-# INLINE h1 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h2>@ element.
 --
@@ -736,7 +736,7 @@
 {-# INLINE h2 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h3>@ element.
 --
@@ -754,7 +754,7 @@
 {-# INLINE h3 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h4>@ element.
 --
@@ -772,7 +772,7 @@
 {-# INLINE h4 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h5>@ element.
 --
@@ -790,7 +790,7 @@
 {-# INLINE h5 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h6>@ element.
 --
@@ -808,7 +808,7 @@
 {-# INLINE h6 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<head>@ element.
 --
@@ -826,7 +826,7 @@
 {-# INLINE head #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<hr />@ element.
 --
@@ -843,7 +843,7 @@
 {-# INLINE hr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<html>@ element.
 --
@@ -861,7 +861,7 @@
 {-# INLINE html #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<i>@ element.
 --
@@ -879,7 +879,7 @@
 {-# INLINE i #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<iframe>@ element.
 --
@@ -897,7 +897,7 @@
 {-# INLINE iframe #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<img />@ element.
 --
@@ -914,7 +914,7 @@
 {-# INLINE img #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<input />@ element.
 --
@@ -931,7 +931,7 @@
 {-# INLINE input #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<ins>@ element.
 --
@@ -949,7 +949,7 @@
 {-# INLINE ins #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<isindex>@ element.
 --
@@ -967,7 +967,7 @@
 {-# INLINE isindex #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<kbd>@ element.
 --
@@ -985,7 +985,7 @@
 {-# INLINE kbd #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<label>@ element.
 --
@@ -1003,7 +1003,7 @@
 {-# INLINE label #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<legend>@ element.
 --
@@ -1021,7 +1021,7 @@
 {-# INLINE legend #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<li>@ element.
 --
@@ -1039,7 +1039,7 @@
 {-# INLINE li #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<link />@ element.
 --
@@ -1056,7 +1056,7 @@
 {-# INLINE link #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<map>@ element.
 --
@@ -1074,7 +1074,7 @@
 {-# INLINE map #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<menu>@ element.
 --
@@ -1092,7 +1092,7 @@
 {-# INLINE menu #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<meta />@ element.
 --
@@ -1109,7 +1109,7 @@
 {-# INLINE meta #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<noframes>@ element.
 --
@@ -1127,7 +1127,7 @@
 {-# INLINE noframes #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<noscript>@ element.
 --
@@ -1145,7 +1145,7 @@
 {-# INLINE noscript #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<object>@ element.
 --
@@ -1163,7 +1163,7 @@
 {-# INLINE object #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<ol>@ element.
 --
@@ -1181,7 +1181,7 @@
 {-# INLINE ol #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<optgroup>@ element.
 --
@@ -1199,7 +1199,7 @@
 {-# INLINE optgroup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<option>@ element.
 --
@@ -1217,7 +1217,7 @@
 {-# INLINE option #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<p>@ element.
 --
@@ -1235,7 +1235,7 @@
 {-# INLINE p #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<param />@ element.
 --
@@ -1252,7 +1252,7 @@
 {-# INLINE param #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<pre>@ element.
 --
@@ -1270,7 +1270,7 @@
 {-# INLINE pre #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<q>@ element.
 --
@@ -1288,7 +1288,7 @@
 {-# INLINE q #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<s>@ element.
 --
@@ -1306,7 +1306,7 @@
 {-# INLINE s #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<samp>@ element.
 --
@@ -1324,7 +1324,7 @@
 {-# INLINE samp #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<script>@ element.
 --
@@ -1342,7 +1342,7 @@
 {-# INLINE script #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<select>@ element.
 --
@@ -1360,7 +1360,7 @@
 {-# INLINE select #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<small>@ element.
 --
@@ -1378,7 +1378,7 @@
 {-# INLINE small #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<span>@ element.
 --
@@ -1396,7 +1396,7 @@
 {-# INLINE span #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<strong>@ element.
 --
@@ -1414,7 +1414,7 @@
 {-# INLINE strong #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<style>@ element.
 --
@@ -1432,7 +1432,7 @@
 {-# INLINE style #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<sub>@ element.
 --
@@ -1450,7 +1450,7 @@
 {-# INLINE sub #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<sup>@ element.
 --
@@ -1468,7 +1468,7 @@
 {-# INLINE sup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<table>@ element.
 --
@@ -1486,7 +1486,7 @@
 {-# INLINE table #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tbody>@ element.
 --
@@ -1504,7 +1504,7 @@
 {-# INLINE tbody #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<td>@ element.
 --
@@ -1522,7 +1522,7 @@
 {-# INLINE td #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<textarea>@ element.
 --
@@ -1540,7 +1540,7 @@
 {-# INLINE textarea #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tfoot>@ element.
 --
@@ -1558,7 +1558,7 @@
 {-# INLINE tfoot #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<th>@ element.
 --
@@ -1576,7 +1576,7 @@
 {-# INLINE th #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<thead>@ element.
 --
@@ -1594,7 +1594,7 @@
 {-# INLINE thead #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<title>@ element.
 --
@@ -1612,7 +1612,7 @@
 {-# INLINE title #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tr>@ element.
 --
@@ -1630,7 +1630,7 @@
 {-# INLINE tr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tt>@ element.
 --
@@ -1648,7 +1648,7 @@
 {-# INLINE tt #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<u>@ element.
 --
@@ -1666,7 +1666,7 @@
 {-# INLINE u #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<ul>@ element.
 --
@@ -1684,7 +1684,7 @@
 {-# INLINE ul #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<var>@ element.
 --
diff --git a/Text/Blaze/Html4/Transitional/Attributes.hs b/Text/Blaze/Html4/Transitional/Attributes.hs
--- a/Text/Blaze/Html4/Transitional/Attributes.hs
+++ b/Text/Blaze/Html4/Transitional/Attributes.hs
@@ -1,5 +1,5 @@
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:91
+-- Util/GenerateHtmlCombinators.hs:92
 --
 -- | This module exports combinators that provide you with the
 -- ability to set attributes on HTML elements.
@@ -111,14 +111,14 @@
     ) where
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:97
+-- Util/GenerateHtmlCombinators.hs:98
 --
 import Prelude ()
 
 import Text.Blaze.Internal (Attribute, AttributeValue, attribute)
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @abbr@ attribute.
 --
@@ -136,7 +136,7 @@
 {-# INLINE abbr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @accept@ attribute.
 --
@@ -154,7 +154,7 @@
 {-# INLINE accept #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @accesskey@ attribute.
 --
@@ -172,7 +172,7 @@
 {-# INLINE accesskey #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @action@ attribute.
 --
@@ -190,7 +190,7 @@
 {-# INLINE action #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @align@ attribute.
 --
@@ -208,7 +208,7 @@
 {-# INLINE align #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @alt@ attribute.
 --
@@ -226,7 +226,7 @@
 {-# INLINE alt #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @archive@ attribute.
 --
@@ -244,7 +244,7 @@
 {-# INLINE archive #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @axis@ attribute.
 --
@@ -262,7 +262,7 @@
 {-# INLINE axis #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @background@ attribute.
 --
@@ -280,7 +280,7 @@
 {-# INLINE background #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @bgcolor@ attribute.
 --
@@ -298,7 +298,7 @@
 {-# INLINE bgcolor #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @border@ attribute.
 --
@@ -316,7 +316,7 @@
 {-# INLINE border #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @cellpadding@ attribute.
 --
@@ -334,7 +334,7 @@
 {-# INLINE cellpadding #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @cellspacing@ attribute.
 --
@@ -352,7 +352,7 @@
 {-# INLINE cellspacing #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @char@ attribute.
 --
@@ -370,7 +370,7 @@
 {-# INLINE char #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @charoff@ attribute.
 --
@@ -388,7 +388,7 @@
 {-# INLINE charoff #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @charset@ attribute.
 --
@@ -406,7 +406,7 @@
 {-# INLINE charset #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @checked@ attribute.
 --
@@ -424,7 +424,7 @@
 {-# INLINE checked #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @cite@ attribute.
 --
@@ -442,7 +442,7 @@
 {-# INLINE cite #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @class@ attribute.
 --
@@ -460,7 +460,7 @@
 {-# INLINE class_ #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @classid@ attribute.
 --
@@ -478,7 +478,7 @@
 {-# INLINE classid #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @clear@ attribute.
 --
@@ -496,7 +496,7 @@
 {-# INLINE clear #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @codebase@ attribute.
 --
@@ -514,7 +514,7 @@
 {-# INLINE codebase #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @codetype@ attribute.
 --
@@ -532,7 +532,7 @@
 {-# INLINE codetype #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @cols@ attribute.
 --
@@ -550,7 +550,7 @@
 {-# INLINE cols #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @colspan@ attribute.
 --
@@ -568,7 +568,7 @@
 {-# INLINE colspan #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @compact@ attribute.
 --
@@ -586,7 +586,7 @@
 {-# INLINE compact #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @content@ attribute.
 --
@@ -604,7 +604,7 @@
 {-# INLINE content #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @coords@ attribute.
 --
@@ -622,7 +622,7 @@
 {-# INLINE coords #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @data@ attribute.
 --
@@ -640,7 +640,7 @@
 {-# INLINE data_ #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @datetime@ attribute.
 --
@@ -658,7 +658,7 @@
 {-# INLINE datetime #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @declare@ attribute.
 --
@@ -676,7 +676,7 @@
 {-# INLINE declare #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @defer@ attribute.
 --
@@ -694,7 +694,7 @@
 {-# INLINE defer #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @dir@ attribute.
 --
@@ -712,7 +712,7 @@
 {-# INLINE dir #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @disabled@ attribute.
 --
@@ -730,7 +730,7 @@
 {-# INLINE disabled #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @enctype@ attribute.
 --
@@ -748,7 +748,7 @@
 {-# INLINE enctype #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @for@ attribute.
 --
@@ -766,7 +766,7 @@
 {-# INLINE for #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @frame@ attribute.
 --
@@ -784,7 +784,7 @@
 {-# INLINE frame #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @headers@ attribute.
 --
@@ -802,7 +802,7 @@
 {-# INLINE headers #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @height@ attribute.
 --
@@ -820,7 +820,7 @@
 {-# INLINE height #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @href@ attribute.
 --
@@ -838,7 +838,7 @@
 {-# INLINE href #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @hreflang@ attribute.
 --
@@ -856,7 +856,7 @@
 {-# INLINE hreflang #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @hspace@ attribute.
 --
@@ -874,7 +874,7 @@
 {-# INLINE hspace #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @http-equiv@ attribute.
 --
@@ -892,7 +892,7 @@
 {-# INLINE httpEquiv #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @id@ attribute.
 --
@@ -910,7 +910,7 @@
 {-# INLINE id #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @label@ attribute.
 --
@@ -928,7 +928,7 @@
 {-# INLINE label #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @lang@ attribute.
 --
@@ -946,7 +946,7 @@
 {-# INLINE lang #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @language@ attribute.
 --
@@ -964,7 +964,7 @@
 {-# INLINE language #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @maxlength@ attribute.
 --
@@ -982,7 +982,7 @@
 {-# INLINE maxlength #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @media@ attribute.
 --
@@ -1000,7 +1000,7 @@
 {-# INLINE media #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @method@ attribute.
 --
@@ -1018,7 +1018,7 @@
 {-# INLINE method #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @multiple@ attribute.
 --
@@ -1036,7 +1036,7 @@
 {-# INLINE multiple #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @name@ attribute.
 --
@@ -1054,7 +1054,7 @@
 {-# INLINE name #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @nohref@ attribute.
 --
@@ -1072,7 +1072,7 @@
 {-# INLINE nohref #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @noshade@ attribute.
 --
@@ -1090,7 +1090,7 @@
 {-# INLINE noshade #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @nowrap@ attribute.
 --
@@ -1108,7 +1108,7 @@
 {-# INLINE nowrap #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onabort@ attribute.
 --
@@ -1126,7 +1126,7 @@
 {-# INLINE onabort #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onblur@ attribute.
 --
@@ -1144,7 +1144,7 @@
 {-# INLINE onblur #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onchange@ attribute.
 --
@@ -1162,7 +1162,7 @@
 {-# INLINE onchange #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onclick@ attribute.
 --
@@ -1180,7 +1180,7 @@
 {-# INLINE onclick #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ondblclick@ attribute.
 --
@@ -1198,7 +1198,7 @@
 {-# INLINE ondblclick #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onfocus@ attribute.
 --
@@ -1216,7 +1216,7 @@
 {-# INLINE onfocus #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onkeydown@ attribute.
 --
@@ -1234,7 +1234,7 @@
 {-# INLINE onkeydown #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onkeypress@ attribute.
 --
@@ -1252,7 +1252,7 @@
 {-# INLINE onkeypress #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onkeyup@ attribute.
 --
@@ -1270,7 +1270,7 @@
 {-# INLINE onkeyup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onload@ attribute.
 --
@@ -1288,7 +1288,7 @@
 {-# INLINE onload #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmousedown@ attribute.
 --
@@ -1306,7 +1306,7 @@
 {-# INLINE onmousedown #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmousemove@ attribute.
 --
@@ -1324,7 +1324,7 @@
 {-# INLINE onmousemove #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmouseout@ attribute.
 --
@@ -1342,7 +1342,7 @@
 {-# INLINE onmouseout #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmouseover@ attribute.
 --
@@ -1360,7 +1360,7 @@
 {-# INLINE onmouseover #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmouseup@ attribute.
 --
@@ -1378,7 +1378,7 @@
 {-# INLINE onmouseup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onreset@ attribute.
 --
@@ -1396,7 +1396,7 @@
 {-# INLINE onreset #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onselect@ attribute.
 --
@@ -1414,7 +1414,7 @@
 {-# INLINE onselect #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onsubmit@ attribute.
 --
@@ -1432,7 +1432,7 @@
 {-# INLINE onsubmit #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onunload@ attribute.
 --
@@ -1450,7 +1450,7 @@
 {-# INLINE onunload #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @profile@ attribute.
 --
@@ -1468,7 +1468,7 @@
 {-# INLINE profile #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @readonly@ attribute.
 --
@@ -1486,7 +1486,7 @@
 {-# INLINE readonly #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rel@ attribute.
 --
@@ -1504,7 +1504,7 @@
 {-# INLINE rel #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rev@ attribute.
 --
@@ -1522,7 +1522,7 @@
 {-# INLINE rev #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rows@ attribute.
 --
@@ -1540,7 +1540,7 @@
 {-# INLINE rows #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rowspan@ attribute.
 --
@@ -1558,7 +1558,7 @@
 {-# INLINE rowspan #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rules@ attribute.
 --
@@ -1576,7 +1576,7 @@
 {-# INLINE rules #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @scheme@ attribute.
 --
@@ -1594,7 +1594,7 @@
 {-# INLINE scheme #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @scope@ attribute.
 --
@@ -1612,7 +1612,7 @@
 {-# INLINE scope #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @selected@ attribute.
 --
@@ -1630,7 +1630,7 @@
 {-# INLINE selected #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @shape@ attribute.
 --
@@ -1648,7 +1648,7 @@
 {-# INLINE shape #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @size@ attribute.
 --
@@ -1666,7 +1666,7 @@
 {-# INLINE size #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @span@ attribute.
 --
@@ -1684,7 +1684,7 @@
 {-# INLINE span #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @src@ attribute.
 --
@@ -1702,7 +1702,7 @@
 {-# INLINE src #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @standby@ attribute.
 --
@@ -1720,7 +1720,7 @@
 {-# INLINE standby #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @start@ attribute.
 --
@@ -1738,7 +1738,7 @@
 {-# INLINE start #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @style@ attribute.
 --
@@ -1756,7 +1756,7 @@
 {-# INLINE style #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @summary@ attribute.
 --
@@ -1774,7 +1774,7 @@
 {-# INLINE summary #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @tabindex@ attribute.
 --
@@ -1792,7 +1792,7 @@
 {-# INLINE tabindex #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @target@ attribute.
 --
@@ -1810,7 +1810,7 @@
 {-# INLINE target #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @title@ attribute.
 --
@@ -1828,7 +1828,7 @@
 {-# INLINE title #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @type@ attribute.
 --
@@ -1846,7 +1846,7 @@
 {-# INLINE type_ #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @usemap@ attribute.
 --
@@ -1864,7 +1864,7 @@
 {-# INLINE usemap #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @valign@ attribute.
 --
@@ -1882,7 +1882,7 @@
 {-# INLINE valign #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @value@ attribute.
 --
@@ -1900,7 +1900,7 @@
 {-# INLINE value #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @valuetype@ attribute.
 --
@@ -1918,7 +1918,7 @@
 {-# INLINE valuetype #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @vspace@ attribute.
 --
@@ -1936,7 +1936,7 @@
 {-# INLINE vspace #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @width@ attribute.
 --
diff --git a/Text/Blaze/Html5.hs b/Text/Blaze/Html5.hs
--- a/Text/Blaze/Html5.hs
+++ b/Text/Blaze/Html5.hs
@@ -1,5 +1,5 @@
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:68
+-- Util/GenerateHtmlCombinators.hs:69
 --
 {-# LANGUAGE OverloadedStrings #-}
 -- | This module exports HTML combinators used to create documents.
@@ -114,7 +114,7 @@
     ) where
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:76
+-- Util/GenerateHtmlCombinators.hs:77
 --
 import Prelude ((>>), (.))
 
@@ -122,7 +122,7 @@
 import Text.Blaze.Internal
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:154
+-- Util/GenerateHtmlCombinators.hs:155
 --
 -- | Combinator for the document type. This should be placed at the top
 -- of every HTML page.
@@ -140,7 +140,7 @@
 {-# INLINE docType #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:175
+-- Util/GenerateHtmlCombinators.hs:176
 --
 -- | Combinator for the @\<html>@ element. This combinator will also
 -- insert the correct doctype.
@@ -160,7 +160,7 @@
 {-# INLINE docTypeHtml #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<a>@ element.
 --
@@ -178,7 +178,7 @@
 {-# INLINE a #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<abbr>@ element.
 --
@@ -196,7 +196,7 @@
 {-# INLINE abbr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<address>@ element.
 --
@@ -214,7 +214,7 @@
 {-# INLINE address #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<area />@ element.
 --
@@ -231,7 +231,7 @@
 {-# INLINE area #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<article>@ element.
 --
@@ -249,7 +249,7 @@
 {-# INLINE article #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<aside>@ element.
 --
@@ -267,7 +267,7 @@
 {-# INLINE aside #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<audio>@ element.
 --
@@ -285,7 +285,7 @@
 {-# INLINE audio #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<b>@ element.
 --
@@ -303,7 +303,7 @@
 {-# INLINE b #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<base>@ element.
 --
@@ -321,7 +321,7 @@
 {-# INLINE base #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<bdo>@ element.
 --
@@ -339,7 +339,7 @@
 {-# INLINE bdo #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<blockquote>@ element.
 --
@@ -357,7 +357,7 @@
 {-# INLINE blockquote #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<body>@ element.
 --
@@ -375,7 +375,7 @@
 {-# INLINE body #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<br />@ element.
 --
@@ -392,7 +392,7 @@
 {-# INLINE br #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<button>@ element.
 --
@@ -410,7 +410,7 @@
 {-# INLINE button #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<canvas>@ element.
 --
@@ -428,7 +428,7 @@
 {-# INLINE canvas #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<caption>@ element.
 --
@@ -446,7 +446,7 @@
 {-# INLINE caption #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<cite>@ element.
 --
@@ -464,7 +464,7 @@
 {-# INLINE cite #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<code>@ element.
 --
@@ -482,7 +482,7 @@
 {-# INLINE code #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<col />@ element.
 --
@@ -499,7 +499,7 @@
 {-# INLINE col #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<colgroup>@ element.
 --
@@ -517,7 +517,7 @@
 {-# INLINE colgroup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<command>@ element.
 --
@@ -535,7 +535,7 @@
 {-# INLINE command #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<datalist>@ element.
 --
@@ -553,7 +553,7 @@
 {-# INLINE datalist #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dd>@ element.
 --
@@ -571,7 +571,7 @@
 {-# INLINE dd #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<del>@ element.
 --
@@ -589,7 +589,7 @@
 {-# INLINE del #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<details>@ element.
 --
@@ -607,7 +607,7 @@
 {-# INLINE details #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dfn>@ element.
 --
@@ -625,7 +625,7 @@
 {-# INLINE dfn #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<div>@ element.
 --
@@ -643,7 +643,7 @@
 {-# INLINE div #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dl>@ element.
 --
@@ -661,7 +661,7 @@
 {-# INLINE dl #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<dt>@ element.
 --
@@ -679,7 +679,7 @@
 {-# INLINE dt #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<em>@ element.
 --
@@ -697,7 +697,7 @@
 {-# INLINE em #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<embed />@ element.
 --
@@ -714,7 +714,7 @@
 {-# INLINE embed #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<fieldset>@ element.
 --
@@ -732,7 +732,7 @@
 {-# INLINE fieldset #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<figcaption>@ element.
 --
@@ -750,7 +750,7 @@
 {-# INLINE figcaption #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<figure>@ element.
 --
@@ -768,7 +768,7 @@
 {-# INLINE figure #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<footer>@ element.
 --
@@ -786,7 +786,7 @@
 {-# INLINE footer #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<form>@ element.
 --
@@ -804,7 +804,7 @@
 {-# INLINE form #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h1>@ element.
 --
@@ -822,7 +822,7 @@
 {-# INLINE h1 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h2>@ element.
 --
@@ -840,7 +840,7 @@
 {-# INLINE h2 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h3>@ element.
 --
@@ -858,7 +858,7 @@
 {-# INLINE h3 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h4>@ element.
 --
@@ -876,7 +876,7 @@
 {-# INLINE h4 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h5>@ element.
 --
@@ -894,7 +894,7 @@
 {-# INLINE h5 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<h6>@ element.
 --
@@ -912,7 +912,7 @@
 {-# INLINE h6 #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<head>@ element.
 --
@@ -930,7 +930,7 @@
 {-# INLINE head #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<header>@ element.
 --
@@ -948,7 +948,7 @@
 {-# INLINE header #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<hgroup>@ element.
 --
@@ -966,7 +966,7 @@
 {-# INLINE hgroup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<hr />@ element.
 --
@@ -983,7 +983,7 @@
 {-# INLINE hr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<html>@ element.
 --
@@ -1001,7 +1001,7 @@
 {-# INLINE html #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<i>@ element.
 --
@@ -1019,7 +1019,7 @@
 {-# INLINE i #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<iframe>@ element.
 --
@@ -1037,7 +1037,7 @@
 {-# INLINE iframe #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<img />@ element.
 --
@@ -1054,7 +1054,7 @@
 {-# INLINE img #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<input />@ element.
 --
@@ -1071,7 +1071,7 @@
 {-# INLINE input #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<ins>@ element.
 --
@@ -1089,7 +1089,7 @@
 {-# INLINE ins #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<kbd>@ element.
 --
@@ -1107,7 +1107,7 @@
 {-# INLINE kbd #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<keygen>@ element.
 --
@@ -1125,7 +1125,7 @@
 {-# INLINE keygen #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<label>@ element.
 --
@@ -1143,7 +1143,7 @@
 {-# INLINE label #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<legend>@ element.
 --
@@ -1161,7 +1161,7 @@
 {-# INLINE legend #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<li>@ element.
 --
@@ -1179,7 +1179,7 @@
 {-# INLINE li #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<link />@ element.
 --
@@ -1196,7 +1196,7 @@
 {-# INLINE link #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<map>@ element.
 --
@@ -1214,7 +1214,7 @@
 {-# INLINE map #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<mark>@ element.
 --
@@ -1232,7 +1232,7 @@
 {-# INLINE mark #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<menu>@ element.
 --
@@ -1250,7 +1250,7 @@
 {-# INLINE menu #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<meta />@ element.
 --
@@ -1267,7 +1267,7 @@
 {-# INLINE meta #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<meter>@ element.
 --
@@ -1285,7 +1285,7 @@
 {-# INLINE meter #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<nav>@ element.
 --
@@ -1303,7 +1303,7 @@
 {-# INLINE nav #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<noscript>@ element.
 --
@@ -1321,7 +1321,7 @@
 {-# INLINE noscript #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<object>@ element.
 --
@@ -1339,7 +1339,7 @@
 {-# INLINE object #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<ol>@ element.
 --
@@ -1357,7 +1357,7 @@
 {-# INLINE ol #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<optgroup>@ element.
 --
@@ -1375,7 +1375,7 @@
 {-# INLINE optgroup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<option>@ element.
 --
@@ -1393,7 +1393,7 @@
 {-# INLINE option #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<output>@ element.
 --
@@ -1411,7 +1411,7 @@
 {-# INLINE output #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<p>@ element.
 --
@@ -1429,7 +1429,7 @@
 {-# INLINE p #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:223
+-- Util/GenerateHtmlCombinators.hs:225
 --
 -- | Combinator for the @\<param />@ element.
 --
@@ -1446,7 +1446,7 @@
 {-# INLINE param #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<pre>@ element.
 --
@@ -1464,7 +1464,7 @@
 {-# INLINE pre #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<progress>@ element.
 --
@@ -1482,7 +1482,7 @@
 {-# INLINE progress #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<q>@ element.
 --
@@ -1500,7 +1500,7 @@
 {-# INLINE q #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<rp>@ element.
 --
@@ -1518,7 +1518,7 @@
 {-# INLINE rp #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<rt>@ element.
 --
@@ -1536,7 +1536,7 @@
 {-# INLINE rt #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<ruby>@ element.
 --
@@ -1554,7 +1554,7 @@
 {-# INLINE ruby #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<samp>@ element.
 --
@@ -1572,7 +1572,7 @@
 {-# INLINE samp #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<script>@ element.
 --
@@ -1590,7 +1590,7 @@
 {-# INLINE script #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<section>@ element.
 --
@@ -1608,7 +1608,7 @@
 {-# INLINE section #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<select>@ element.
 --
@@ -1626,7 +1626,7 @@
 {-# INLINE select #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<small>@ element.
 --
@@ -1644,7 +1644,7 @@
 {-# INLINE small #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<source>@ element.
 --
@@ -1662,7 +1662,7 @@
 {-# INLINE source #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<span>@ element.
 --
@@ -1680,7 +1680,7 @@
 {-# INLINE span #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<strong>@ element.
 --
@@ -1698,7 +1698,7 @@
 {-# INLINE strong #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<style>@ element.
 --
@@ -1716,7 +1716,7 @@
 {-# INLINE style #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<sub>@ element.
 --
@@ -1734,7 +1734,7 @@
 {-# INLINE sub #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<summary>@ element.
 --
@@ -1752,7 +1752,7 @@
 {-# INLINE summary #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<sup>@ element.
 --
@@ -1770,7 +1770,7 @@
 {-# INLINE sup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<table>@ element.
 --
@@ -1788,7 +1788,7 @@
 {-# INLINE table #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tbody>@ element.
 --
@@ -1806,7 +1806,7 @@
 {-# INLINE tbody #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<td>@ element.
 --
@@ -1824,7 +1824,7 @@
 {-# INLINE td #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<textarea>@ element.
 --
@@ -1842,7 +1842,7 @@
 {-# INLINE textarea #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tfoot>@ element.
 --
@@ -1860,7 +1860,7 @@
 {-# INLINE tfoot #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<th>@ element.
 --
@@ -1878,7 +1878,7 @@
 {-# INLINE th #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<thead>@ element.
 --
@@ -1896,7 +1896,7 @@
 {-# INLINE thead #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<time>@ element.
 --
@@ -1914,7 +1914,7 @@
 {-# INLINE time #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<title>@ element.
 --
@@ -1932,7 +1932,7 @@
 {-# INLINE title #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<tr>@ element.
 --
@@ -1950,7 +1950,7 @@
 {-# INLINE tr #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<ul>@ element.
 --
@@ -1968,7 +1968,7 @@
 {-# INLINE ul #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<var>@ element.
 --
@@ -1986,7 +1986,7 @@
 {-# INLINE var #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:197
+-- Util/GenerateHtmlCombinators.hs:198
 --
 -- | Combinator for the @\<video>@ element.
 --
diff --git a/Text/Blaze/Html5/Attributes.hs b/Text/Blaze/Html5/Attributes.hs
--- a/Text/Blaze/Html5/Attributes.hs
+++ b/Text/Blaze/Html5/Attributes.hs
@@ -1,5 +1,5 @@
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:91
+-- Util/GenerateHtmlCombinators.hs:92
 --
 -- | This module exports combinators that provide you with the
 -- ability to set attributes on HTML elements.
@@ -175,14 +175,14 @@
     ) where
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:97
+-- Util/GenerateHtmlCombinators.hs:98
 --
 import Prelude ()
 
 import Text.Blaze.Internal (Attribute, AttributeValue, attribute)
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @accept@ attribute.
 --
@@ -200,7 +200,7 @@
 {-# INLINE accept #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @accept-charset@ attribute.
 --
@@ -218,7 +218,7 @@
 {-# INLINE acceptCharset #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @accesskey@ attribute.
 --
@@ -236,7 +236,7 @@
 {-# INLINE accesskey #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @action@ attribute.
 --
@@ -254,7 +254,7 @@
 {-# INLINE action #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @alt@ attribute.
 --
@@ -272,7 +272,7 @@
 {-# INLINE alt #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @async@ attribute.
 --
@@ -290,7 +290,7 @@
 {-# INLINE async #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @autocomplete@ attribute.
 --
@@ -308,7 +308,7 @@
 {-# INLINE autocomplete #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @autofocus@ attribute.
 --
@@ -326,7 +326,7 @@
 {-# INLINE autofocus #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @autoplay@ attribute.
 --
@@ -344,7 +344,7 @@
 {-# INLINE autoplay #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @challenge@ attribute.
 --
@@ -362,7 +362,7 @@
 {-# INLINE challenge #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @charset@ attribute.
 --
@@ -380,7 +380,7 @@
 {-# INLINE charset #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @checked@ attribute.
 --
@@ -398,7 +398,7 @@
 {-# INLINE checked #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @cite@ attribute.
 --
@@ -416,7 +416,7 @@
 {-# INLINE cite #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @class@ attribute.
 --
@@ -434,7 +434,7 @@
 {-# INLINE class_ #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @cols@ attribute.
 --
@@ -452,7 +452,7 @@
 {-# INLINE cols #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @colspan@ attribute.
 --
@@ -470,7 +470,7 @@
 {-# INLINE colspan #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @content@ attribute.
 --
@@ -488,7 +488,7 @@
 {-# INLINE content #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @contenteditable@ attribute.
 --
@@ -506,7 +506,7 @@
 {-# INLINE contenteditable #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @contextmenu@ attribute.
 --
@@ -524,7 +524,7 @@
 {-# INLINE contextmenu #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @controls@ attribute.
 --
@@ -542,7 +542,7 @@
 {-# INLINE controls #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @coords@ attribute.
 --
@@ -560,7 +560,7 @@
 {-# INLINE coords #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @data@ attribute.
 --
@@ -578,7 +578,7 @@
 {-# INLINE data_ #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @datetime@ attribute.
 --
@@ -596,7 +596,7 @@
 {-# INLINE datetime #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @defer@ attribute.
 --
@@ -614,7 +614,7 @@
 {-# INLINE defer #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @dir@ attribute.
 --
@@ -632,7 +632,7 @@
 {-# INLINE dir #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @disabled@ attribute.
 --
@@ -650,7 +650,7 @@
 {-# INLINE disabled #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @draggable@ attribute.
 --
@@ -668,7 +668,7 @@
 {-# INLINE draggable #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @enctype@ attribute.
 --
@@ -686,7 +686,7 @@
 {-# INLINE enctype #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @for@ attribute.
 --
@@ -704,7 +704,7 @@
 {-# INLINE for #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @form@ attribute.
 --
@@ -722,7 +722,7 @@
 {-# INLINE form #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @formaction@ attribute.
 --
@@ -740,7 +740,7 @@
 {-# INLINE formaction #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @formenctype@ attribute.
 --
@@ -758,7 +758,7 @@
 {-# INLINE formenctype #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @formmethod@ attribute.
 --
@@ -776,7 +776,7 @@
 {-# INLINE formmethod #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @formnovalidate@ attribute.
 --
@@ -794,7 +794,7 @@
 {-# INLINE formnovalidate #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @formtarget@ attribute.
 --
@@ -812,7 +812,7 @@
 {-# INLINE formtarget #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @headers@ attribute.
 --
@@ -830,7 +830,7 @@
 {-# INLINE headers #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @height@ attribute.
 --
@@ -848,7 +848,7 @@
 {-# INLINE height #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @hidden@ attribute.
 --
@@ -866,7 +866,7 @@
 {-# INLINE hidden #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @high@ attribute.
 --
@@ -884,7 +884,7 @@
 {-# INLINE high #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @href@ attribute.
 --
@@ -902,7 +902,7 @@
 {-# INLINE href #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @hreflang@ attribute.
 --
@@ -920,7 +920,7 @@
 {-# INLINE hreflang #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @http-equiv@ attribute.
 --
@@ -938,7 +938,7 @@
 {-# INLINE httpEquiv #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @icon@ attribute.
 --
@@ -956,7 +956,7 @@
 {-# INLINE icon #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @id@ attribute.
 --
@@ -974,7 +974,7 @@
 {-# INLINE id #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ismap@ attribute.
 --
@@ -992,7 +992,7 @@
 {-# INLINE ismap #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @item@ attribute.
 --
@@ -1010,7 +1010,7 @@
 {-# INLINE item #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @itemprop@ attribute.
 --
@@ -1028,7 +1028,7 @@
 {-# INLINE itemprop #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @keytype@ attribute.
 --
@@ -1046,7 +1046,7 @@
 {-# INLINE keytype #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @label@ attribute.
 --
@@ -1064,7 +1064,7 @@
 {-# INLINE label #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @lang@ attribute.
 --
@@ -1082,7 +1082,7 @@
 {-# INLINE lang #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @list@ attribute.
 --
@@ -1100,7 +1100,7 @@
 {-# INLINE list #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @loop@ attribute.
 --
@@ -1118,7 +1118,7 @@
 {-# INLINE loop #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @low@ attribute.
 --
@@ -1136,7 +1136,7 @@
 {-# INLINE low #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @manifest@ attribute.
 --
@@ -1154,7 +1154,7 @@
 {-# INLINE manifest #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @max@ attribute.
 --
@@ -1172,7 +1172,7 @@
 {-# INLINE max #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @maxlength@ attribute.
 --
@@ -1190,7 +1190,7 @@
 {-# INLINE maxlength #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @media@ attribute.
 --
@@ -1208,7 +1208,7 @@
 {-# INLINE media #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @method@ attribute.
 --
@@ -1226,7 +1226,7 @@
 {-# INLINE method #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @min@ attribute.
 --
@@ -1244,7 +1244,7 @@
 {-# INLINE min #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @multiple@ attribute.
 --
@@ -1262,7 +1262,7 @@
 {-# INLINE multiple #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @name@ attribute.
 --
@@ -1280,7 +1280,7 @@
 {-# INLINE name #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @novalidate@ attribute.
 --
@@ -1298,7 +1298,7 @@
 {-# INLINE novalidate #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onbeforeonload@ attribute.
 --
@@ -1316,7 +1316,7 @@
 {-# INLINE onbeforeonload #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onbeforeprint@ attribute.
 --
@@ -1334,7 +1334,7 @@
 {-# INLINE onbeforeprint #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onblur@ attribute.
 --
@@ -1352,7 +1352,7 @@
 {-# INLINE onblur #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @oncanplay@ attribute.
 --
@@ -1370,7 +1370,7 @@
 {-# INLINE oncanplay #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @oncanplaythrough@ attribute.
 --
@@ -1388,7 +1388,7 @@
 {-# INLINE oncanplaythrough #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onchange@ attribute.
 --
@@ -1406,7 +1406,7 @@
 {-# INLINE onchange #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onclick@ attribute.
 --
@@ -1424,7 +1424,7 @@
 {-# INLINE onclick #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @oncontextmenu@ attribute.
 --
@@ -1442,7 +1442,7 @@
 {-# INLINE oncontextmenu #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ondblclick@ attribute.
 --
@@ -1460,7 +1460,7 @@
 {-# INLINE ondblclick #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ondrag@ attribute.
 --
@@ -1478,7 +1478,7 @@
 {-# INLINE ondrag #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ondragend@ attribute.
 --
@@ -1496,7 +1496,7 @@
 {-# INLINE ondragend #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ondragenter@ attribute.
 --
@@ -1514,7 +1514,7 @@
 {-# INLINE ondragenter #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ondragleave@ attribute.
 --
@@ -1532,7 +1532,7 @@
 {-# INLINE ondragleave #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ondragover@ attribute.
 --
@@ -1550,7 +1550,7 @@
 {-# INLINE ondragover #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ondragstart@ attribute.
 --
@@ -1568,7 +1568,7 @@
 {-# INLINE ondragstart #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ondrop@ attribute.
 --
@@ -1586,7 +1586,7 @@
 {-# INLINE ondrop #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ondurationchange@ attribute.
 --
@@ -1604,7 +1604,7 @@
 {-# INLINE ondurationchange #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onemptied@ attribute.
 --
@@ -1622,7 +1622,7 @@
 {-# INLINE onemptied #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onended@ attribute.
 --
@@ -1640,7 +1640,7 @@
 {-# INLINE onended #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onerror@ attribute.
 --
@@ -1658,7 +1658,7 @@
 {-# INLINE onerror #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onfocus@ attribute.
 --
@@ -1676,7 +1676,7 @@
 {-# INLINE onfocus #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onformchange@ attribute.
 --
@@ -1694,7 +1694,7 @@
 {-# INLINE onformchange #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onforminput@ attribute.
 --
@@ -1712,7 +1712,7 @@
 {-# INLINE onforminput #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onhaschange@ attribute.
 --
@@ -1730,7 +1730,7 @@
 {-# INLINE onhaschange #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @oninput@ attribute.
 --
@@ -1748,7 +1748,7 @@
 {-# INLINE oninput #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @oninvalid@ attribute.
 --
@@ -1766,7 +1766,7 @@
 {-# INLINE oninvalid #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onkeydown@ attribute.
 --
@@ -1784,7 +1784,7 @@
 {-# INLINE onkeydown #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onkeyup@ attribute.
 --
@@ -1802,7 +1802,7 @@
 {-# INLINE onkeyup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onload@ attribute.
 --
@@ -1820,7 +1820,7 @@
 {-# INLINE onload #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onloadeddata@ attribute.
 --
@@ -1838,7 +1838,7 @@
 {-# INLINE onloadeddata #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onloadedmetadata@ attribute.
 --
@@ -1856,7 +1856,7 @@
 {-# INLINE onloadedmetadata #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onloadstart@ attribute.
 --
@@ -1874,7 +1874,7 @@
 {-# INLINE onloadstart #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmessage@ attribute.
 --
@@ -1892,7 +1892,7 @@
 {-# INLINE onmessage #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmousedown@ attribute.
 --
@@ -1910,7 +1910,7 @@
 {-# INLINE onmousedown #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmousemove@ attribute.
 --
@@ -1928,7 +1928,7 @@
 {-# INLINE onmousemove #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmouseout@ attribute.
 --
@@ -1946,7 +1946,7 @@
 {-# INLINE onmouseout #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmouseover@ attribute.
 --
@@ -1964,7 +1964,7 @@
 {-# INLINE onmouseover #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmouseup@ attribute.
 --
@@ -1982,7 +1982,7 @@
 {-# INLINE onmouseup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onmousewheel@ attribute.
 --
@@ -2000,7 +2000,7 @@
 {-# INLINE onmousewheel #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ononline@ attribute.
 --
@@ -2018,7 +2018,7 @@
 {-# INLINE ononline #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onpagehide@ attribute.
 --
@@ -2036,7 +2036,7 @@
 {-# INLINE onpagehide #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onpageshow@ attribute.
 --
@@ -2054,7 +2054,7 @@
 {-# INLINE onpageshow #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onpause@ attribute.
 --
@@ -2072,7 +2072,7 @@
 {-# INLINE onpause #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onplay@ attribute.
 --
@@ -2090,7 +2090,7 @@
 {-# INLINE onplay #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onplaying@ attribute.
 --
@@ -2108,7 +2108,7 @@
 {-# INLINE onplaying #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onprogress@ attribute.
 --
@@ -2126,7 +2126,7 @@
 {-# INLINE onprogress #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onpropstate@ attribute.
 --
@@ -2144,7 +2144,7 @@
 {-# INLINE onpropstate #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onratechange@ attribute.
 --
@@ -2162,7 +2162,7 @@
 {-# INLINE onratechange #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onreadystatechange@ attribute.
 --
@@ -2180,7 +2180,7 @@
 {-# INLINE onreadystatechange #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onredo@ attribute.
 --
@@ -2198,7 +2198,7 @@
 {-# INLINE onredo #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onresize@ attribute.
 --
@@ -2216,7 +2216,7 @@
 {-# INLINE onresize #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onscroll@ attribute.
 --
@@ -2234,7 +2234,7 @@
 {-# INLINE onscroll #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onseeked@ attribute.
 --
@@ -2252,7 +2252,7 @@
 {-# INLINE onseeked #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onseeking@ attribute.
 --
@@ -2270,7 +2270,7 @@
 {-# INLINE onseeking #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onselect@ attribute.
 --
@@ -2288,7 +2288,7 @@
 {-# INLINE onselect #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onstalled@ attribute.
 --
@@ -2306,7 +2306,7 @@
 {-# INLINE onstalled #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onstorage@ attribute.
 --
@@ -2324,7 +2324,7 @@
 {-# INLINE onstorage #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onsubmit@ attribute.
 --
@@ -2342,7 +2342,7 @@
 {-# INLINE onsubmit #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onsuspend@ attribute.
 --
@@ -2360,7 +2360,7 @@
 {-# INLINE onsuspend #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ontimeupdate@ attribute.
 --
@@ -2378,7 +2378,7 @@
 {-# INLINE ontimeupdate #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onundo@ attribute.
 --
@@ -2396,7 +2396,7 @@
 {-# INLINE onundo #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onunload@ attribute.
 --
@@ -2414,7 +2414,7 @@
 {-# INLINE onunload #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onvolumechange@ attribute.
 --
@@ -2432,7 +2432,7 @@
 {-# INLINE onvolumechange #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @onwaiting@ attribute.
 --
@@ -2450,7 +2450,7 @@
 {-# INLINE onwaiting #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @open@ attribute.
 --
@@ -2468,7 +2468,7 @@
 {-# INLINE open #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @optimum@ attribute.
 --
@@ -2486,7 +2486,7 @@
 {-# INLINE optimum #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @pattern@ attribute.
 --
@@ -2504,7 +2504,7 @@
 {-# INLINE pattern #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @ping@ attribute.
 --
@@ -2522,7 +2522,7 @@
 {-# INLINE ping #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @placeholder@ attribute.
 --
@@ -2540,7 +2540,7 @@
 {-# INLINE placeholder #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @preload@ attribute.
 --
@@ -2558,7 +2558,7 @@
 {-# INLINE preload #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @pubdate@ attribute.
 --
@@ -2576,7 +2576,7 @@
 {-# INLINE pubdate #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @radiogroup@ attribute.
 --
@@ -2594,7 +2594,7 @@
 {-# INLINE radiogroup #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @readonly@ attribute.
 --
@@ -2612,7 +2612,7 @@
 {-# INLINE readonly #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rel@ attribute.
 --
@@ -2630,7 +2630,7 @@
 {-# INLINE rel #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @required@ attribute.
 --
@@ -2648,7 +2648,7 @@
 {-# INLINE required #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @reversed@ attribute.
 --
@@ -2666,7 +2666,7 @@
 {-# INLINE reversed #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rows@ attribute.
 --
@@ -2684,7 +2684,7 @@
 {-# INLINE rows #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @rowspan@ attribute.
 --
@@ -2702,7 +2702,7 @@
 {-# INLINE rowspan #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @sandbox@ attribute.
 --
@@ -2720,7 +2720,7 @@
 {-# INLINE sandbox #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @scope@ attribute.
 --
@@ -2738,7 +2738,7 @@
 {-# INLINE scope #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @scoped@ attribute.
 --
@@ -2756,7 +2756,7 @@
 {-# INLINE scoped #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @seamless@ attribute.
 --
@@ -2774,7 +2774,7 @@
 {-# INLINE seamless #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @selected@ attribute.
 --
@@ -2792,7 +2792,7 @@
 {-# INLINE selected #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @shape@ attribute.
 --
@@ -2810,7 +2810,7 @@
 {-# INLINE shape #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @size@ attribute.
 --
@@ -2828,7 +2828,7 @@
 {-# INLINE size #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @sizes@ attribute.
 --
@@ -2846,7 +2846,7 @@
 {-# INLINE sizes #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @span@ attribute.
 --
@@ -2864,7 +2864,7 @@
 {-# INLINE span #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @spellcheck@ attribute.
 --
@@ -2882,7 +2882,7 @@
 {-# INLINE spellcheck #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @src@ attribute.
 --
@@ -2900,7 +2900,7 @@
 {-# INLINE src #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @srcdoc@ attribute.
 --
@@ -2918,7 +2918,7 @@
 {-# INLINE srcdoc #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @start@ attribute.
 --
@@ -2936,7 +2936,7 @@
 {-# INLINE start #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @step@ attribute.
 --
@@ -2954,7 +2954,7 @@
 {-# INLINE step #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @style@ attribute.
 --
@@ -2972,7 +2972,7 @@
 {-# INLINE style #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @subject@ attribute.
 --
@@ -2990,7 +2990,7 @@
 {-# INLINE subject #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @summary@ attribute.
 --
@@ -3008,7 +3008,7 @@
 {-# INLINE summary #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @tabindex@ attribute.
 --
@@ -3026,7 +3026,7 @@
 {-# INLINE tabindex #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @target@ attribute.
 --
@@ -3044,7 +3044,7 @@
 {-# INLINE target #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @title@ attribute.
 --
@@ -3062,7 +3062,7 @@
 {-# INLINE title #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @type@ attribute.
 --
@@ -3080,7 +3080,7 @@
 {-# INLINE type_ #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @usemap@ attribute.
 --
@@ -3098,7 +3098,7 @@
 {-# INLINE usemap #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @value@ attribute.
 --
@@ -3116,7 +3116,7 @@
 {-# INLINE value #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @width@ attribute.
 --
@@ -3134,7 +3134,7 @@
 {-# INLINE width #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @wrap@ attribute.
 --
@@ -3152,7 +3152,7 @@
 {-# INLINE wrap #-}
 
 -- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:245
+-- Util/GenerateHtmlCombinators.hs:248
 --
 -- | Combinator for the @xmlns@ attribute.
 --
diff --git a/Text/Blaze/XHtml1/FrameSet.hs b/Text/Blaze/XHtml1/FrameSet.hs
new file mode 100644
--- /dev/null
+++ b/Text/Blaze/XHtml1/FrameSet.hs
@@ -0,0 +1,1739 @@
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:69
+--
+{-# LANGUAGE OverloadedStrings #-}
+-- | This module exports HTML combinators used to create documents.
+--
+module Text.Blaze.XHtml1.FrameSet
+    ( module Text.Blaze
+    , docType
+    , docTypeHtml
+    , a
+    , abbr
+    , acronym
+    , address
+    , applet
+    , area
+    , b
+    , basefont
+    , bdo
+    , big
+    , blockquote
+    , body
+    , br
+    , button
+    , caption
+    , center
+    , cite
+    , code
+    , col
+    , colgroup
+    , dd
+    , del
+    , dfn
+    , dir
+    , div
+    , dl
+    , dt
+    , em
+    , fieldset
+    , font
+    , form
+    , frame
+    , frameset
+    , h1
+    , h2
+    , h3
+    , h4
+    , h5
+    , h6
+    , head
+    , hr
+    , html
+    , i
+    , iframe
+    , img
+    , input
+    , ins
+    , isindex
+    , kbd
+    , label
+    , legend
+    , li
+    , link
+    , map
+    , menu
+    , meta
+    , noframes
+    , noscript
+    , object
+    , ol
+    , optgroup
+    , option
+    , p
+    , param
+    , pre
+    , q
+    , s
+    , samp
+    , script
+    , select
+    , small
+    , span
+    , strong
+    , style
+    , sub
+    , sup
+    , table
+    , tbody
+    , td
+    , textarea
+    , tfoot
+    , th
+    , thead
+    , title
+    , tr
+    , tt
+    , u
+    , ul
+    , var
+    ) where
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:77
+--
+import Prelude ((>>), (.))
+
+import Text.Blaze
+import Text.Blaze.Internal
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:155
+--
+-- | Combinator for the document type. This should be placed at the top
+-- of every HTML page.
+--
+-- Example:
+--
+-- > docType
+--
+-- Result:
+--
+-- > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 FrameSet//EN"
+-- >     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
+--
+docType :: Html  -- ^ The document type HTML.
+docType = preEscapedText "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 FrameSet//EN\"\n    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">\n"
+{-# INLINE docType #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:176
+--
+-- | Combinator for the @\<html>@ element. This combinator will also
+-- insert the correct doctype.
+--
+-- Example:
+--
+-- > docTypeHtml $ span $ text "foo"
+--
+-- Result:
+--
+-- > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 FrameSet//EN"
+-- >     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
+-- > <html><span>foo</span></html>
+--
+docTypeHtml :: Html  -- ^ Inner HTML.
+            -> Html  -- ^ Resulting HTML.
+docTypeHtml inner = docType >> html inner
+{-# INLINE docTypeHtml #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<a>@ element.
+--
+-- Example:
+--
+-- > a $ span $ text "foo"
+--
+-- Result:
+--
+-- > <a><span>foo</span></a>
+--
+a :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+a = Parent "a" "<a" "</a>"
+{-# INLINE a #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<abbr>@ element.
+--
+-- Example:
+--
+-- > abbr $ span $ text "foo"
+--
+-- Result:
+--
+-- > <abbr><span>foo</span></abbr>
+--
+abbr :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+abbr = Parent "abbr" "<abbr" "</abbr>"
+{-# INLINE abbr #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<acronym>@ element.
+--
+-- Example:
+--
+-- > acronym $ span $ text "foo"
+--
+-- Result:
+--
+-- > <acronym><span>foo</span></acronym>
+--
+acronym :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+acronym = Parent "acronym" "<acronym" "</acronym>"
+{-# INLINE acronym #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<address>@ element.
+--
+-- Example:
+--
+-- > address $ span $ text "foo"
+--
+-- Result:
+--
+-- > <address><span>foo</span></address>
+--
+address :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+address = Parent "address" "<address" "</address>"
+{-# INLINE address #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<applet>@ element.
+--
+-- Example:
+--
+-- > applet $ span $ text "foo"
+--
+-- Result:
+--
+-- > <applet><span>foo</span></applet>
+--
+applet :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+applet = Parent "applet" "<applet" "</applet>"
+{-# INLINE applet #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<area />@ element.
+--
+-- Example:
+--
+-- > area
+--
+-- Result:
+--
+-- > <area />
+--
+area :: Html  -- ^ Resulting HTML.
+area = Leaf "area" "<area" " />"
+{-# INLINE area #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<b>@ element.
+--
+-- Example:
+--
+-- > b $ span $ text "foo"
+--
+-- Result:
+--
+-- > <b><span>foo</span></b>
+--
+b :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+b = Parent "b" "<b" "</b>"
+{-# INLINE b #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<basefont />@ element.
+--
+-- Example:
+--
+-- > basefont
+--
+-- Result:
+--
+-- > <basefont />
+--
+basefont :: Html  -- ^ Resulting HTML.
+basefont = Leaf "basefont" "<basefont" " />"
+{-# INLINE basefont #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<bdo>@ element.
+--
+-- Example:
+--
+-- > bdo $ span $ text "foo"
+--
+-- Result:
+--
+-- > <bdo><span>foo</span></bdo>
+--
+bdo :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+bdo = Parent "bdo" "<bdo" "</bdo>"
+{-# INLINE bdo #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<big>@ element.
+--
+-- Example:
+--
+-- > big $ span $ text "foo"
+--
+-- Result:
+--
+-- > <big><span>foo</span></big>
+--
+big :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+big = Parent "big" "<big" "</big>"
+{-# INLINE big #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<blockquote>@ element.
+--
+-- Example:
+--
+-- > blockquote $ span $ text "foo"
+--
+-- Result:
+--
+-- > <blockquote><span>foo</span></blockquote>
+--
+blockquote :: Html  -- ^ Inner HTML.
+           -> Html  -- ^ Resulting HTML.
+blockquote = Parent "blockquote" "<blockquote" "</blockquote>"
+{-# INLINE blockquote #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<body>@ element.
+--
+-- Example:
+--
+-- > body $ span $ text "foo"
+--
+-- Result:
+--
+-- > <body><span>foo</span></body>
+--
+body :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+body = Parent "body" "<body" "</body>"
+{-# INLINE body #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<br />@ element.
+--
+-- Example:
+--
+-- > br
+--
+-- Result:
+--
+-- > <br />
+--
+br :: Html  -- ^ Resulting HTML.
+br = Leaf "br" "<br" " />"
+{-# INLINE br #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<button>@ element.
+--
+-- Example:
+--
+-- > button $ span $ text "foo"
+--
+-- Result:
+--
+-- > <button><span>foo</span></button>
+--
+button :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+button = Parent "button" "<button" "</button>"
+{-# INLINE button #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<caption>@ element.
+--
+-- Example:
+--
+-- > caption $ span $ text "foo"
+--
+-- Result:
+--
+-- > <caption><span>foo</span></caption>
+--
+caption :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+caption = Parent "caption" "<caption" "</caption>"
+{-# INLINE caption #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<center>@ element.
+--
+-- Example:
+--
+-- > center $ span $ text "foo"
+--
+-- Result:
+--
+-- > <center><span>foo</span></center>
+--
+center :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+center = Parent "center" "<center" "</center>"
+{-# INLINE center #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<cite>@ element.
+--
+-- Example:
+--
+-- > cite $ span $ text "foo"
+--
+-- Result:
+--
+-- > <cite><span>foo</span></cite>
+--
+cite :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+cite = Parent "cite" "<cite" "</cite>"
+{-# INLINE cite #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<code>@ element.
+--
+-- Example:
+--
+-- > code $ span $ text "foo"
+--
+-- Result:
+--
+-- > <code><span>foo</span></code>
+--
+code :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+code = Parent "code" "<code" "</code>"
+{-# INLINE code #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<col />@ element.
+--
+-- Example:
+--
+-- > col
+--
+-- Result:
+--
+-- > <col />
+--
+col :: Html  -- ^ Resulting HTML.
+col = Leaf "col" "<col" " />"
+{-# INLINE col #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<colgroup>@ element.
+--
+-- Example:
+--
+-- > colgroup $ span $ text "foo"
+--
+-- Result:
+--
+-- > <colgroup><span>foo</span></colgroup>
+--
+colgroup :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+colgroup = Parent "colgroup" "<colgroup" "</colgroup>"
+{-# INLINE colgroup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<dd>@ element.
+--
+-- Example:
+--
+-- > dd $ span $ text "foo"
+--
+-- Result:
+--
+-- > <dd><span>foo</span></dd>
+--
+dd :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+dd = Parent "dd" "<dd" "</dd>"
+{-# INLINE dd #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<del>@ element.
+--
+-- Example:
+--
+-- > del $ span $ text "foo"
+--
+-- Result:
+--
+-- > <del><span>foo</span></del>
+--
+del :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+del = Parent "del" "<del" "</del>"
+{-# INLINE del #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<dfn>@ element.
+--
+-- Example:
+--
+-- > dfn $ span $ text "foo"
+--
+-- Result:
+--
+-- > <dfn><span>foo</span></dfn>
+--
+dfn :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+dfn = Parent "dfn" "<dfn" "</dfn>"
+{-# INLINE dfn #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<dir>@ element.
+--
+-- Example:
+--
+-- > dir $ span $ text "foo"
+--
+-- Result:
+--
+-- > <dir><span>foo</span></dir>
+--
+dir :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+dir = Parent "dir" "<dir" "</dir>"
+{-# INLINE dir #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<div>@ element.
+--
+-- Example:
+--
+-- > div $ span $ text "foo"
+--
+-- Result:
+--
+-- > <div><span>foo</span></div>
+--
+div :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+div = Parent "div" "<div" "</div>"
+{-# INLINE div #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<dl>@ element.
+--
+-- Example:
+--
+-- > dl $ span $ text "foo"
+--
+-- Result:
+--
+-- > <dl><span>foo</span></dl>
+--
+dl :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+dl = Parent "dl" "<dl" "</dl>"
+{-# INLINE dl #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<dt>@ element.
+--
+-- Example:
+--
+-- > dt $ span $ text "foo"
+--
+-- Result:
+--
+-- > <dt><span>foo</span></dt>
+--
+dt :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+dt = Parent "dt" "<dt" "</dt>"
+{-# INLINE dt #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<em>@ element.
+--
+-- Example:
+--
+-- > em $ span $ text "foo"
+--
+-- Result:
+--
+-- > <em><span>foo</span></em>
+--
+em :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+em = Parent "em" "<em" "</em>"
+{-# INLINE em #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<fieldset>@ element.
+--
+-- Example:
+--
+-- > fieldset $ span $ text "foo"
+--
+-- Result:
+--
+-- > <fieldset><span>foo</span></fieldset>
+--
+fieldset :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+fieldset = Parent "fieldset" "<fieldset" "</fieldset>"
+{-# INLINE fieldset #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<font>@ element.
+--
+-- Example:
+--
+-- > font $ span $ text "foo"
+--
+-- Result:
+--
+-- > <font><span>foo</span></font>
+--
+font :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+font = Parent "font" "<font" "</font>"
+{-# INLINE font #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<form>@ element.
+--
+-- Example:
+--
+-- > form $ span $ text "foo"
+--
+-- Result:
+--
+-- > <form><span>foo</span></form>
+--
+form :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+form = Parent "form" "<form" "</form>"
+{-# INLINE form #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<frame />@ element.
+--
+-- Example:
+--
+-- > frame
+--
+-- Result:
+--
+-- > <frame />
+--
+frame :: Html  -- ^ Resulting HTML.
+frame = Leaf "frame" "<frame" " />"
+{-# INLINE frame #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<frameset>@ element.
+--
+-- Example:
+--
+-- > frameset $ span $ text "foo"
+--
+-- Result:
+--
+-- > <frameset><span>foo</span></frameset>
+--
+frameset :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+frameset = Parent "frameset" "<frameset" "</frameset>"
+{-# INLINE frameset #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h1>@ element.
+--
+-- Example:
+--
+-- > h1 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h1><span>foo</span></h1>
+--
+h1 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h1 = Parent "h1" "<h1" "</h1>"
+{-# INLINE h1 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h2>@ element.
+--
+-- Example:
+--
+-- > h2 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h2><span>foo</span></h2>
+--
+h2 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h2 = Parent "h2" "<h2" "</h2>"
+{-# INLINE h2 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h3>@ element.
+--
+-- Example:
+--
+-- > h3 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h3><span>foo</span></h3>
+--
+h3 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h3 = Parent "h3" "<h3" "</h3>"
+{-# INLINE h3 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h4>@ element.
+--
+-- Example:
+--
+-- > h4 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h4><span>foo</span></h4>
+--
+h4 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h4 = Parent "h4" "<h4" "</h4>"
+{-# INLINE h4 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h5>@ element.
+--
+-- Example:
+--
+-- > h5 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h5><span>foo</span></h5>
+--
+h5 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h5 = Parent "h5" "<h5" "</h5>"
+{-# INLINE h5 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h6>@ element.
+--
+-- Example:
+--
+-- > h6 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h6><span>foo</span></h6>
+--
+h6 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h6 = Parent "h6" "<h6" "</h6>"
+{-# INLINE h6 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<head>@ element.
+--
+-- Example:
+--
+-- > head $ span $ text "foo"
+--
+-- Result:
+--
+-- > <head><span>foo</span></head>
+--
+head :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+head = Parent "head" "<head" "</head>"
+{-# INLINE head #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<hr />@ element.
+--
+-- Example:
+--
+-- > hr
+--
+-- Result:
+--
+-- > <hr />
+--
+hr :: Html  -- ^ Resulting HTML.
+hr = Leaf "hr" "<hr" " />"
+{-# INLINE hr #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<html>@ element.
+--
+-- Example:
+--
+-- > html $ span $ text "foo"
+--
+-- Result:
+--
+-- > <html><span>foo</span></html>
+--
+html :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+html = Parent "html" "<html" "</html>"
+{-# INLINE html #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<i>@ element.
+--
+-- Example:
+--
+-- > i $ span $ text "foo"
+--
+-- Result:
+--
+-- > <i><span>foo</span></i>
+--
+i :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+i = Parent "i" "<i" "</i>"
+{-# INLINE i #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<iframe>@ element.
+--
+-- Example:
+--
+-- > iframe $ span $ text "foo"
+--
+-- Result:
+--
+-- > <iframe><span>foo</span></iframe>
+--
+iframe :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+iframe = Parent "iframe" "<iframe" "</iframe>"
+{-# INLINE iframe #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<img />@ element.
+--
+-- Example:
+--
+-- > img
+--
+-- Result:
+--
+-- > <img />
+--
+img :: Html  -- ^ Resulting HTML.
+img = Leaf "img" "<img" " />"
+{-# INLINE img #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<input />@ element.
+--
+-- Example:
+--
+-- > input
+--
+-- Result:
+--
+-- > <input />
+--
+input :: Html  -- ^ Resulting HTML.
+input = Leaf "input" "<input" " />"
+{-# INLINE input #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<ins>@ element.
+--
+-- Example:
+--
+-- > ins $ span $ text "foo"
+--
+-- Result:
+--
+-- > <ins><span>foo</span></ins>
+--
+ins :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+ins = Parent "ins" "<ins" "</ins>"
+{-# INLINE ins #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<isindex>@ element.
+--
+-- Example:
+--
+-- > isindex $ span $ text "foo"
+--
+-- Result:
+--
+-- > <isindex><span>foo</span></isindex>
+--
+isindex :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+isindex = Parent "isindex" "<isindex" "</isindex>"
+{-# INLINE isindex #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<kbd>@ element.
+--
+-- Example:
+--
+-- > kbd $ span $ text "foo"
+--
+-- Result:
+--
+-- > <kbd><span>foo</span></kbd>
+--
+kbd :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+kbd = Parent "kbd" "<kbd" "</kbd>"
+{-# INLINE kbd #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<label>@ element.
+--
+-- Example:
+--
+-- > label $ span $ text "foo"
+--
+-- Result:
+--
+-- > <label><span>foo</span></label>
+--
+label :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+label = Parent "label" "<label" "</label>"
+{-# INLINE label #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<legend>@ element.
+--
+-- Example:
+--
+-- > legend $ span $ text "foo"
+--
+-- Result:
+--
+-- > <legend><span>foo</span></legend>
+--
+legend :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+legend = Parent "legend" "<legend" "</legend>"
+{-# INLINE legend #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<li>@ element.
+--
+-- Example:
+--
+-- > li $ span $ text "foo"
+--
+-- Result:
+--
+-- > <li><span>foo</span></li>
+--
+li :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+li = Parent "li" "<li" "</li>"
+{-# INLINE li #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<link />@ element.
+--
+-- Example:
+--
+-- > link
+--
+-- Result:
+--
+-- > <link />
+--
+link :: Html  -- ^ Resulting HTML.
+link = Leaf "link" "<link" " />"
+{-# INLINE link #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<map>@ element.
+--
+-- Example:
+--
+-- > map $ span $ text "foo"
+--
+-- Result:
+--
+-- > <map><span>foo</span></map>
+--
+map :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+map = Parent "map" "<map" "</map>"
+{-# INLINE map #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<menu>@ element.
+--
+-- Example:
+--
+-- > menu $ span $ text "foo"
+--
+-- Result:
+--
+-- > <menu><span>foo</span></menu>
+--
+menu :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+menu = Parent "menu" "<menu" "</menu>"
+{-# INLINE menu #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<meta />@ element.
+--
+-- Example:
+--
+-- > meta
+--
+-- Result:
+--
+-- > <meta />
+--
+meta :: Html  -- ^ Resulting HTML.
+meta = Leaf "meta" "<meta" " />"
+{-# INLINE meta #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<noframes>@ element.
+--
+-- Example:
+--
+-- > noframes $ span $ text "foo"
+--
+-- Result:
+--
+-- > <noframes><span>foo</span></noframes>
+--
+noframes :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+noframes = Parent "noframes" "<noframes" "</noframes>"
+{-# INLINE noframes #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<noscript>@ element.
+--
+-- Example:
+--
+-- > noscript $ span $ text "foo"
+--
+-- Result:
+--
+-- > <noscript><span>foo</span></noscript>
+--
+noscript :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+noscript = Parent "noscript" "<noscript" "</noscript>"
+{-# INLINE noscript #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<object>@ element.
+--
+-- Example:
+--
+-- > object $ span $ text "foo"
+--
+-- Result:
+--
+-- > <object><span>foo</span></object>
+--
+object :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+object = Parent "object" "<object" "</object>"
+{-# INLINE object #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<ol>@ element.
+--
+-- Example:
+--
+-- > ol $ span $ text "foo"
+--
+-- Result:
+--
+-- > <ol><span>foo</span></ol>
+--
+ol :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+ol = Parent "ol" "<ol" "</ol>"
+{-# INLINE ol #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<optgroup>@ element.
+--
+-- Example:
+--
+-- > optgroup $ span $ text "foo"
+--
+-- Result:
+--
+-- > <optgroup><span>foo</span></optgroup>
+--
+optgroup :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+optgroup = Parent "optgroup" "<optgroup" "</optgroup>"
+{-# INLINE optgroup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<option>@ element.
+--
+-- Example:
+--
+-- > option $ span $ text "foo"
+--
+-- Result:
+--
+-- > <option><span>foo</span></option>
+--
+option :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+option = Parent "option" "<option" "</option>"
+{-# INLINE option #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<p>@ element.
+--
+-- Example:
+--
+-- > p $ span $ text "foo"
+--
+-- Result:
+--
+-- > <p><span>foo</span></p>
+--
+p :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+p = Parent "p" "<p" "</p>"
+{-# INLINE p #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<param />@ element.
+--
+-- Example:
+--
+-- > param
+--
+-- Result:
+--
+-- > <param />
+--
+param :: Html  -- ^ Resulting HTML.
+param = Leaf "param" "<param" " />"
+{-# INLINE param #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<pre>@ element.
+--
+-- Example:
+--
+-- > pre $ span $ text "foo"
+--
+-- Result:
+--
+-- > <pre><span>foo</span></pre>
+--
+pre :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+pre = Parent "pre" "<pre" "</pre>"
+{-# INLINE pre #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<q>@ element.
+--
+-- Example:
+--
+-- > q $ span $ text "foo"
+--
+-- Result:
+--
+-- > <q><span>foo</span></q>
+--
+q :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+q = Parent "q" "<q" "</q>"
+{-# INLINE q #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<s>@ element.
+--
+-- Example:
+--
+-- > s $ span $ text "foo"
+--
+-- Result:
+--
+-- > <s><span>foo</span></s>
+--
+s :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+s = Parent "s" "<s" "</s>"
+{-# INLINE s #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<samp>@ element.
+--
+-- Example:
+--
+-- > samp $ span $ text "foo"
+--
+-- Result:
+--
+-- > <samp><span>foo</span></samp>
+--
+samp :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+samp = Parent "samp" "<samp" "</samp>"
+{-# INLINE samp #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<script>@ element.
+--
+-- Example:
+--
+-- > script $ span $ text "foo"
+--
+-- Result:
+--
+-- > <script><span>foo</span></script>
+--
+script :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+script = Parent "script" "<script" "</script>" . external
+{-# INLINE script #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<select>@ element.
+--
+-- Example:
+--
+-- > select $ span $ text "foo"
+--
+-- Result:
+--
+-- > <select><span>foo</span></select>
+--
+select :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+select = Parent "select" "<select" "</select>"
+{-# INLINE select #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<small>@ element.
+--
+-- Example:
+--
+-- > small $ span $ text "foo"
+--
+-- Result:
+--
+-- > <small><span>foo</span></small>
+--
+small :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+small = Parent "small" "<small" "</small>"
+{-# INLINE small #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<span>@ element.
+--
+-- Example:
+--
+-- > span $ span $ text "foo"
+--
+-- Result:
+--
+-- > <span><span>foo</span></span>
+--
+span :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+span = Parent "span" "<span" "</span>"
+{-# INLINE span #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<strong>@ element.
+--
+-- Example:
+--
+-- > strong $ span $ text "foo"
+--
+-- Result:
+--
+-- > <strong><span>foo</span></strong>
+--
+strong :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+strong = Parent "strong" "<strong" "</strong>"
+{-# INLINE strong #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<style>@ element.
+--
+-- Example:
+--
+-- > style $ span $ text "foo"
+--
+-- Result:
+--
+-- > <style><span>foo</span></style>
+--
+style :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+style = Parent "style" "<style" "</style>" . external
+{-# INLINE style #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<sub>@ element.
+--
+-- Example:
+--
+-- > sub $ span $ text "foo"
+--
+-- Result:
+--
+-- > <sub><span>foo</span></sub>
+--
+sub :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+sub = Parent "sub" "<sub" "</sub>"
+{-# INLINE sub #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<sup>@ element.
+--
+-- Example:
+--
+-- > sup $ span $ text "foo"
+--
+-- Result:
+--
+-- > <sup><span>foo</span></sup>
+--
+sup :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+sup = Parent "sup" "<sup" "</sup>"
+{-# INLINE sup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<table>@ element.
+--
+-- Example:
+--
+-- > table $ span $ text "foo"
+--
+-- Result:
+--
+-- > <table><span>foo</span></table>
+--
+table :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+table = Parent "table" "<table" "</table>"
+{-# INLINE table #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<tbody>@ element.
+--
+-- Example:
+--
+-- > tbody $ span $ text "foo"
+--
+-- Result:
+--
+-- > <tbody><span>foo</span></tbody>
+--
+tbody :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+tbody = Parent "tbody" "<tbody" "</tbody>"
+{-# INLINE tbody #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<td>@ element.
+--
+-- Example:
+--
+-- > td $ span $ text "foo"
+--
+-- Result:
+--
+-- > <td><span>foo</span></td>
+--
+td :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+td = Parent "td" "<td" "</td>"
+{-# INLINE td #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<textarea>@ element.
+--
+-- Example:
+--
+-- > textarea $ span $ text "foo"
+--
+-- Result:
+--
+-- > <textarea><span>foo</span></textarea>
+--
+textarea :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+textarea = Parent "textarea" "<textarea" "</textarea>"
+{-# INLINE textarea #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<tfoot>@ element.
+--
+-- Example:
+--
+-- > tfoot $ span $ text "foo"
+--
+-- Result:
+--
+-- > <tfoot><span>foo</span></tfoot>
+--
+tfoot :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+tfoot = Parent "tfoot" "<tfoot" "</tfoot>"
+{-# INLINE tfoot #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<th>@ element.
+--
+-- Example:
+--
+-- > th $ span $ text "foo"
+--
+-- Result:
+--
+-- > <th><span>foo</span></th>
+--
+th :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+th = Parent "th" "<th" "</th>"
+{-# INLINE th #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<thead>@ element.
+--
+-- Example:
+--
+-- > thead $ span $ text "foo"
+--
+-- Result:
+--
+-- > <thead><span>foo</span></thead>
+--
+thead :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+thead = Parent "thead" "<thead" "</thead>"
+{-# INLINE thead #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<title>@ element.
+--
+-- Example:
+--
+-- > title $ span $ text "foo"
+--
+-- Result:
+--
+-- > <title><span>foo</span></title>
+--
+title :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+title = Parent "title" "<title" "</title>"
+{-# INLINE title #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<tr>@ element.
+--
+-- Example:
+--
+-- > tr $ span $ text "foo"
+--
+-- Result:
+--
+-- > <tr><span>foo</span></tr>
+--
+tr :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+tr = Parent "tr" "<tr" "</tr>"
+{-# INLINE tr #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<tt>@ element.
+--
+-- Example:
+--
+-- > tt $ span $ text "foo"
+--
+-- Result:
+--
+-- > <tt><span>foo</span></tt>
+--
+tt :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+tt = Parent "tt" "<tt" "</tt>"
+{-# INLINE tt #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<u>@ element.
+--
+-- Example:
+--
+-- > u $ span $ text "foo"
+--
+-- Result:
+--
+-- > <u><span>foo</span></u>
+--
+u :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+u = Parent "u" "<u" "</u>"
+{-# INLINE u #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<ul>@ element.
+--
+-- Example:
+--
+-- > ul $ span $ text "foo"
+--
+-- Result:
+--
+-- > <ul><span>foo</span></ul>
+--
+ul :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+ul = Parent "ul" "<ul" "</ul>"
+{-# INLINE ul #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<var>@ element.
+--
+-- Example:
+--
+-- > var $ span $ text "foo"
+--
+-- Result:
+--
+-- > <var><span>foo</span></var>
+--
+var :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+var = Parent "var" "<var" "</var>"
+{-# INLINE var #-}
diff --git a/Text/Blaze/XHtml1/FrameSet/Attributes.hs b/Text/Blaze/XHtml1/FrameSet/Attributes.hs
new file mode 100644
--- /dev/null
+++ b/Text/Blaze/XHtml1/FrameSet/Attributes.hs
@@ -0,0 +1,1992 @@
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:92
+--
+-- | This module exports combinators that provide you with the
+-- ability to set attributes on HTML elements.
+--
+{-# LANGUAGE OverloadedStrings #-}
+module Text.Blaze.XHtml1.FrameSet.Attributes
+    ( abbr
+    , accept
+    , accesskey
+    , action
+    , align
+    , alt
+    , archive
+    , axis
+    , background
+    , bgcolor
+    , border
+    , cellpadding
+    , cellspacing
+    , char
+    , charoff
+    , charset
+    , checked
+    , cite
+    , class_
+    , classid
+    , clear
+    , codebase
+    , codetype
+    , cols
+    , colspan
+    , compact
+    , content
+    , coords
+    , data_
+    , datetime
+    , declare
+    , defer
+    , dir
+    , disabled
+    , enctype
+    , for
+    , frame
+    , frameborder
+    , headers
+    , height
+    , href
+    , hreflang
+    , hspace
+    , httpEquiv
+    , id
+    , label
+    , lang
+    , language
+    , maxlength
+    , media
+    , method
+    , multiple
+    , name
+    , nohref
+    , noshade
+    , nowrap
+    , onabort
+    , onblur
+    , onchange
+    , onclick
+    , ondblclick
+    , onfocus
+    , onkeydown
+    , onkeypress
+    , onkeyup
+    , onload
+    , onmousedown
+    , onmousemove
+    , onmouseout
+    , onmouseover
+    , onmouseup
+    , onreset
+    , onselect
+    , onsubmit
+    , onunload
+    , profile
+    , readonly
+    , rel
+    , rev
+    , rows
+    , rowspan
+    , rules
+    , scheme
+    , scope
+    , scrolling
+    , selected
+    , shape
+    , size
+    , span
+    , src
+    , standby
+    , start
+    , style
+    , summary
+    , tabindex
+    , target
+    , title
+    , type_
+    , usemap
+    , valign
+    , value
+    , valuetype
+    , vspace
+    , width
+    ) where
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:98
+--
+import Prelude ()
+
+import Text.Blaze.Internal (Attribute, AttributeValue, attribute)
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @abbr@ attribute.
+--
+-- Example:
+--
+-- > div ! abbr "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div abbr="bar">Hello.</div>
+--
+abbr :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+abbr = attribute "abbr" " abbr=\""
+{-# INLINE abbr #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @accept@ attribute.
+--
+-- Example:
+--
+-- > div ! accept "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div accept="bar">Hello.</div>
+--
+accept :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+accept = attribute "accept" " accept=\""
+{-# INLINE accept #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @accesskey@ attribute.
+--
+-- Example:
+--
+-- > div ! accesskey "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div accesskey="bar">Hello.</div>
+--
+accesskey :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+accesskey = attribute "accesskey" " accesskey=\""
+{-# INLINE accesskey #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @action@ attribute.
+--
+-- Example:
+--
+-- > div ! action "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div action="bar">Hello.</div>
+--
+action :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+action = attribute "action" " action=\""
+{-# INLINE action #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @align@ attribute.
+--
+-- Example:
+--
+-- > div ! align "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div align="bar">Hello.</div>
+--
+align :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+align = attribute "align" " align=\""
+{-# INLINE align #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @alt@ attribute.
+--
+-- Example:
+--
+-- > div ! alt "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div alt="bar">Hello.</div>
+--
+alt :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+alt = attribute "alt" " alt=\""
+{-# INLINE alt #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @archive@ attribute.
+--
+-- Example:
+--
+-- > div ! archive "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div archive="bar">Hello.</div>
+--
+archive :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+archive = attribute "archive" " archive=\""
+{-# INLINE archive #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @axis@ attribute.
+--
+-- Example:
+--
+-- > div ! axis "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div axis="bar">Hello.</div>
+--
+axis :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+axis = attribute "axis" " axis=\""
+{-# INLINE axis #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @background@ attribute.
+--
+-- Example:
+--
+-- > div ! background "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div background="bar">Hello.</div>
+--
+background :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+background = attribute "background" " background=\""
+{-# INLINE background #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @bgcolor@ attribute.
+--
+-- Example:
+--
+-- > div ! bgcolor "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div bgcolor="bar">Hello.</div>
+--
+bgcolor :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+bgcolor = attribute "bgcolor" " bgcolor=\""
+{-# INLINE bgcolor #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @border@ attribute.
+--
+-- Example:
+--
+-- > div ! border "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div border="bar">Hello.</div>
+--
+border :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+border = attribute "border" " border=\""
+{-# INLINE border #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @cellpadding@ attribute.
+--
+-- Example:
+--
+-- > div ! cellpadding "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div cellpadding="bar">Hello.</div>
+--
+cellpadding :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+cellpadding = attribute "cellpadding" " cellpadding=\""
+{-# INLINE cellpadding #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @cellspacing@ attribute.
+--
+-- Example:
+--
+-- > div ! cellspacing "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div cellspacing="bar">Hello.</div>
+--
+cellspacing :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+cellspacing = attribute "cellspacing" " cellspacing=\""
+{-# INLINE cellspacing #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @char@ attribute.
+--
+-- Example:
+--
+-- > div ! char "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div char="bar">Hello.</div>
+--
+char :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+char = attribute "char" " char=\""
+{-# INLINE char #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @charoff@ attribute.
+--
+-- Example:
+--
+-- > div ! charoff "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div charoff="bar">Hello.</div>
+--
+charoff :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+charoff = attribute "charoff" " charoff=\""
+{-# INLINE charoff #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @charset@ attribute.
+--
+-- Example:
+--
+-- > div ! charset "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div charset="bar">Hello.</div>
+--
+charset :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+charset = attribute "charset" " charset=\""
+{-# INLINE charset #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @checked@ attribute.
+--
+-- Example:
+--
+-- > div ! checked "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div checked="bar">Hello.</div>
+--
+checked :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+checked = attribute "checked" " checked=\""
+{-# INLINE checked #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @cite@ attribute.
+--
+-- Example:
+--
+-- > div ! cite "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div cite="bar">Hello.</div>
+--
+cite :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+cite = attribute "cite" " cite=\""
+{-# INLINE cite #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @class@ attribute.
+--
+-- Example:
+--
+-- > div ! class_ "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div class="bar">Hello.</div>
+--
+class_ :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+class_ = attribute "class" " class=\""
+{-# INLINE class_ #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @classid@ attribute.
+--
+-- Example:
+--
+-- > div ! classid "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div classid="bar">Hello.</div>
+--
+classid :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+classid = attribute "classid" " classid=\""
+{-# INLINE classid #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @clear@ attribute.
+--
+-- Example:
+--
+-- > div ! clear "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div clear="bar">Hello.</div>
+--
+clear :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+clear = attribute "clear" " clear=\""
+{-# INLINE clear #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @codebase@ attribute.
+--
+-- Example:
+--
+-- > div ! codebase "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div codebase="bar">Hello.</div>
+--
+codebase :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+codebase = attribute "codebase" " codebase=\""
+{-# INLINE codebase #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @codetype@ attribute.
+--
+-- Example:
+--
+-- > div ! codetype "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div codetype="bar">Hello.</div>
+--
+codetype :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+codetype = attribute "codetype" " codetype=\""
+{-# INLINE codetype #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @cols@ attribute.
+--
+-- Example:
+--
+-- > div ! cols "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div cols="bar">Hello.</div>
+--
+cols :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+cols = attribute "cols" " cols=\""
+{-# INLINE cols #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @colspan@ attribute.
+--
+-- Example:
+--
+-- > div ! colspan "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div colspan="bar">Hello.</div>
+--
+colspan :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+colspan = attribute "colspan" " colspan=\""
+{-# INLINE colspan #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @compact@ attribute.
+--
+-- Example:
+--
+-- > div ! compact "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div compact="bar">Hello.</div>
+--
+compact :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+compact = attribute "compact" " compact=\""
+{-# INLINE compact #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @content@ attribute.
+--
+-- Example:
+--
+-- > div ! content "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div content="bar">Hello.</div>
+--
+content :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+content = attribute "content" " content=\""
+{-# INLINE content #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @coords@ attribute.
+--
+-- Example:
+--
+-- > div ! coords "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div coords="bar">Hello.</div>
+--
+coords :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+coords = attribute "coords" " coords=\""
+{-# INLINE coords #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @data@ attribute.
+--
+-- Example:
+--
+-- > div ! data_ "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div data="bar">Hello.</div>
+--
+data_ :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+data_ = attribute "data" " data=\""
+{-# INLINE data_ #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @datetime@ attribute.
+--
+-- Example:
+--
+-- > div ! datetime "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div datetime="bar">Hello.</div>
+--
+datetime :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+datetime = attribute "datetime" " datetime=\""
+{-# INLINE datetime #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @declare@ attribute.
+--
+-- Example:
+--
+-- > div ! declare "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div declare="bar">Hello.</div>
+--
+declare :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+declare = attribute "declare" " declare=\""
+{-# INLINE declare #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @defer@ attribute.
+--
+-- Example:
+--
+-- > div ! defer "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div defer="bar">Hello.</div>
+--
+defer :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+defer = attribute "defer" " defer=\""
+{-# INLINE defer #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @dir@ attribute.
+--
+-- Example:
+--
+-- > div ! dir "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div dir="bar">Hello.</div>
+--
+dir :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+dir = attribute "dir" " dir=\""
+{-# INLINE dir #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @disabled@ attribute.
+--
+-- Example:
+--
+-- > div ! disabled "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div disabled="bar">Hello.</div>
+--
+disabled :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+disabled = attribute "disabled" " disabled=\""
+{-# INLINE disabled #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @enctype@ attribute.
+--
+-- Example:
+--
+-- > div ! enctype "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div enctype="bar">Hello.</div>
+--
+enctype :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+enctype = attribute "enctype" " enctype=\""
+{-# INLINE enctype #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @for@ attribute.
+--
+-- Example:
+--
+-- > div ! for "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div for="bar">Hello.</div>
+--
+for :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+for = attribute "for" " for=\""
+{-# INLINE for #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @frame@ attribute.
+--
+-- Example:
+--
+-- > div ! frame "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div frame="bar">Hello.</div>
+--
+frame :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+frame = attribute "frame" " frame=\""
+{-# INLINE frame #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @frameborder@ attribute.
+--
+-- Example:
+--
+-- > div ! frameborder "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div frameborder="bar">Hello.</div>
+--
+frameborder :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+frameborder = attribute "frameborder" " frameborder=\""
+{-# INLINE frameborder #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @headers@ attribute.
+--
+-- Example:
+--
+-- > div ! headers "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div headers="bar">Hello.</div>
+--
+headers :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+headers = attribute "headers" " headers=\""
+{-# INLINE headers #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @height@ attribute.
+--
+-- Example:
+--
+-- > div ! height "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div height="bar">Hello.</div>
+--
+height :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+height = attribute "height" " height=\""
+{-# INLINE height #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @href@ attribute.
+--
+-- Example:
+--
+-- > div ! href "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div href="bar">Hello.</div>
+--
+href :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+href = attribute "href" " href=\""
+{-# INLINE href #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @hreflang@ attribute.
+--
+-- Example:
+--
+-- > div ! hreflang "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div hreflang="bar">Hello.</div>
+--
+hreflang :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+hreflang = attribute "hreflang" " hreflang=\""
+{-# INLINE hreflang #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @hspace@ attribute.
+--
+-- Example:
+--
+-- > div ! hspace "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div hspace="bar">Hello.</div>
+--
+hspace :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+hspace = attribute "hspace" " hspace=\""
+{-# INLINE hspace #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @http-equiv@ attribute.
+--
+-- Example:
+--
+-- > div ! httpEquiv "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div http-equiv="bar">Hello.</div>
+--
+httpEquiv :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+httpEquiv = attribute "http-equiv" " http-equiv=\""
+{-# INLINE httpEquiv #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @id@ attribute.
+--
+-- Example:
+--
+-- > div ! id "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div id="bar">Hello.</div>
+--
+id :: AttributeValue  -- ^ Attribute value.
+   -> Attribute       -- ^ Resulting attribute.
+id = attribute "id" " id=\""
+{-# INLINE id #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @label@ attribute.
+--
+-- Example:
+--
+-- > div ! label "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div label="bar">Hello.</div>
+--
+label :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+label = attribute "label" " label=\""
+{-# INLINE label #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @lang@ attribute.
+--
+-- Example:
+--
+-- > div ! lang "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div lang="bar">Hello.</div>
+--
+lang :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+lang = attribute "lang" " lang=\""
+{-# INLINE lang #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @language@ attribute.
+--
+-- Example:
+--
+-- > div ! language "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div language="bar">Hello.</div>
+--
+language :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+language = attribute "language" " language=\""
+{-# INLINE language #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @maxlength@ attribute.
+--
+-- Example:
+--
+-- > div ! maxlength "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div maxlength="bar">Hello.</div>
+--
+maxlength :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+maxlength = attribute "maxlength" " maxlength=\""
+{-# INLINE maxlength #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @media@ attribute.
+--
+-- Example:
+--
+-- > div ! media "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div media="bar">Hello.</div>
+--
+media :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+media = attribute "media" " media=\""
+{-# INLINE media #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @method@ attribute.
+--
+-- Example:
+--
+-- > div ! method "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div method="bar">Hello.</div>
+--
+method :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+method = attribute "method" " method=\""
+{-# INLINE method #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @multiple@ attribute.
+--
+-- Example:
+--
+-- > div ! multiple "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div multiple="bar">Hello.</div>
+--
+multiple :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+multiple = attribute "multiple" " multiple=\""
+{-# INLINE multiple #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @name@ attribute.
+--
+-- Example:
+--
+-- > div ! name "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div name="bar">Hello.</div>
+--
+name :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+name = attribute "name" " name=\""
+{-# INLINE name #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @nohref@ attribute.
+--
+-- Example:
+--
+-- > div ! nohref "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div nohref="bar">Hello.</div>
+--
+nohref :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+nohref = attribute "nohref" " nohref=\""
+{-# INLINE nohref #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @noshade@ attribute.
+--
+-- Example:
+--
+-- > div ! noshade "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div noshade="bar">Hello.</div>
+--
+noshade :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+noshade = attribute "noshade" " noshade=\""
+{-# INLINE noshade #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @nowrap@ attribute.
+--
+-- Example:
+--
+-- > div ! nowrap "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div nowrap="bar">Hello.</div>
+--
+nowrap :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+nowrap = attribute "nowrap" " nowrap=\""
+{-# INLINE nowrap #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onabort@ attribute.
+--
+-- Example:
+--
+-- > div ! onabort "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onabort="bar">Hello.</div>
+--
+onabort :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onabort = attribute "onabort" " onabort=\""
+{-# INLINE onabort #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onblur@ attribute.
+--
+-- Example:
+--
+-- > div ! onblur "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onblur="bar">Hello.</div>
+--
+onblur :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+onblur = attribute "onblur" " onblur=\""
+{-# INLINE onblur #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onchange@ attribute.
+--
+-- Example:
+--
+-- > div ! onchange "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onchange="bar">Hello.</div>
+--
+onchange :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onchange = attribute "onchange" " onchange=\""
+{-# INLINE onchange #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onclick@ attribute.
+--
+-- Example:
+--
+-- > div ! onclick "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onclick="bar">Hello.</div>
+--
+onclick :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onclick = attribute "onclick" " onclick=\""
+{-# INLINE onclick #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ondblclick@ attribute.
+--
+-- Example:
+--
+-- > div ! ondblclick "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ondblclick="bar">Hello.</div>
+--
+ondblclick :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+ondblclick = attribute "ondblclick" " ondblclick=\""
+{-# INLINE ondblclick #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onfocus@ attribute.
+--
+-- Example:
+--
+-- > div ! onfocus "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onfocus="bar">Hello.</div>
+--
+onfocus :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onfocus = attribute "onfocus" " onfocus=\""
+{-# INLINE onfocus #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onkeydown@ attribute.
+--
+-- Example:
+--
+-- > div ! onkeydown "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onkeydown="bar">Hello.</div>
+--
+onkeydown :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+onkeydown = attribute "onkeydown" " onkeydown=\""
+{-# INLINE onkeydown #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onkeypress@ attribute.
+--
+-- Example:
+--
+-- > div ! onkeypress "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onkeypress="bar">Hello.</div>
+--
+onkeypress :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+onkeypress = attribute "onkeypress" " onkeypress=\""
+{-# INLINE onkeypress #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onkeyup@ attribute.
+--
+-- Example:
+--
+-- > div ! onkeyup "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onkeyup="bar">Hello.</div>
+--
+onkeyup :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onkeyup = attribute "onkeyup" " onkeyup=\""
+{-# INLINE onkeyup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onload@ attribute.
+--
+-- Example:
+--
+-- > div ! onload "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onload="bar">Hello.</div>
+--
+onload :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+onload = attribute "onload" " onload=\""
+{-# INLINE onload #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmousedown@ attribute.
+--
+-- Example:
+--
+-- > div ! onmousedown "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmousedown="bar">Hello.</div>
+--
+onmousedown :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+onmousedown = attribute "onmousedown" " onmousedown=\""
+{-# INLINE onmousedown #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmousemove@ attribute.
+--
+-- Example:
+--
+-- > div ! onmousemove "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmousemove="bar">Hello.</div>
+--
+onmousemove :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+onmousemove = attribute "onmousemove" " onmousemove=\""
+{-# INLINE onmousemove #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmouseout@ attribute.
+--
+-- Example:
+--
+-- > div ! onmouseout "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmouseout="bar">Hello.</div>
+--
+onmouseout :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+onmouseout = attribute "onmouseout" " onmouseout=\""
+{-# INLINE onmouseout #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmouseover@ attribute.
+--
+-- Example:
+--
+-- > div ! onmouseover "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmouseover="bar">Hello.</div>
+--
+onmouseover :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+onmouseover = attribute "onmouseover" " onmouseover=\""
+{-# INLINE onmouseover #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmouseup@ attribute.
+--
+-- Example:
+--
+-- > div ! onmouseup "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmouseup="bar">Hello.</div>
+--
+onmouseup :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+onmouseup = attribute "onmouseup" " onmouseup=\""
+{-# INLINE onmouseup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onreset@ attribute.
+--
+-- Example:
+--
+-- > div ! onreset "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onreset="bar">Hello.</div>
+--
+onreset :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onreset = attribute "onreset" " onreset=\""
+{-# INLINE onreset #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onselect@ attribute.
+--
+-- Example:
+--
+-- > div ! onselect "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onselect="bar">Hello.</div>
+--
+onselect :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onselect = attribute "onselect" " onselect=\""
+{-# INLINE onselect #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onsubmit@ attribute.
+--
+-- Example:
+--
+-- > div ! onsubmit "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onsubmit="bar">Hello.</div>
+--
+onsubmit :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onsubmit = attribute "onsubmit" " onsubmit=\""
+{-# INLINE onsubmit #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onunload@ attribute.
+--
+-- Example:
+--
+-- > div ! onunload "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onunload="bar">Hello.</div>
+--
+onunload :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onunload = attribute "onunload" " onunload=\""
+{-# INLINE onunload #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @profile@ attribute.
+--
+-- Example:
+--
+-- > div ! profile "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div profile="bar">Hello.</div>
+--
+profile :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+profile = attribute "profile" " profile=\""
+{-# INLINE profile #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @readonly@ attribute.
+--
+-- Example:
+--
+-- > div ! readonly "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div readonly="bar">Hello.</div>
+--
+readonly :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+readonly = attribute "readonly" " readonly=\""
+{-# INLINE readonly #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rel@ attribute.
+--
+-- Example:
+--
+-- > div ! rel "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rel="bar">Hello.</div>
+--
+rel :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+rel = attribute "rel" " rel=\""
+{-# INLINE rel #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rev@ attribute.
+--
+-- Example:
+--
+-- > div ! rev "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rev="bar">Hello.</div>
+--
+rev :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+rev = attribute "rev" " rev=\""
+{-# INLINE rev #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rows@ attribute.
+--
+-- Example:
+--
+-- > div ! rows "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rows="bar">Hello.</div>
+--
+rows :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+rows = attribute "rows" " rows=\""
+{-# INLINE rows #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rowspan@ attribute.
+--
+-- Example:
+--
+-- > div ! rowspan "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rowspan="bar">Hello.</div>
+--
+rowspan :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+rowspan = attribute "rowspan" " rowspan=\""
+{-# INLINE rowspan #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rules@ attribute.
+--
+-- Example:
+--
+-- > div ! rules "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rules="bar">Hello.</div>
+--
+rules :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+rules = attribute "rules" " rules=\""
+{-# INLINE rules #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @scheme@ attribute.
+--
+-- Example:
+--
+-- > div ! scheme "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div scheme="bar">Hello.</div>
+--
+scheme :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+scheme = attribute "scheme" " scheme=\""
+{-# INLINE scheme #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @scope@ attribute.
+--
+-- Example:
+--
+-- > div ! scope "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div scope="bar">Hello.</div>
+--
+scope :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+scope = attribute "scope" " scope=\""
+{-# INLINE scope #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @scrolling@ attribute.
+--
+-- Example:
+--
+-- > div ! scrolling "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div scrolling="bar">Hello.</div>
+--
+scrolling :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+scrolling = attribute "scrolling" " scrolling=\""
+{-# INLINE scrolling #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @selected@ attribute.
+--
+-- Example:
+--
+-- > div ! selected "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div selected="bar">Hello.</div>
+--
+selected :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+selected = attribute "selected" " selected=\""
+{-# INLINE selected #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @shape@ attribute.
+--
+-- Example:
+--
+-- > div ! shape "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div shape="bar">Hello.</div>
+--
+shape :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+shape = attribute "shape" " shape=\""
+{-# INLINE shape #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @size@ attribute.
+--
+-- Example:
+--
+-- > div ! size "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div size="bar">Hello.</div>
+--
+size :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+size = attribute "size" " size=\""
+{-# INLINE size #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @span@ attribute.
+--
+-- Example:
+--
+-- > div ! span "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div span="bar">Hello.</div>
+--
+span :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+span = attribute "span" " span=\""
+{-# INLINE span #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @src@ attribute.
+--
+-- Example:
+--
+-- > div ! src "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div src="bar">Hello.</div>
+--
+src :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+src = attribute "src" " src=\""
+{-# INLINE src #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @standby@ attribute.
+--
+-- Example:
+--
+-- > div ! standby "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div standby="bar">Hello.</div>
+--
+standby :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+standby = attribute "standby" " standby=\""
+{-# INLINE standby #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @start@ attribute.
+--
+-- Example:
+--
+-- > div ! start "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div start="bar">Hello.</div>
+--
+start :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+start = attribute "start" " start=\""
+{-# INLINE start #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @style@ attribute.
+--
+-- Example:
+--
+-- > div ! style "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div style="bar">Hello.</div>
+--
+style :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+style = attribute "style" " style=\""
+{-# INLINE style #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @summary@ attribute.
+--
+-- Example:
+--
+-- > div ! summary "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div summary="bar">Hello.</div>
+--
+summary :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+summary = attribute "summary" " summary=\""
+{-# INLINE summary #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @tabindex@ attribute.
+--
+-- Example:
+--
+-- > div ! tabindex "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div tabindex="bar">Hello.</div>
+--
+tabindex :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+tabindex = attribute "tabindex" " tabindex=\""
+{-# INLINE tabindex #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @target@ attribute.
+--
+-- Example:
+--
+-- > div ! target "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div target="bar">Hello.</div>
+--
+target :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+target = attribute "target" " target=\""
+{-# INLINE target #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @title@ attribute.
+--
+-- Example:
+--
+-- > div ! title "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div title="bar">Hello.</div>
+--
+title :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+title = attribute "title" " title=\""
+{-# INLINE title #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @type@ attribute.
+--
+-- Example:
+--
+-- > div ! type_ "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div type="bar">Hello.</div>
+--
+type_ :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+type_ = attribute "type" " type=\""
+{-# INLINE type_ #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @usemap@ attribute.
+--
+-- Example:
+--
+-- > div ! usemap "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div usemap="bar">Hello.</div>
+--
+usemap :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+usemap = attribute "usemap" " usemap=\""
+{-# INLINE usemap #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @valign@ attribute.
+--
+-- Example:
+--
+-- > div ! valign "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div valign="bar">Hello.</div>
+--
+valign :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+valign = attribute "valign" " valign=\""
+{-# INLINE valign #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @value@ attribute.
+--
+-- Example:
+--
+-- > div ! value "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div value="bar">Hello.</div>
+--
+value :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+value = attribute "value" " value=\""
+{-# INLINE value #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @valuetype@ attribute.
+--
+-- Example:
+--
+-- > div ! valuetype "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div valuetype="bar">Hello.</div>
+--
+valuetype :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+valuetype = attribute "valuetype" " valuetype=\""
+{-# INLINE valuetype #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @vspace@ attribute.
+--
+-- Example:
+--
+-- > div ! vspace "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div vspace="bar">Hello.</div>
+--
+vspace :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+vspace = attribute "vspace" " vspace=\""
+{-# INLINE vspace #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @width@ attribute.
+--
+-- Example:
+--
+-- > div ! width "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div width="bar">Hello.</div>
+--
+width :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+width = attribute "width" " width=\""
+{-# INLINE width #-}
diff --git a/Text/Blaze/XHtml1/Strict.hs b/Text/Blaze/XHtml1/Strict.hs
new file mode 100644
--- /dev/null
+++ b/Text/Blaze/XHtml1/Strict.hs
@@ -0,0 +1,1494 @@
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:69
+--
+{-# LANGUAGE OverloadedStrings #-}
+-- | This module exports HTML combinators used to create documents.
+--
+module Text.Blaze.XHtml1.Strict
+    ( module Text.Blaze
+    , docType
+    , docTypeHtml
+    , a
+    , abbr
+    , acronym
+    , address
+    , area
+    , b
+    , bdo
+    , big
+    , blockquote
+    , body
+    , br
+    , button
+    , caption
+    , cite
+    , code
+    , col
+    , colgroup
+    , dd
+    , del
+    , dfn
+    , div
+    , dl
+    , dt
+    , em
+    , fieldset
+    , form
+    , h1
+    , h2
+    , h3
+    , h4
+    , h5
+    , h6
+    , head
+    , hr
+    , html
+    , i
+    , img
+    , input
+    , ins
+    , kbd
+    , label
+    , legend
+    , li
+    , link
+    , map
+    , meta
+    , noscript
+    , object
+    , ol
+    , optgroup
+    , option
+    , p
+    , param
+    , pre
+    , q
+    , samp
+    , script
+    , select
+    , small
+    , span
+    , strong
+    , style
+    , sub
+    , sup
+    , table
+    , tbody
+    , td
+    , textarea
+    , tfoot
+    , th
+    , thead
+    , title
+    , tr
+    , tt
+    , ul
+    , var
+    ) where
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:77
+--
+import Prelude ((>>), (.))
+
+import Text.Blaze
+import Text.Blaze.Internal
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:155
+--
+-- | Combinator for the document type. This should be placed at the top
+-- of every HTML page.
+--
+-- Example:
+--
+-- > docType
+--
+-- Result:
+--
+-- > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+-- >     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+--
+docType :: Html  -- ^ The document type HTML.
+docType = preEscapedText "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n"
+{-# INLINE docType #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:176
+--
+-- | Combinator for the @\<html>@ element. This combinator will also
+-- insert the correct doctype.
+--
+-- Example:
+--
+-- > docTypeHtml $ span $ text "foo"
+--
+-- Result:
+--
+-- > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+-- >     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+-- > <html><span>foo</span></html>
+--
+docTypeHtml :: Html  -- ^ Inner HTML.
+            -> Html  -- ^ Resulting HTML.
+docTypeHtml inner = docType >> html inner
+{-# INLINE docTypeHtml #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<a>@ element.
+--
+-- Example:
+--
+-- > a $ span $ text "foo"
+--
+-- Result:
+--
+-- > <a><span>foo</span></a>
+--
+a :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+a = Parent "a" "<a" "</a>"
+{-# INLINE a #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<abbr>@ element.
+--
+-- Example:
+--
+-- > abbr $ span $ text "foo"
+--
+-- Result:
+--
+-- > <abbr><span>foo</span></abbr>
+--
+abbr :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+abbr = Parent "abbr" "<abbr" "</abbr>"
+{-# INLINE abbr #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<acronym>@ element.
+--
+-- Example:
+--
+-- > acronym $ span $ text "foo"
+--
+-- Result:
+--
+-- > <acronym><span>foo</span></acronym>
+--
+acronym :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+acronym = Parent "acronym" "<acronym" "</acronym>"
+{-# INLINE acronym #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<address>@ element.
+--
+-- Example:
+--
+-- > address $ span $ text "foo"
+--
+-- Result:
+--
+-- > <address><span>foo</span></address>
+--
+address :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+address = Parent "address" "<address" "</address>"
+{-# INLINE address #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<area />@ element.
+--
+-- Example:
+--
+-- > area
+--
+-- Result:
+--
+-- > <area />
+--
+area :: Html  -- ^ Resulting HTML.
+area = Leaf "area" "<area" " />"
+{-# INLINE area #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<b>@ element.
+--
+-- Example:
+--
+-- > b $ span $ text "foo"
+--
+-- Result:
+--
+-- > <b><span>foo</span></b>
+--
+b :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+b = Parent "b" "<b" "</b>"
+{-# INLINE b #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<bdo>@ element.
+--
+-- Example:
+--
+-- > bdo $ span $ text "foo"
+--
+-- Result:
+--
+-- > <bdo><span>foo</span></bdo>
+--
+bdo :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+bdo = Parent "bdo" "<bdo" "</bdo>"
+{-# INLINE bdo #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<big>@ element.
+--
+-- Example:
+--
+-- > big $ span $ text "foo"
+--
+-- Result:
+--
+-- > <big><span>foo</span></big>
+--
+big :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+big = Parent "big" "<big" "</big>"
+{-# INLINE big #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<blockquote>@ element.
+--
+-- Example:
+--
+-- > blockquote $ span $ text "foo"
+--
+-- Result:
+--
+-- > <blockquote><span>foo</span></blockquote>
+--
+blockquote :: Html  -- ^ Inner HTML.
+           -> Html  -- ^ Resulting HTML.
+blockquote = Parent "blockquote" "<blockquote" "</blockquote>"
+{-# INLINE blockquote #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<body>@ element.
+--
+-- Example:
+--
+-- > body $ span $ text "foo"
+--
+-- Result:
+--
+-- > <body><span>foo</span></body>
+--
+body :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+body = Parent "body" "<body" "</body>"
+{-# INLINE body #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<br />@ element.
+--
+-- Example:
+--
+-- > br
+--
+-- Result:
+--
+-- > <br />
+--
+br :: Html  -- ^ Resulting HTML.
+br = Leaf "br" "<br" " />"
+{-# INLINE br #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<button>@ element.
+--
+-- Example:
+--
+-- > button $ span $ text "foo"
+--
+-- Result:
+--
+-- > <button><span>foo</span></button>
+--
+button :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+button = Parent "button" "<button" "</button>"
+{-# INLINE button #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<caption>@ element.
+--
+-- Example:
+--
+-- > caption $ span $ text "foo"
+--
+-- Result:
+--
+-- > <caption><span>foo</span></caption>
+--
+caption :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+caption = Parent "caption" "<caption" "</caption>"
+{-# INLINE caption #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<cite>@ element.
+--
+-- Example:
+--
+-- > cite $ span $ text "foo"
+--
+-- Result:
+--
+-- > <cite><span>foo</span></cite>
+--
+cite :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+cite = Parent "cite" "<cite" "</cite>"
+{-# INLINE cite #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<code>@ element.
+--
+-- Example:
+--
+-- > code $ span $ text "foo"
+--
+-- Result:
+--
+-- > <code><span>foo</span></code>
+--
+code :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+code = Parent "code" "<code" "</code>"
+{-# INLINE code #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<col />@ element.
+--
+-- Example:
+--
+-- > col
+--
+-- Result:
+--
+-- > <col />
+--
+col :: Html  -- ^ Resulting HTML.
+col = Leaf "col" "<col" " />"
+{-# INLINE col #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<colgroup>@ element.
+--
+-- Example:
+--
+-- > colgroup $ span $ text "foo"
+--
+-- Result:
+--
+-- > <colgroup><span>foo</span></colgroup>
+--
+colgroup :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+colgroup = Parent "colgroup" "<colgroup" "</colgroup>"
+{-# INLINE colgroup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<dd>@ element.
+--
+-- Example:
+--
+-- > dd $ span $ text "foo"
+--
+-- Result:
+--
+-- > <dd><span>foo</span></dd>
+--
+dd :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+dd = Parent "dd" "<dd" "</dd>"
+{-# INLINE dd #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<del>@ element.
+--
+-- Example:
+--
+-- > del $ span $ text "foo"
+--
+-- Result:
+--
+-- > <del><span>foo</span></del>
+--
+del :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+del = Parent "del" "<del" "</del>"
+{-# INLINE del #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<dfn>@ element.
+--
+-- Example:
+--
+-- > dfn $ span $ text "foo"
+--
+-- Result:
+--
+-- > <dfn><span>foo</span></dfn>
+--
+dfn :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+dfn = Parent "dfn" "<dfn" "</dfn>"
+{-# INLINE dfn #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<div>@ element.
+--
+-- Example:
+--
+-- > div $ span $ text "foo"
+--
+-- Result:
+--
+-- > <div><span>foo</span></div>
+--
+div :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+div = Parent "div" "<div" "</div>"
+{-# INLINE div #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<dl>@ element.
+--
+-- Example:
+--
+-- > dl $ span $ text "foo"
+--
+-- Result:
+--
+-- > <dl><span>foo</span></dl>
+--
+dl :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+dl = Parent "dl" "<dl" "</dl>"
+{-# INLINE dl #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<dt>@ element.
+--
+-- Example:
+--
+-- > dt $ span $ text "foo"
+--
+-- Result:
+--
+-- > <dt><span>foo</span></dt>
+--
+dt :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+dt = Parent "dt" "<dt" "</dt>"
+{-# INLINE dt #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<em>@ element.
+--
+-- Example:
+--
+-- > em $ span $ text "foo"
+--
+-- Result:
+--
+-- > <em><span>foo</span></em>
+--
+em :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+em = Parent "em" "<em" "</em>"
+{-# INLINE em #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<fieldset>@ element.
+--
+-- Example:
+--
+-- > fieldset $ span $ text "foo"
+--
+-- Result:
+--
+-- > <fieldset><span>foo</span></fieldset>
+--
+fieldset :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+fieldset = Parent "fieldset" "<fieldset" "</fieldset>"
+{-# INLINE fieldset #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<form>@ element.
+--
+-- Example:
+--
+-- > form $ span $ text "foo"
+--
+-- Result:
+--
+-- > <form><span>foo</span></form>
+--
+form :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+form = Parent "form" "<form" "</form>"
+{-# INLINE form #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h1>@ element.
+--
+-- Example:
+--
+-- > h1 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h1><span>foo</span></h1>
+--
+h1 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h1 = Parent "h1" "<h1" "</h1>"
+{-# INLINE h1 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h2>@ element.
+--
+-- Example:
+--
+-- > h2 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h2><span>foo</span></h2>
+--
+h2 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h2 = Parent "h2" "<h2" "</h2>"
+{-# INLINE h2 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h3>@ element.
+--
+-- Example:
+--
+-- > h3 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h3><span>foo</span></h3>
+--
+h3 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h3 = Parent "h3" "<h3" "</h3>"
+{-# INLINE h3 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h4>@ element.
+--
+-- Example:
+--
+-- > h4 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h4><span>foo</span></h4>
+--
+h4 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h4 = Parent "h4" "<h4" "</h4>"
+{-# INLINE h4 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h5>@ element.
+--
+-- Example:
+--
+-- > h5 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h5><span>foo</span></h5>
+--
+h5 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h5 = Parent "h5" "<h5" "</h5>"
+{-# INLINE h5 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h6>@ element.
+--
+-- Example:
+--
+-- > h6 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h6><span>foo</span></h6>
+--
+h6 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h6 = Parent "h6" "<h6" "</h6>"
+{-# INLINE h6 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<head>@ element.
+--
+-- Example:
+--
+-- > head $ span $ text "foo"
+--
+-- Result:
+--
+-- > <head><span>foo</span></head>
+--
+head :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+head = Parent "head" "<head" "</head>"
+{-# INLINE head #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<hr />@ element.
+--
+-- Example:
+--
+-- > hr
+--
+-- Result:
+--
+-- > <hr />
+--
+hr :: Html  -- ^ Resulting HTML.
+hr = Leaf "hr" "<hr" " />"
+{-# INLINE hr #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<html>@ element.
+--
+-- Example:
+--
+-- > html $ span $ text "foo"
+--
+-- Result:
+--
+-- > <html><span>foo</span></html>
+--
+html :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+html = Parent "html" "<html" "</html>"
+{-# INLINE html #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<i>@ element.
+--
+-- Example:
+--
+-- > i $ span $ text "foo"
+--
+-- Result:
+--
+-- > <i><span>foo</span></i>
+--
+i :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+i = Parent "i" "<i" "</i>"
+{-# INLINE i #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<img />@ element.
+--
+-- Example:
+--
+-- > img
+--
+-- Result:
+--
+-- > <img />
+--
+img :: Html  -- ^ Resulting HTML.
+img = Leaf "img" "<img" " />"
+{-# INLINE img #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<input />@ element.
+--
+-- Example:
+--
+-- > input
+--
+-- Result:
+--
+-- > <input />
+--
+input :: Html  -- ^ Resulting HTML.
+input = Leaf "input" "<input" " />"
+{-# INLINE input #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<ins>@ element.
+--
+-- Example:
+--
+-- > ins $ span $ text "foo"
+--
+-- Result:
+--
+-- > <ins><span>foo</span></ins>
+--
+ins :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+ins = Parent "ins" "<ins" "</ins>"
+{-# INLINE ins #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<kbd>@ element.
+--
+-- Example:
+--
+-- > kbd $ span $ text "foo"
+--
+-- Result:
+--
+-- > <kbd><span>foo</span></kbd>
+--
+kbd :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+kbd = Parent "kbd" "<kbd" "</kbd>"
+{-# INLINE kbd #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<label>@ element.
+--
+-- Example:
+--
+-- > label $ span $ text "foo"
+--
+-- Result:
+--
+-- > <label><span>foo</span></label>
+--
+label :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+label = Parent "label" "<label" "</label>"
+{-# INLINE label #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<legend>@ element.
+--
+-- Example:
+--
+-- > legend $ span $ text "foo"
+--
+-- Result:
+--
+-- > <legend><span>foo</span></legend>
+--
+legend :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+legend = Parent "legend" "<legend" "</legend>"
+{-# INLINE legend #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<li>@ element.
+--
+-- Example:
+--
+-- > li $ span $ text "foo"
+--
+-- Result:
+--
+-- > <li><span>foo</span></li>
+--
+li :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+li = Parent "li" "<li" "</li>"
+{-# INLINE li #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<link />@ element.
+--
+-- Example:
+--
+-- > link
+--
+-- Result:
+--
+-- > <link />
+--
+link :: Html  -- ^ Resulting HTML.
+link = Leaf "link" "<link" " />"
+{-# INLINE link #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<map>@ element.
+--
+-- Example:
+--
+-- > map $ span $ text "foo"
+--
+-- Result:
+--
+-- > <map><span>foo</span></map>
+--
+map :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+map = Parent "map" "<map" "</map>"
+{-# INLINE map #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<meta />@ element.
+--
+-- Example:
+--
+-- > meta
+--
+-- Result:
+--
+-- > <meta />
+--
+meta :: Html  -- ^ Resulting HTML.
+meta = Leaf "meta" "<meta" " />"
+{-# INLINE meta #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<noscript>@ element.
+--
+-- Example:
+--
+-- > noscript $ span $ text "foo"
+--
+-- Result:
+--
+-- > <noscript><span>foo</span></noscript>
+--
+noscript :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+noscript = Parent "noscript" "<noscript" "</noscript>"
+{-# INLINE noscript #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<object>@ element.
+--
+-- Example:
+--
+-- > object $ span $ text "foo"
+--
+-- Result:
+--
+-- > <object><span>foo</span></object>
+--
+object :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+object = Parent "object" "<object" "</object>"
+{-# INLINE object #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<ol>@ element.
+--
+-- Example:
+--
+-- > ol $ span $ text "foo"
+--
+-- Result:
+--
+-- > <ol><span>foo</span></ol>
+--
+ol :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+ol = Parent "ol" "<ol" "</ol>"
+{-# INLINE ol #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<optgroup>@ element.
+--
+-- Example:
+--
+-- > optgroup $ span $ text "foo"
+--
+-- Result:
+--
+-- > <optgroup><span>foo</span></optgroup>
+--
+optgroup :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+optgroup = Parent "optgroup" "<optgroup" "</optgroup>"
+{-# INLINE optgroup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<option>@ element.
+--
+-- Example:
+--
+-- > option $ span $ text "foo"
+--
+-- Result:
+--
+-- > <option><span>foo</span></option>
+--
+option :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+option = Parent "option" "<option" "</option>"
+{-# INLINE option #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<p>@ element.
+--
+-- Example:
+--
+-- > p $ span $ text "foo"
+--
+-- Result:
+--
+-- > <p><span>foo</span></p>
+--
+p :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+p = Parent "p" "<p" "</p>"
+{-# INLINE p #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<param />@ element.
+--
+-- Example:
+--
+-- > param
+--
+-- Result:
+--
+-- > <param />
+--
+param :: Html  -- ^ Resulting HTML.
+param = Leaf "param" "<param" " />"
+{-# INLINE param #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<pre>@ element.
+--
+-- Example:
+--
+-- > pre $ span $ text "foo"
+--
+-- Result:
+--
+-- > <pre><span>foo</span></pre>
+--
+pre :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+pre = Parent "pre" "<pre" "</pre>"
+{-# INLINE pre #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<q>@ element.
+--
+-- Example:
+--
+-- > q $ span $ text "foo"
+--
+-- Result:
+--
+-- > <q><span>foo</span></q>
+--
+q :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+q = Parent "q" "<q" "</q>"
+{-# INLINE q #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<samp>@ element.
+--
+-- Example:
+--
+-- > samp $ span $ text "foo"
+--
+-- Result:
+--
+-- > <samp><span>foo</span></samp>
+--
+samp :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+samp = Parent "samp" "<samp" "</samp>"
+{-# INLINE samp #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<script>@ element.
+--
+-- Example:
+--
+-- > script $ span $ text "foo"
+--
+-- Result:
+--
+-- > <script><span>foo</span></script>
+--
+script :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+script = Parent "script" "<script" "</script>" . external
+{-# INLINE script #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<select>@ element.
+--
+-- Example:
+--
+-- > select $ span $ text "foo"
+--
+-- Result:
+--
+-- > <select><span>foo</span></select>
+--
+select :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+select = Parent "select" "<select" "</select>"
+{-# INLINE select #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<small>@ element.
+--
+-- Example:
+--
+-- > small $ span $ text "foo"
+--
+-- Result:
+--
+-- > <small><span>foo</span></small>
+--
+small :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+small = Parent "small" "<small" "</small>"
+{-# INLINE small #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<span>@ element.
+--
+-- Example:
+--
+-- > span $ span $ text "foo"
+--
+-- Result:
+--
+-- > <span><span>foo</span></span>
+--
+span :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+span = Parent "span" "<span" "</span>"
+{-# INLINE span #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<strong>@ element.
+--
+-- Example:
+--
+-- > strong $ span $ text "foo"
+--
+-- Result:
+--
+-- > <strong><span>foo</span></strong>
+--
+strong :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+strong = Parent "strong" "<strong" "</strong>"
+{-# INLINE strong #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<style>@ element.
+--
+-- Example:
+--
+-- > style $ span $ text "foo"
+--
+-- Result:
+--
+-- > <style><span>foo</span></style>
+--
+style :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+style = Parent "style" "<style" "</style>" . external
+{-# INLINE style #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<sub>@ element.
+--
+-- Example:
+--
+-- > sub $ span $ text "foo"
+--
+-- Result:
+--
+-- > <sub><span>foo</span></sub>
+--
+sub :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+sub = Parent "sub" "<sub" "</sub>"
+{-# INLINE sub #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<sup>@ element.
+--
+-- Example:
+--
+-- > sup $ span $ text "foo"
+--
+-- Result:
+--
+-- > <sup><span>foo</span></sup>
+--
+sup :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+sup = Parent "sup" "<sup" "</sup>"
+{-# INLINE sup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<table>@ element.
+--
+-- Example:
+--
+-- > table $ span $ text "foo"
+--
+-- Result:
+--
+-- > <table><span>foo</span></table>
+--
+table :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+table = Parent "table" "<table" "</table>"
+{-# INLINE table #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<tbody>@ element.
+--
+-- Example:
+--
+-- > tbody $ span $ text "foo"
+--
+-- Result:
+--
+-- > <tbody><span>foo</span></tbody>
+--
+tbody :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+tbody = Parent "tbody" "<tbody" "</tbody>"
+{-# INLINE tbody #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<td>@ element.
+--
+-- Example:
+--
+-- > td $ span $ text "foo"
+--
+-- Result:
+--
+-- > <td><span>foo</span></td>
+--
+td :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+td = Parent "td" "<td" "</td>"
+{-# INLINE td #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<textarea>@ element.
+--
+-- Example:
+--
+-- > textarea $ span $ text "foo"
+--
+-- Result:
+--
+-- > <textarea><span>foo</span></textarea>
+--
+textarea :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+textarea = Parent "textarea" "<textarea" "</textarea>"
+{-# INLINE textarea #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<tfoot>@ element.
+--
+-- Example:
+--
+-- > tfoot $ span $ text "foo"
+--
+-- Result:
+--
+-- > <tfoot><span>foo</span></tfoot>
+--
+tfoot :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+tfoot = Parent "tfoot" "<tfoot" "</tfoot>"
+{-# INLINE tfoot #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<th>@ element.
+--
+-- Example:
+--
+-- > th $ span $ text "foo"
+--
+-- Result:
+--
+-- > <th><span>foo</span></th>
+--
+th :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+th = Parent "th" "<th" "</th>"
+{-# INLINE th #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<thead>@ element.
+--
+-- Example:
+--
+-- > thead $ span $ text "foo"
+--
+-- Result:
+--
+-- > <thead><span>foo</span></thead>
+--
+thead :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+thead = Parent "thead" "<thead" "</thead>"
+{-# INLINE thead #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<title>@ element.
+--
+-- Example:
+--
+-- > title $ span $ text "foo"
+--
+-- Result:
+--
+-- > <title><span>foo</span></title>
+--
+title :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+title = Parent "title" "<title" "</title>"
+{-# INLINE title #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<tr>@ element.
+--
+-- Example:
+--
+-- > tr $ span $ text "foo"
+--
+-- Result:
+--
+-- > <tr><span>foo</span></tr>
+--
+tr :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+tr = Parent "tr" "<tr" "</tr>"
+{-# INLINE tr #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<tt>@ element.
+--
+-- Example:
+--
+-- > tt $ span $ text "foo"
+--
+-- Result:
+--
+-- > <tt><span>foo</span></tt>
+--
+tt :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+tt = Parent "tt" "<tt" "</tt>"
+{-# INLINE tt #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<ul>@ element.
+--
+-- Example:
+--
+-- > ul $ span $ text "foo"
+--
+-- Result:
+--
+-- > <ul><span>foo</span></ul>
+--
+ul :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+ul = Parent "ul" "<ul" "</ul>"
+{-# INLINE ul #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<var>@ element.
+--
+-- Example:
+--
+-- > var $ span $ text "foo"
+--
+-- Result:
+--
+-- > <var><span>foo</span></var>
+--
+var :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+var = Parent "var" "<var" "</var>"
+{-# INLINE var #-}
diff --git a/Text/Blaze/XHtml1/Strict/Attributes.hs b/Text/Blaze/XHtml1/Strict/Attributes.hs
new file mode 100644
--- /dev/null
+++ b/Text/Blaze/XHtml1/Strict/Attributes.hs
@@ -0,0 +1,1745 @@
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:92
+--
+-- | This module exports combinators that provide you with the
+-- ability to set attributes on HTML elements.
+--
+{-# LANGUAGE OverloadedStrings #-}
+module Text.Blaze.XHtml1.Strict.Attributes
+    ( abbr
+    , accept
+    , accesskey
+    , action
+    , align
+    , alt
+    , archive
+    , axis
+    , border
+    , cellpadding
+    , cellspacing
+    , char
+    , charoff
+    , charset
+    , checked
+    , cite
+    , class_
+    , classid
+    , codebase
+    , codetype
+    , cols
+    , colspan
+    , content
+    , coords
+    , data_
+    , datetime
+    , declare
+    , defer
+    , dir
+    , disabled
+    , enctype
+    , for
+    , frame
+    , headers
+    , height
+    , href
+    , hreflang
+    , httpEquiv
+    , id
+    , label
+    , lang
+    , maxlength
+    , media
+    , method
+    , multiple
+    , name
+    , nohref
+    , onabort
+    , onblur
+    , onchange
+    , onclick
+    , ondblclick
+    , onfocus
+    , onkeydown
+    , onkeypress
+    , onkeyup
+    , onload
+    , onmousedown
+    , onmousemove
+    , onmouseout
+    , onmouseover
+    , onmouseup
+    , onreset
+    , onselect
+    , onsubmit
+    , onunload
+    , profile
+    , readonly
+    , rel
+    , rev
+    , rows
+    , rowspan
+    , rules
+    , scheme
+    , scope
+    , selected
+    , shape
+    , size
+    , span
+    , src
+    , standby
+    , style
+    , summary
+    , tabindex
+    , title
+    , type_
+    , usemap
+    , valign
+    , value
+    , valuetype
+    , width
+    ) where
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:98
+--
+import Prelude ()
+
+import Text.Blaze.Internal (Attribute, AttributeValue, attribute)
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @abbr@ attribute.
+--
+-- Example:
+--
+-- > div ! abbr "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div abbr="bar">Hello.</div>
+--
+abbr :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+abbr = attribute "abbr" " abbr=\""
+{-# INLINE abbr #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @accept@ attribute.
+--
+-- Example:
+--
+-- > div ! accept "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div accept="bar">Hello.</div>
+--
+accept :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+accept = attribute "accept" " accept=\""
+{-# INLINE accept #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @accesskey@ attribute.
+--
+-- Example:
+--
+-- > div ! accesskey "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div accesskey="bar">Hello.</div>
+--
+accesskey :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+accesskey = attribute "accesskey" " accesskey=\""
+{-# INLINE accesskey #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @action@ attribute.
+--
+-- Example:
+--
+-- > div ! action "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div action="bar">Hello.</div>
+--
+action :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+action = attribute "action" " action=\""
+{-# INLINE action #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @align@ attribute.
+--
+-- Example:
+--
+-- > div ! align "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div align="bar">Hello.</div>
+--
+align :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+align = attribute "align" " align=\""
+{-# INLINE align #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @alt@ attribute.
+--
+-- Example:
+--
+-- > div ! alt "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div alt="bar">Hello.</div>
+--
+alt :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+alt = attribute "alt" " alt=\""
+{-# INLINE alt #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @archive@ attribute.
+--
+-- Example:
+--
+-- > div ! archive "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div archive="bar">Hello.</div>
+--
+archive :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+archive = attribute "archive" " archive=\""
+{-# INLINE archive #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @axis@ attribute.
+--
+-- Example:
+--
+-- > div ! axis "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div axis="bar">Hello.</div>
+--
+axis :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+axis = attribute "axis" " axis=\""
+{-# INLINE axis #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @border@ attribute.
+--
+-- Example:
+--
+-- > div ! border "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div border="bar">Hello.</div>
+--
+border :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+border = attribute "border" " border=\""
+{-# INLINE border #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @cellpadding@ attribute.
+--
+-- Example:
+--
+-- > div ! cellpadding "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div cellpadding="bar">Hello.</div>
+--
+cellpadding :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+cellpadding = attribute "cellpadding" " cellpadding=\""
+{-# INLINE cellpadding #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @cellspacing@ attribute.
+--
+-- Example:
+--
+-- > div ! cellspacing "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div cellspacing="bar">Hello.</div>
+--
+cellspacing :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+cellspacing = attribute "cellspacing" " cellspacing=\""
+{-# INLINE cellspacing #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @char@ attribute.
+--
+-- Example:
+--
+-- > div ! char "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div char="bar">Hello.</div>
+--
+char :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+char = attribute "char" " char=\""
+{-# INLINE char #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @charoff@ attribute.
+--
+-- Example:
+--
+-- > div ! charoff "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div charoff="bar">Hello.</div>
+--
+charoff :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+charoff = attribute "charoff" " charoff=\""
+{-# INLINE charoff #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @charset@ attribute.
+--
+-- Example:
+--
+-- > div ! charset "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div charset="bar">Hello.</div>
+--
+charset :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+charset = attribute "charset" " charset=\""
+{-# INLINE charset #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @checked@ attribute.
+--
+-- Example:
+--
+-- > div ! checked "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div checked="bar">Hello.</div>
+--
+checked :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+checked = attribute "checked" " checked=\""
+{-# INLINE checked #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @cite@ attribute.
+--
+-- Example:
+--
+-- > div ! cite "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div cite="bar">Hello.</div>
+--
+cite :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+cite = attribute "cite" " cite=\""
+{-# INLINE cite #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @class@ attribute.
+--
+-- Example:
+--
+-- > div ! class_ "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div class="bar">Hello.</div>
+--
+class_ :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+class_ = attribute "class" " class=\""
+{-# INLINE class_ #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @classid@ attribute.
+--
+-- Example:
+--
+-- > div ! classid "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div classid="bar">Hello.</div>
+--
+classid :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+classid = attribute "classid" " classid=\""
+{-# INLINE classid #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @codebase@ attribute.
+--
+-- Example:
+--
+-- > div ! codebase "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div codebase="bar">Hello.</div>
+--
+codebase :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+codebase = attribute "codebase" " codebase=\""
+{-# INLINE codebase #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @codetype@ attribute.
+--
+-- Example:
+--
+-- > div ! codetype "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div codetype="bar">Hello.</div>
+--
+codetype :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+codetype = attribute "codetype" " codetype=\""
+{-# INLINE codetype #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @cols@ attribute.
+--
+-- Example:
+--
+-- > div ! cols "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div cols="bar">Hello.</div>
+--
+cols :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+cols = attribute "cols" " cols=\""
+{-# INLINE cols #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @colspan@ attribute.
+--
+-- Example:
+--
+-- > div ! colspan "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div colspan="bar">Hello.</div>
+--
+colspan :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+colspan = attribute "colspan" " colspan=\""
+{-# INLINE colspan #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @content@ attribute.
+--
+-- Example:
+--
+-- > div ! content "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div content="bar">Hello.</div>
+--
+content :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+content = attribute "content" " content=\""
+{-# INLINE content #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @coords@ attribute.
+--
+-- Example:
+--
+-- > div ! coords "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div coords="bar">Hello.</div>
+--
+coords :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+coords = attribute "coords" " coords=\""
+{-# INLINE coords #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @data@ attribute.
+--
+-- Example:
+--
+-- > div ! data_ "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div data="bar">Hello.</div>
+--
+data_ :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+data_ = attribute "data" " data=\""
+{-# INLINE data_ #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @datetime@ attribute.
+--
+-- Example:
+--
+-- > div ! datetime "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div datetime="bar">Hello.</div>
+--
+datetime :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+datetime = attribute "datetime" " datetime=\""
+{-# INLINE datetime #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @declare@ attribute.
+--
+-- Example:
+--
+-- > div ! declare "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div declare="bar">Hello.</div>
+--
+declare :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+declare = attribute "declare" " declare=\""
+{-# INLINE declare #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @defer@ attribute.
+--
+-- Example:
+--
+-- > div ! defer "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div defer="bar">Hello.</div>
+--
+defer :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+defer = attribute "defer" " defer=\""
+{-# INLINE defer #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @dir@ attribute.
+--
+-- Example:
+--
+-- > div ! dir "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div dir="bar">Hello.</div>
+--
+dir :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+dir = attribute "dir" " dir=\""
+{-# INLINE dir #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @disabled@ attribute.
+--
+-- Example:
+--
+-- > div ! disabled "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div disabled="bar">Hello.</div>
+--
+disabled :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+disabled = attribute "disabled" " disabled=\""
+{-# INLINE disabled #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @enctype@ attribute.
+--
+-- Example:
+--
+-- > div ! enctype "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div enctype="bar">Hello.</div>
+--
+enctype :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+enctype = attribute "enctype" " enctype=\""
+{-# INLINE enctype #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @for@ attribute.
+--
+-- Example:
+--
+-- > div ! for "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div for="bar">Hello.</div>
+--
+for :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+for = attribute "for" " for=\""
+{-# INLINE for #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @frame@ attribute.
+--
+-- Example:
+--
+-- > div ! frame "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div frame="bar">Hello.</div>
+--
+frame :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+frame = attribute "frame" " frame=\""
+{-# INLINE frame #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @headers@ attribute.
+--
+-- Example:
+--
+-- > div ! headers "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div headers="bar">Hello.</div>
+--
+headers :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+headers = attribute "headers" " headers=\""
+{-# INLINE headers #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @height@ attribute.
+--
+-- Example:
+--
+-- > div ! height "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div height="bar">Hello.</div>
+--
+height :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+height = attribute "height" " height=\""
+{-# INLINE height #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @href@ attribute.
+--
+-- Example:
+--
+-- > div ! href "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div href="bar">Hello.</div>
+--
+href :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+href = attribute "href" " href=\""
+{-# INLINE href #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @hreflang@ attribute.
+--
+-- Example:
+--
+-- > div ! hreflang "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div hreflang="bar">Hello.</div>
+--
+hreflang :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+hreflang = attribute "hreflang" " hreflang=\""
+{-# INLINE hreflang #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @http-equiv@ attribute.
+--
+-- Example:
+--
+-- > div ! httpEquiv "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div http-equiv="bar">Hello.</div>
+--
+httpEquiv :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+httpEquiv = attribute "http-equiv" " http-equiv=\""
+{-# INLINE httpEquiv #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @id@ attribute.
+--
+-- Example:
+--
+-- > div ! id "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div id="bar">Hello.</div>
+--
+id :: AttributeValue  -- ^ Attribute value.
+   -> Attribute       -- ^ Resulting attribute.
+id = attribute "id" " id=\""
+{-# INLINE id #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @label@ attribute.
+--
+-- Example:
+--
+-- > div ! label "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div label="bar">Hello.</div>
+--
+label :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+label = attribute "label" " label=\""
+{-# INLINE label #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @lang@ attribute.
+--
+-- Example:
+--
+-- > div ! lang "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div lang="bar">Hello.</div>
+--
+lang :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+lang = attribute "lang" " lang=\""
+{-# INLINE lang #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @maxlength@ attribute.
+--
+-- Example:
+--
+-- > div ! maxlength "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div maxlength="bar">Hello.</div>
+--
+maxlength :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+maxlength = attribute "maxlength" " maxlength=\""
+{-# INLINE maxlength #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @media@ attribute.
+--
+-- Example:
+--
+-- > div ! media "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div media="bar">Hello.</div>
+--
+media :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+media = attribute "media" " media=\""
+{-# INLINE media #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @method@ attribute.
+--
+-- Example:
+--
+-- > div ! method "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div method="bar">Hello.</div>
+--
+method :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+method = attribute "method" " method=\""
+{-# INLINE method #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @multiple@ attribute.
+--
+-- Example:
+--
+-- > div ! multiple "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div multiple="bar">Hello.</div>
+--
+multiple :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+multiple = attribute "multiple" " multiple=\""
+{-# INLINE multiple #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @name@ attribute.
+--
+-- Example:
+--
+-- > div ! name "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div name="bar">Hello.</div>
+--
+name :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+name = attribute "name" " name=\""
+{-# INLINE name #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @nohref@ attribute.
+--
+-- Example:
+--
+-- > div ! nohref "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div nohref="bar">Hello.</div>
+--
+nohref :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+nohref = attribute "nohref" " nohref=\""
+{-# INLINE nohref #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onabort@ attribute.
+--
+-- Example:
+--
+-- > div ! onabort "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onabort="bar">Hello.</div>
+--
+onabort :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onabort = attribute "onabort" " onabort=\""
+{-# INLINE onabort #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onblur@ attribute.
+--
+-- Example:
+--
+-- > div ! onblur "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onblur="bar">Hello.</div>
+--
+onblur :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+onblur = attribute "onblur" " onblur=\""
+{-# INLINE onblur #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onchange@ attribute.
+--
+-- Example:
+--
+-- > div ! onchange "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onchange="bar">Hello.</div>
+--
+onchange :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onchange = attribute "onchange" " onchange=\""
+{-# INLINE onchange #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onclick@ attribute.
+--
+-- Example:
+--
+-- > div ! onclick "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onclick="bar">Hello.</div>
+--
+onclick :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onclick = attribute "onclick" " onclick=\""
+{-# INLINE onclick #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ondblclick@ attribute.
+--
+-- Example:
+--
+-- > div ! ondblclick "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ondblclick="bar">Hello.</div>
+--
+ondblclick :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+ondblclick = attribute "ondblclick" " ondblclick=\""
+{-# INLINE ondblclick #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onfocus@ attribute.
+--
+-- Example:
+--
+-- > div ! onfocus "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onfocus="bar">Hello.</div>
+--
+onfocus :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onfocus = attribute "onfocus" " onfocus=\""
+{-# INLINE onfocus #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onkeydown@ attribute.
+--
+-- Example:
+--
+-- > div ! onkeydown "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onkeydown="bar">Hello.</div>
+--
+onkeydown :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+onkeydown = attribute "onkeydown" " onkeydown=\""
+{-# INLINE onkeydown #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onkeypress@ attribute.
+--
+-- Example:
+--
+-- > div ! onkeypress "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onkeypress="bar">Hello.</div>
+--
+onkeypress :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+onkeypress = attribute "onkeypress" " onkeypress=\""
+{-# INLINE onkeypress #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onkeyup@ attribute.
+--
+-- Example:
+--
+-- > div ! onkeyup "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onkeyup="bar">Hello.</div>
+--
+onkeyup :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onkeyup = attribute "onkeyup" " onkeyup=\""
+{-# INLINE onkeyup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onload@ attribute.
+--
+-- Example:
+--
+-- > div ! onload "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onload="bar">Hello.</div>
+--
+onload :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+onload = attribute "onload" " onload=\""
+{-# INLINE onload #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmousedown@ attribute.
+--
+-- Example:
+--
+-- > div ! onmousedown "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmousedown="bar">Hello.</div>
+--
+onmousedown :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+onmousedown = attribute "onmousedown" " onmousedown=\""
+{-# INLINE onmousedown #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmousemove@ attribute.
+--
+-- Example:
+--
+-- > div ! onmousemove "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmousemove="bar">Hello.</div>
+--
+onmousemove :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+onmousemove = attribute "onmousemove" " onmousemove=\""
+{-# INLINE onmousemove #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmouseout@ attribute.
+--
+-- Example:
+--
+-- > div ! onmouseout "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmouseout="bar">Hello.</div>
+--
+onmouseout :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+onmouseout = attribute "onmouseout" " onmouseout=\""
+{-# INLINE onmouseout #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmouseover@ attribute.
+--
+-- Example:
+--
+-- > div ! onmouseover "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmouseover="bar">Hello.</div>
+--
+onmouseover :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+onmouseover = attribute "onmouseover" " onmouseover=\""
+{-# INLINE onmouseover #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmouseup@ attribute.
+--
+-- Example:
+--
+-- > div ! onmouseup "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmouseup="bar">Hello.</div>
+--
+onmouseup :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+onmouseup = attribute "onmouseup" " onmouseup=\""
+{-# INLINE onmouseup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onreset@ attribute.
+--
+-- Example:
+--
+-- > div ! onreset "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onreset="bar">Hello.</div>
+--
+onreset :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onreset = attribute "onreset" " onreset=\""
+{-# INLINE onreset #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onselect@ attribute.
+--
+-- Example:
+--
+-- > div ! onselect "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onselect="bar">Hello.</div>
+--
+onselect :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onselect = attribute "onselect" " onselect=\""
+{-# INLINE onselect #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onsubmit@ attribute.
+--
+-- Example:
+--
+-- > div ! onsubmit "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onsubmit="bar">Hello.</div>
+--
+onsubmit :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onsubmit = attribute "onsubmit" " onsubmit=\""
+{-# INLINE onsubmit #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onunload@ attribute.
+--
+-- Example:
+--
+-- > div ! onunload "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onunload="bar">Hello.</div>
+--
+onunload :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onunload = attribute "onunload" " onunload=\""
+{-# INLINE onunload #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @profile@ attribute.
+--
+-- Example:
+--
+-- > div ! profile "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div profile="bar">Hello.</div>
+--
+profile :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+profile = attribute "profile" " profile=\""
+{-# INLINE profile #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @readonly@ attribute.
+--
+-- Example:
+--
+-- > div ! readonly "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div readonly="bar">Hello.</div>
+--
+readonly :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+readonly = attribute "readonly" " readonly=\""
+{-# INLINE readonly #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rel@ attribute.
+--
+-- Example:
+--
+-- > div ! rel "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rel="bar">Hello.</div>
+--
+rel :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+rel = attribute "rel" " rel=\""
+{-# INLINE rel #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rev@ attribute.
+--
+-- Example:
+--
+-- > div ! rev "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rev="bar">Hello.</div>
+--
+rev :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+rev = attribute "rev" " rev=\""
+{-# INLINE rev #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rows@ attribute.
+--
+-- Example:
+--
+-- > div ! rows "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rows="bar">Hello.</div>
+--
+rows :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+rows = attribute "rows" " rows=\""
+{-# INLINE rows #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rowspan@ attribute.
+--
+-- Example:
+--
+-- > div ! rowspan "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rowspan="bar">Hello.</div>
+--
+rowspan :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+rowspan = attribute "rowspan" " rowspan=\""
+{-# INLINE rowspan #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rules@ attribute.
+--
+-- Example:
+--
+-- > div ! rules "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rules="bar">Hello.</div>
+--
+rules :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+rules = attribute "rules" " rules=\""
+{-# INLINE rules #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @scheme@ attribute.
+--
+-- Example:
+--
+-- > div ! scheme "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div scheme="bar">Hello.</div>
+--
+scheme :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+scheme = attribute "scheme" " scheme=\""
+{-# INLINE scheme #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @scope@ attribute.
+--
+-- Example:
+--
+-- > div ! scope "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div scope="bar">Hello.</div>
+--
+scope :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+scope = attribute "scope" " scope=\""
+{-# INLINE scope #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @selected@ attribute.
+--
+-- Example:
+--
+-- > div ! selected "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div selected="bar">Hello.</div>
+--
+selected :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+selected = attribute "selected" " selected=\""
+{-# INLINE selected #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @shape@ attribute.
+--
+-- Example:
+--
+-- > div ! shape "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div shape="bar">Hello.</div>
+--
+shape :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+shape = attribute "shape" " shape=\""
+{-# INLINE shape #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @size@ attribute.
+--
+-- Example:
+--
+-- > div ! size "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div size="bar">Hello.</div>
+--
+size :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+size = attribute "size" " size=\""
+{-# INLINE size #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @span@ attribute.
+--
+-- Example:
+--
+-- > div ! span "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div span="bar">Hello.</div>
+--
+span :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+span = attribute "span" " span=\""
+{-# INLINE span #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @src@ attribute.
+--
+-- Example:
+--
+-- > div ! src "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div src="bar">Hello.</div>
+--
+src :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+src = attribute "src" " src=\""
+{-# INLINE src #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @standby@ attribute.
+--
+-- Example:
+--
+-- > div ! standby "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div standby="bar">Hello.</div>
+--
+standby :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+standby = attribute "standby" " standby=\""
+{-# INLINE standby #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @style@ attribute.
+--
+-- Example:
+--
+-- > div ! style "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div style="bar">Hello.</div>
+--
+style :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+style = attribute "style" " style=\""
+{-# INLINE style #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @summary@ attribute.
+--
+-- Example:
+--
+-- > div ! summary "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div summary="bar">Hello.</div>
+--
+summary :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+summary = attribute "summary" " summary=\""
+{-# INLINE summary #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @tabindex@ attribute.
+--
+-- Example:
+--
+-- > div ! tabindex "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div tabindex="bar">Hello.</div>
+--
+tabindex :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+tabindex = attribute "tabindex" " tabindex=\""
+{-# INLINE tabindex #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @title@ attribute.
+--
+-- Example:
+--
+-- > div ! title "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div title="bar">Hello.</div>
+--
+title :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+title = attribute "title" " title=\""
+{-# INLINE title #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @type@ attribute.
+--
+-- Example:
+--
+-- > div ! type_ "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div type="bar">Hello.</div>
+--
+type_ :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+type_ = attribute "type" " type=\""
+{-# INLINE type_ #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @usemap@ attribute.
+--
+-- Example:
+--
+-- > div ! usemap "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div usemap="bar">Hello.</div>
+--
+usemap :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+usemap = attribute "usemap" " usemap=\""
+{-# INLINE usemap #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @valign@ attribute.
+--
+-- Example:
+--
+-- > div ! valign "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div valign="bar">Hello.</div>
+--
+valign :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+valign = attribute "valign" " valign=\""
+{-# INLINE valign #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @value@ attribute.
+--
+-- Example:
+--
+-- > div ! value "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div value="bar">Hello.</div>
+--
+value :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+value = attribute "value" " value=\""
+{-# INLINE value #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @valuetype@ attribute.
+--
+-- Example:
+--
+-- > div ! valuetype "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div valuetype="bar">Hello.</div>
+--
+valuetype :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+valuetype = attribute "valuetype" " valuetype=\""
+{-# INLINE valuetype #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @width@ attribute.
+--
+-- Example:
+--
+-- > div ! width "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div width="bar">Hello.</div>
+--
+width :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+width = attribute "width" " width=\""
+{-# INLINE width #-}
diff --git a/Text/Blaze/XHtml1/Transitional.hs b/Text/Blaze/XHtml1/Transitional.hs
new file mode 100644
--- /dev/null
+++ b/Text/Blaze/XHtml1/Transitional.hs
@@ -0,0 +1,1702 @@
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:69
+--
+{-# LANGUAGE OverloadedStrings #-}
+-- | This module exports HTML combinators used to create documents.
+--
+module Text.Blaze.XHtml1.Transitional
+    ( module Text.Blaze
+    , docType
+    , docTypeHtml
+    , a
+    , abbr
+    , acronym
+    , address
+    , applet
+    , area
+    , b
+    , basefont
+    , bdo
+    , big
+    , blockquote
+    , body
+    , br
+    , button
+    , caption
+    , center
+    , cite
+    , code
+    , col
+    , colgroup
+    , dd
+    , del
+    , dfn
+    , dir
+    , div
+    , dl
+    , dt
+    , em
+    , fieldset
+    , font
+    , form
+    , h1
+    , h2
+    , h3
+    , h4
+    , h5
+    , h6
+    , head
+    , hr
+    , html
+    , i
+    , iframe
+    , img
+    , input
+    , ins
+    , isindex
+    , kbd
+    , label
+    , legend
+    , li
+    , link
+    , map
+    , menu
+    , meta
+    , noframes
+    , noscript
+    , object
+    , ol
+    , optgroup
+    , option
+    , p
+    , param
+    , pre
+    , q
+    , s
+    , samp
+    , script
+    , select
+    , small
+    , span
+    , strong
+    , style
+    , sub
+    , sup
+    , table
+    , tbody
+    , td
+    , textarea
+    , tfoot
+    , th
+    , thead
+    , title
+    , tr
+    , tt
+    , u
+    , ul
+    , var
+    ) where
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:77
+--
+import Prelude ((>>), (.))
+
+import Text.Blaze
+import Text.Blaze.Internal
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:155
+--
+-- | Combinator for the document type. This should be placed at the top
+-- of every HTML page.
+--
+-- Example:
+--
+-- > docType
+--
+-- Result:
+--
+-- > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+-- >     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+--
+docType :: Html  -- ^ The document type HTML.
+docType = preEscapedText "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"
+{-# INLINE docType #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:176
+--
+-- | Combinator for the @\<html>@ element. This combinator will also
+-- insert the correct doctype.
+--
+-- Example:
+--
+-- > docTypeHtml $ span $ text "foo"
+--
+-- Result:
+--
+-- > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+-- >     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+-- > <html><span>foo</span></html>
+--
+docTypeHtml :: Html  -- ^ Inner HTML.
+            -> Html  -- ^ Resulting HTML.
+docTypeHtml inner = docType >> html inner
+{-# INLINE docTypeHtml #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<a>@ element.
+--
+-- Example:
+--
+-- > a $ span $ text "foo"
+--
+-- Result:
+--
+-- > <a><span>foo</span></a>
+--
+a :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+a = Parent "a" "<a" "</a>"
+{-# INLINE a #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<abbr>@ element.
+--
+-- Example:
+--
+-- > abbr $ span $ text "foo"
+--
+-- Result:
+--
+-- > <abbr><span>foo</span></abbr>
+--
+abbr :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+abbr = Parent "abbr" "<abbr" "</abbr>"
+{-# INLINE abbr #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<acronym>@ element.
+--
+-- Example:
+--
+-- > acronym $ span $ text "foo"
+--
+-- Result:
+--
+-- > <acronym><span>foo</span></acronym>
+--
+acronym :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+acronym = Parent "acronym" "<acronym" "</acronym>"
+{-# INLINE acronym #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<address>@ element.
+--
+-- Example:
+--
+-- > address $ span $ text "foo"
+--
+-- Result:
+--
+-- > <address><span>foo</span></address>
+--
+address :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+address = Parent "address" "<address" "</address>"
+{-# INLINE address #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<applet>@ element.
+--
+-- Example:
+--
+-- > applet $ span $ text "foo"
+--
+-- Result:
+--
+-- > <applet><span>foo</span></applet>
+--
+applet :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+applet = Parent "applet" "<applet" "</applet>"
+{-# INLINE applet #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<area />@ element.
+--
+-- Example:
+--
+-- > area
+--
+-- Result:
+--
+-- > <area />
+--
+area :: Html  -- ^ Resulting HTML.
+area = Leaf "area" "<area" " />"
+{-# INLINE area #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<b>@ element.
+--
+-- Example:
+--
+-- > b $ span $ text "foo"
+--
+-- Result:
+--
+-- > <b><span>foo</span></b>
+--
+b :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+b = Parent "b" "<b" "</b>"
+{-# INLINE b #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<basefont />@ element.
+--
+-- Example:
+--
+-- > basefont
+--
+-- Result:
+--
+-- > <basefont />
+--
+basefont :: Html  -- ^ Resulting HTML.
+basefont = Leaf "basefont" "<basefont" " />"
+{-# INLINE basefont #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<bdo>@ element.
+--
+-- Example:
+--
+-- > bdo $ span $ text "foo"
+--
+-- Result:
+--
+-- > <bdo><span>foo</span></bdo>
+--
+bdo :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+bdo = Parent "bdo" "<bdo" "</bdo>"
+{-# INLINE bdo #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<big>@ element.
+--
+-- Example:
+--
+-- > big $ span $ text "foo"
+--
+-- Result:
+--
+-- > <big><span>foo</span></big>
+--
+big :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+big = Parent "big" "<big" "</big>"
+{-# INLINE big #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<blockquote>@ element.
+--
+-- Example:
+--
+-- > blockquote $ span $ text "foo"
+--
+-- Result:
+--
+-- > <blockquote><span>foo</span></blockquote>
+--
+blockquote :: Html  -- ^ Inner HTML.
+           -> Html  -- ^ Resulting HTML.
+blockquote = Parent "blockquote" "<blockquote" "</blockquote>"
+{-# INLINE blockquote #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<body>@ element.
+--
+-- Example:
+--
+-- > body $ span $ text "foo"
+--
+-- Result:
+--
+-- > <body><span>foo</span></body>
+--
+body :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+body = Parent "body" "<body" "</body>"
+{-# INLINE body #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<br />@ element.
+--
+-- Example:
+--
+-- > br
+--
+-- Result:
+--
+-- > <br />
+--
+br :: Html  -- ^ Resulting HTML.
+br = Leaf "br" "<br" " />"
+{-# INLINE br #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<button>@ element.
+--
+-- Example:
+--
+-- > button $ span $ text "foo"
+--
+-- Result:
+--
+-- > <button><span>foo</span></button>
+--
+button :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+button = Parent "button" "<button" "</button>"
+{-# INLINE button #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<caption>@ element.
+--
+-- Example:
+--
+-- > caption $ span $ text "foo"
+--
+-- Result:
+--
+-- > <caption><span>foo</span></caption>
+--
+caption :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+caption = Parent "caption" "<caption" "</caption>"
+{-# INLINE caption #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<center>@ element.
+--
+-- Example:
+--
+-- > center $ span $ text "foo"
+--
+-- Result:
+--
+-- > <center><span>foo</span></center>
+--
+center :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+center = Parent "center" "<center" "</center>"
+{-# INLINE center #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<cite>@ element.
+--
+-- Example:
+--
+-- > cite $ span $ text "foo"
+--
+-- Result:
+--
+-- > <cite><span>foo</span></cite>
+--
+cite :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+cite = Parent "cite" "<cite" "</cite>"
+{-# INLINE cite #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<code>@ element.
+--
+-- Example:
+--
+-- > code $ span $ text "foo"
+--
+-- Result:
+--
+-- > <code><span>foo</span></code>
+--
+code :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+code = Parent "code" "<code" "</code>"
+{-# INLINE code #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<col />@ element.
+--
+-- Example:
+--
+-- > col
+--
+-- Result:
+--
+-- > <col />
+--
+col :: Html  -- ^ Resulting HTML.
+col = Leaf "col" "<col" " />"
+{-# INLINE col #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<colgroup>@ element.
+--
+-- Example:
+--
+-- > colgroup $ span $ text "foo"
+--
+-- Result:
+--
+-- > <colgroup><span>foo</span></colgroup>
+--
+colgroup :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+colgroup = Parent "colgroup" "<colgroup" "</colgroup>"
+{-# INLINE colgroup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<dd>@ element.
+--
+-- Example:
+--
+-- > dd $ span $ text "foo"
+--
+-- Result:
+--
+-- > <dd><span>foo</span></dd>
+--
+dd :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+dd = Parent "dd" "<dd" "</dd>"
+{-# INLINE dd #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<del>@ element.
+--
+-- Example:
+--
+-- > del $ span $ text "foo"
+--
+-- Result:
+--
+-- > <del><span>foo</span></del>
+--
+del :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+del = Parent "del" "<del" "</del>"
+{-# INLINE del #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<dfn>@ element.
+--
+-- Example:
+--
+-- > dfn $ span $ text "foo"
+--
+-- Result:
+--
+-- > <dfn><span>foo</span></dfn>
+--
+dfn :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+dfn = Parent "dfn" "<dfn" "</dfn>"
+{-# INLINE dfn #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<dir>@ element.
+--
+-- Example:
+--
+-- > dir $ span $ text "foo"
+--
+-- Result:
+--
+-- > <dir><span>foo</span></dir>
+--
+dir :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+dir = Parent "dir" "<dir" "</dir>"
+{-# INLINE dir #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<div>@ element.
+--
+-- Example:
+--
+-- > div $ span $ text "foo"
+--
+-- Result:
+--
+-- > <div><span>foo</span></div>
+--
+div :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+div = Parent "div" "<div" "</div>"
+{-# INLINE div #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<dl>@ element.
+--
+-- Example:
+--
+-- > dl $ span $ text "foo"
+--
+-- Result:
+--
+-- > <dl><span>foo</span></dl>
+--
+dl :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+dl = Parent "dl" "<dl" "</dl>"
+{-# INLINE dl #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<dt>@ element.
+--
+-- Example:
+--
+-- > dt $ span $ text "foo"
+--
+-- Result:
+--
+-- > <dt><span>foo</span></dt>
+--
+dt :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+dt = Parent "dt" "<dt" "</dt>"
+{-# INLINE dt #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<em>@ element.
+--
+-- Example:
+--
+-- > em $ span $ text "foo"
+--
+-- Result:
+--
+-- > <em><span>foo</span></em>
+--
+em :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+em = Parent "em" "<em" "</em>"
+{-# INLINE em #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<fieldset>@ element.
+--
+-- Example:
+--
+-- > fieldset $ span $ text "foo"
+--
+-- Result:
+--
+-- > <fieldset><span>foo</span></fieldset>
+--
+fieldset :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+fieldset = Parent "fieldset" "<fieldset" "</fieldset>"
+{-# INLINE fieldset #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<font>@ element.
+--
+-- Example:
+--
+-- > font $ span $ text "foo"
+--
+-- Result:
+--
+-- > <font><span>foo</span></font>
+--
+font :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+font = Parent "font" "<font" "</font>"
+{-# INLINE font #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<form>@ element.
+--
+-- Example:
+--
+-- > form $ span $ text "foo"
+--
+-- Result:
+--
+-- > <form><span>foo</span></form>
+--
+form :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+form = Parent "form" "<form" "</form>"
+{-# INLINE form #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h1>@ element.
+--
+-- Example:
+--
+-- > h1 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h1><span>foo</span></h1>
+--
+h1 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h1 = Parent "h1" "<h1" "</h1>"
+{-# INLINE h1 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h2>@ element.
+--
+-- Example:
+--
+-- > h2 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h2><span>foo</span></h2>
+--
+h2 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h2 = Parent "h2" "<h2" "</h2>"
+{-# INLINE h2 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h3>@ element.
+--
+-- Example:
+--
+-- > h3 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h3><span>foo</span></h3>
+--
+h3 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h3 = Parent "h3" "<h3" "</h3>"
+{-# INLINE h3 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h4>@ element.
+--
+-- Example:
+--
+-- > h4 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h4><span>foo</span></h4>
+--
+h4 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h4 = Parent "h4" "<h4" "</h4>"
+{-# INLINE h4 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h5>@ element.
+--
+-- Example:
+--
+-- > h5 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h5><span>foo</span></h5>
+--
+h5 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h5 = Parent "h5" "<h5" "</h5>"
+{-# INLINE h5 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<h6>@ element.
+--
+-- Example:
+--
+-- > h6 $ span $ text "foo"
+--
+-- Result:
+--
+-- > <h6><span>foo</span></h6>
+--
+h6 :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+h6 = Parent "h6" "<h6" "</h6>"
+{-# INLINE h6 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<head>@ element.
+--
+-- Example:
+--
+-- > head $ span $ text "foo"
+--
+-- Result:
+--
+-- > <head><span>foo</span></head>
+--
+head :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+head = Parent "head" "<head" "</head>"
+{-# INLINE head #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<hr />@ element.
+--
+-- Example:
+--
+-- > hr
+--
+-- Result:
+--
+-- > <hr />
+--
+hr :: Html  -- ^ Resulting HTML.
+hr = Leaf "hr" "<hr" " />"
+{-# INLINE hr #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<html>@ element.
+--
+-- Example:
+--
+-- > html $ span $ text "foo"
+--
+-- Result:
+--
+-- > <html><span>foo</span></html>
+--
+html :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+html = Parent "html" "<html" "</html>"
+{-# INLINE html #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<i>@ element.
+--
+-- Example:
+--
+-- > i $ span $ text "foo"
+--
+-- Result:
+--
+-- > <i><span>foo</span></i>
+--
+i :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+i = Parent "i" "<i" "</i>"
+{-# INLINE i #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<iframe>@ element.
+--
+-- Example:
+--
+-- > iframe $ span $ text "foo"
+--
+-- Result:
+--
+-- > <iframe><span>foo</span></iframe>
+--
+iframe :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+iframe = Parent "iframe" "<iframe" "</iframe>"
+{-# INLINE iframe #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<img />@ element.
+--
+-- Example:
+--
+-- > img
+--
+-- Result:
+--
+-- > <img />
+--
+img :: Html  -- ^ Resulting HTML.
+img = Leaf "img" "<img" " />"
+{-# INLINE img #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<input />@ element.
+--
+-- Example:
+--
+-- > input
+--
+-- Result:
+--
+-- > <input />
+--
+input :: Html  -- ^ Resulting HTML.
+input = Leaf "input" "<input" " />"
+{-# INLINE input #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<ins>@ element.
+--
+-- Example:
+--
+-- > ins $ span $ text "foo"
+--
+-- Result:
+--
+-- > <ins><span>foo</span></ins>
+--
+ins :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+ins = Parent "ins" "<ins" "</ins>"
+{-# INLINE ins #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<isindex>@ element.
+--
+-- Example:
+--
+-- > isindex $ span $ text "foo"
+--
+-- Result:
+--
+-- > <isindex><span>foo</span></isindex>
+--
+isindex :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+isindex = Parent "isindex" "<isindex" "</isindex>"
+{-# INLINE isindex #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<kbd>@ element.
+--
+-- Example:
+--
+-- > kbd $ span $ text "foo"
+--
+-- Result:
+--
+-- > <kbd><span>foo</span></kbd>
+--
+kbd :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+kbd = Parent "kbd" "<kbd" "</kbd>"
+{-# INLINE kbd #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<label>@ element.
+--
+-- Example:
+--
+-- > label $ span $ text "foo"
+--
+-- Result:
+--
+-- > <label><span>foo</span></label>
+--
+label :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+label = Parent "label" "<label" "</label>"
+{-# INLINE label #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<legend>@ element.
+--
+-- Example:
+--
+-- > legend $ span $ text "foo"
+--
+-- Result:
+--
+-- > <legend><span>foo</span></legend>
+--
+legend :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+legend = Parent "legend" "<legend" "</legend>"
+{-# INLINE legend #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<li>@ element.
+--
+-- Example:
+--
+-- > li $ span $ text "foo"
+--
+-- Result:
+--
+-- > <li><span>foo</span></li>
+--
+li :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+li = Parent "li" "<li" "</li>"
+{-# INLINE li #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<link />@ element.
+--
+-- Example:
+--
+-- > link
+--
+-- Result:
+--
+-- > <link />
+--
+link :: Html  -- ^ Resulting HTML.
+link = Leaf "link" "<link" " />"
+{-# INLINE link #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<map>@ element.
+--
+-- Example:
+--
+-- > map $ span $ text "foo"
+--
+-- Result:
+--
+-- > <map><span>foo</span></map>
+--
+map :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+map = Parent "map" "<map" "</map>"
+{-# INLINE map #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<menu>@ element.
+--
+-- Example:
+--
+-- > menu $ span $ text "foo"
+--
+-- Result:
+--
+-- > <menu><span>foo</span></menu>
+--
+menu :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+menu = Parent "menu" "<menu" "</menu>"
+{-# INLINE menu #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<meta />@ element.
+--
+-- Example:
+--
+-- > meta
+--
+-- Result:
+--
+-- > <meta />
+--
+meta :: Html  -- ^ Resulting HTML.
+meta = Leaf "meta" "<meta" " />"
+{-# INLINE meta #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<noframes>@ element.
+--
+-- Example:
+--
+-- > noframes $ span $ text "foo"
+--
+-- Result:
+--
+-- > <noframes><span>foo</span></noframes>
+--
+noframes :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+noframes = Parent "noframes" "<noframes" "</noframes>"
+{-# INLINE noframes #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<noscript>@ element.
+--
+-- Example:
+--
+-- > noscript $ span $ text "foo"
+--
+-- Result:
+--
+-- > <noscript><span>foo</span></noscript>
+--
+noscript :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+noscript = Parent "noscript" "<noscript" "</noscript>"
+{-# INLINE noscript #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<object>@ element.
+--
+-- Example:
+--
+-- > object $ span $ text "foo"
+--
+-- Result:
+--
+-- > <object><span>foo</span></object>
+--
+object :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+object = Parent "object" "<object" "</object>"
+{-# INLINE object #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<ol>@ element.
+--
+-- Example:
+--
+-- > ol $ span $ text "foo"
+--
+-- Result:
+--
+-- > <ol><span>foo</span></ol>
+--
+ol :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+ol = Parent "ol" "<ol" "</ol>"
+{-# INLINE ol #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<optgroup>@ element.
+--
+-- Example:
+--
+-- > optgroup $ span $ text "foo"
+--
+-- Result:
+--
+-- > <optgroup><span>foo</span></optgroup>
+--
+optgroup :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+optgroup = Parent "optgroup" "<optgroup" "</optgroup>"
+{-# INLINE optgroup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<option>@ element.
+--
+-- Example:
+--
+-- > option $ span $ text "foo"
+--
+-- Result:
+--
+-- > <option><span>foo</span></option>
+--
+option :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+option = Parent "option" "<option" "</option>"
+{-# INLINE option #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<p>@ element.
+--
+-- Example:
+--
+-- > p $ span $ text "foo"
+--
+-- Result:
+--
+-- > <p><span>foo</span></p>
+--
+p :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+p = Parent "p" "<p" "</p>"
+{-# INLINE p #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<param />@ element.
+--
+-- Example:
+--
+-- > param
+--
+-- Result:
+--
+-- > <param />
+--
+param :: Html  -- ^ Resulting HTML.
+param = Leaf "param" "<param" " />"
+{-# INLINE param #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<pre>@ element.
+--
+-- Example:
+--
+-- > pre $ span $ text "foo"
+--
+-- Result:
+--
+-- > <pre><span>foo</span></pre>
+--
+pre :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+pre = Parent "pre" "<pre" "</pre>"
+{-# INLINE pre #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<q>@ element.
+--
+-- Example:
+--
+-- > q $ span $ text "foo"
+--
+-- Result:
+--
+-- > <q><span>foo</span></q>
+--
+q :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+q = Parent "q" "<q" "</q>"
+{-# INLINE q #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<s>@ element.
+--
+-- Example:
+--
+-- > s $ span $ text "foo"
+--
+-- Result:
+--
+-- > <s><span>foo</span></s>
+--
+s :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+s = Parent "s" "<s" "</s>"
+{-# INLINE s #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<samp>@ element.
+--
+-- Example:
+--
+-- > samp $ span $ text "foo"
+--
+-- Result:
+--
+-- > <samp><span>foo</span></samp>
+--
+samp :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+samp = Parent "samp" "<samp" "</samp>"
+{-# INLINE samp #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<script>@ element.
+--
+-- Example:
+--
+-- > script $ span $ text "foo"
+--
+-- Result:
+--
+-- > <script><span>foo</span></script>
+--
+script :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+script = Parent "script" "<script" "</script>" . external
+{-# INLINE script #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<select>@ element.
+--
+-- Example:
+--
+-- > select $ span $ text "foo"
+--
+-- Result:
+--
+-- > <select><span>foo</span></select>
+--
+select :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+select = Parent "select" "<select" "</select>"
+{-# INLINE select #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<small>@ element.
+--
+-- Example:
+--
+-- > small $ span $ text "foo"
+--
+-- Result:
+--
+-- > <small><span>foo</span></small>
+--
+small :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+small = Parent "small" "<small" "</small>"
+{-# INLINE small #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<span>@ element.
+--
+-- Example:
+--
+-- > span $ span $ text "foo"
+--
+-- Result:
+--
+-- > <span><span>foo</span></span>
+--
+span :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+span = Parent "span" "<span" "</span>"
+{-# INLINE span #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<strong>@ element.
+--
+-- Example:
+--
+-- > strong $ span $ text "foo"
+--
+-- Result:
+--
+-- > <strong><span>foo</span></strong>
+--
+strong :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+strong = Parent "strong" "<strong" "</strong>"
+{-# INLINE strong #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<style>@ element.
+--
+-- Example:
+--
+-- > style $ span $ text "foo"
+--
+-- Result:
+--
+-- > <style><span>foo</span></style>
+--
+style :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+style = Parent "style" "<style" "</style>" . external
+{-# INLINE style #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<sub>@ element.
+--
+-- Example:
+--
+-- > sub $ span $ text "foo"
+--
+-- Result:
+--
+-- > <sub><span>foo</span></sub>
+--
+sub :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+sub = Parent "sub" "<sub" "</sub>"
+{-# INLINE sub #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<sup>@ element.
+--
+-- Example:
+--
+-- > sup $ span $ text "foo"
+--
+-- Result:
+--
+-- > <sup><span>foo</span></sup>
+--
+sup :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+sup = Parent "sup" "<sup" "</sup>"
+{-# INLINE sup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<table>@ element.
+--
+-- Example:
+--
+-- > table $ span $ text "foo"
+--
+-- Result:
+--
+-- > <table><span>foo</span></table>
+--
+table :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+table = Parent "table" "<table" "</table>"
+{-# INLINE table #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<tbody>@ element.
+--
+-- Example:
+--
+-- > tbody $ span $ text "foo"
+--
+-- Result:
+--
+-- > <tbody><span>foo</span></tbody>
+--
+tbody :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+tbody = Parent "tbody" "<tbody" "</tbody>"
+{-# INLINE tbody #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<td>@ element.
+--
+-- Example:
+--
+-- > td $ span $ text "foo"
+--
+-- Result:
+--
+-- > <td><span>foo</span></td>
+--
+td :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+td = Parent "td" "<td" "</td>"
+{-# INLINE td #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<textarea>@ element.
+--
+-- Example:
+--
+-- > textarea $ span $ text "foo"
+--
+-- Result:
+--
+-- > <textarea><span>foo</span></textarea>
+--
+textarea :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+textarea = Parent "textarea" "<textarea" "</textarea>"
+{-# INLINE textarea #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<tfoot>@ element.
+--
+-- Example:
+--
+-- > tfoot $ span $ text "foo"
+--
+-- Result:
+--
+-- > <tfoot><span>foo</span></tfoot>
+--
+tfoot :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+tfoot = Parent "tfoot" "<tfoot" "</tfoot>"
+{-# INLINE tfoot #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<th>@ element.
+--
+-- Example:
+--
+-- > th $ span $ text "foo"
+--
+-- Result:
+--
+-- > <th><span>foo</span></th>
+--
+th :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+th = Parent "th" "<th" "</th>"
+{-# INLINE th #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<thead>@ element.
+--
+-- Example:
+--
+-- > thead $ span $ text "foo"
+--
+-- Result:
+--
+-- > <thead><span>foo</span></thead>
+--
+thead :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+thead = Parent "thead" "<thead" "</thead>"
+{-# INLINE thead #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<title>@ element.
+--
+-- Example:
+--
+-- > title $ span $ text "foo"
+--
+-- Result:
+--
+-- > <title><span>foo</span></title>
+--
+title :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+title = Parent "title" "<title" "</title>"
+{-# INLINE title #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<tr>@ element.
+--
+-- Example:
+--
+-- > tr $ span $ text "foo"
+--
+-- Result:
+--
+-- > <tr><span>foo</span></tr>
+--
+tr :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+tr = Parent "tr" "<tr" "</tr>"
+{-# INLINE tr #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<tt>@ element.
+--
+-- Example:
+--
+-- > tt $ span $ text "foo"
+--
+-- Result:
+--
+-- > <tt><span>foo</span></tt>
+--
+tt :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+tt = Parent "tt" "<tt" "</tt>"
+{-# INLINE tt #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<u>@ element.
+--
+-- Example:
+--
+-- > u $ span $ text "foo"
+--
+-- Result:
+--
+-- > <u><span>foo</span></u>
+--
+u :: Html  -- ^ Inner HTML.
+  -> Html  -- ^ Resulting HTML.
+u = Parent "u" "<u" "</u>"
+{-# INLINE u #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<ul>@ element.
+--
+-- Example:
+--
+-- > ul $ span $ text "foo"
+--
+-- Result:
+--
+-- > <ul><span>foo</span></ul>
+--
+ul :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+ul = Parent "ul" "<ul" "</ul>"
+{-# INLINE ul #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<var>@ element.
+--
+-- Example:
+--
+-- > var $ span $ text "foo"
+--
+-- Result:
+--
+-- > <var><span>foo</span></var>
+--
+var :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+var = Parent "var" "<var" "</var>"
+{-# INLINE var #-}
diff --git a/Text/Blaze/XHtml1/Transitional/Attributes.hs b/Text/Blaze/XHtml1/Transitional/Attributes.hs
new file mode 100644
--- /dev/null
+++ b/Text/Blaze/XHtml1/Transitional/Attributes.hs
@@ -0,0 +1,1954 @@
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:92
+--
+-- | This module exports combinators that provide you with the
+-- ability to set attributes on HTML elements.
+--
+{-# LANGUAGE OverloadedStrings #-}
+module Text.Blaze.XHtml1.Transitional.Attributes
+    ( abbr
+    , accept
+    , accesskey
+    , action
+    , align
+    , alt
+    , archive
+    , axis
+    , background
+    , bgcolor
+    , border
+    , cellpadding
+    , cellspacing
+    , char
+    , charoff
+    , charset
+    , checked
+    , cite
+    , class_
+    , classid
+    , clear
+    , codebase
+    , codetype
+    , cols
+    , colspan
+    , compact
+    , content
+    , coords
+    , data_
+    , datetime
+    , declare
+    , defer
+    , dir
+    , disabled
+    , enctype
+    , for
+    , frame
+    , headers
+    , height
+    , href
+    , hreflang
+    , hspace
+    , httpEquiv
+    , id
+    , label
+    , lang
+    , language
+    , maxlength
+    , media
+    , method
+    , multiple
+    , name
+    , nohref
+    , noshade
+    , nowrap
+    , onabort
+    , onblur
+    , onchange
+    , onclick
+    , ondblclick
+    , onfocus
+    , onkeydown
+    , onkeypress
+    , onkeyup
+    , onload
+    , onmousedown
+    , onmousemove
+    , onmouseout
+    , onmouseover
+    , onmouseup
+    , onreset
+    , onselect
+    , onsubmit
+    , onunload
+    , profile
+    , readonly
+    , rel
+    , rev
+    , rows
+    , rowspan
+    , rules
+    , scheme
+    , scope
+    , selected
+    , shape
+    , size
+    , span
+    , src
+    , standby
+    , start
+    , style
+    , summary
+    , tabindex
+    , target
+    , title
+    , type_
+    , usemap
+    , valign
+    , value
+    , valuetype
+    , vspace
+    , width
+    ) where
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:98
+--
+import Prelude ()
+
+import Text.Blaze.Internal (Attribute, AttributeValue, attribute)
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @abbr@ attribute.
+--
+-- Example:
+--
+-- > div ! abbr "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div abbr="bar">Hello.</div>
+--
+abbr :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+abbr = attribute "abbr" " abbr=\""
+{-# INLINE abbr #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @accept@ attribute.
+--
+-- Example:
+--
+-- > div ! accept "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div accept="bar">Hello.</div>
+--
+accept :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+accept = attribute "accept" " accept=\""
+{-# INLINE accept #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @accesskey@ attribute.
+--
+-- Example:
+--
+-- > div ! accesskey "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div accesskey="bar">Hello.</div>
+--
+accesskey :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+accesskey = attribute "accesskey" " accesskey=\""
+{-# INLINE accesskey #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @action@ attribute.
+--
+-- Example:
+--
+-- > div ! action "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div action="bar">Hello.</div>
+--
+action :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+action = attribute "action" " action=\""
+{-# INLINE action #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @align@ attribute.
+--
+-- Example:
+--
+-- > div ! align "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div align="bar">Hello.</div>
+--
+align :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+align = attribute "align" " align=\""
+{-# INLINE align #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @alt@ attribute.
+--
+-- Example:
+--
+-- > div ! alt "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div alt="bar">Hello.</div>
+--
+alt :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+alt = attribute "alt" " alt=\""
+{-# INLINE alt #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @archive@ attribute.
+--
+-- Example:
+--
+-- > div ! archive "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div archive="bar">Hello.</div>
+--
+archive :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+archive = attribute "archive" " archive=\""
+{-# INLINE archive #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @axis@ attribute.
+--
+-- Example:
+--
+-- > div ! axis "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div axis="bar">Hello.</div>
+--
+axis :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+axis = attribute "axis" " axis=\""
+{-# INLINE axis #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @background@ attribute.
+--
+-- Example:
+--
+-- > div ! background "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div background="bar">Hello.</div>
+--
+background :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+background = attribute "background" " background=\""
+{-# INLINE background #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @bgcolor@ attribute.
+--
+-- Example:
+--
+-- > div ! bgcolor "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div bgcolor="bar">Hello.</div>
+--
+bgcolor :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+bgcolor = attribute "bgcolor" " bgcolor=\""
+{-# INLINE bgcolor #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @border@ attribute.
+--
+-- Example:
+--
+-- > div ! border "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div border="bar">Hello.</div>
+--
+border :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+border = attribute "border" " border=\""
+{-# INLINE border #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @cellpadding@ attribute.
+--
+-- Example:
+--
+-- > div ! cellpadding "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div cellpadding="bar">Hello.</div>
+--
+cellpadding :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+cellpadding = attribute "cellpadding" " cellpadding=\""
+{-# INLINE cellpadding #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @cellspacing@ attribute.
+--
+-- Example:
+--
+-- > div ! cellspacing "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div cellspacing="bar">Hello.</div>
+--
+cellspacing :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+cellspacing = attribute "cellspacing" " cellspacing=\""
+{-# INLINE cellspacing #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @char@ attribute.
+--
+-- Example:
+--
+-- > div ! char "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div char="bar">Hello.</div>
+--
+char :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+char = attribute "char" " char=\""
+{-# INLINE char #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @charoff@ attribute.
+--
+-- Example:
+--
+-- > div ! charoff "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div charoff="bar">Hello.</div>
+--
+charoff :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+charoff = attribute "charoff" " charoff=\""
+{-# INLINE charoff #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @charset@ attribute.
+--
+-- Example:
+--
+-- > div ! charset "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div charset="bar">Hello.</div>
+--
+charset :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+charset = attribute "charset" " charset=\""
+{-# INLINE charset #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @checked@ attribute.
+--
+-- Example:
+--
+-- > div ! checked "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div checked="bar">Hello.</div>
+--
+checked :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+checked = attribute "checked" " checked=\""
+{-# INLINE checked #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @cite@ attribute.
+--
+-- Example:
+--
+-- > div ! cite "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div cite="bar">Hello.</div>
+--
+cite :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+cite = attribute "cite" " cite=\""
+{-# INLINE cite #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @class@ attribute.
+--
+-- Example:
+--
+-- > div ! class_ "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div class="bar">Hello.</div>
+--
+class_ :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+class_ = attribute "class" " class=\""
+{-# INLINE class_ #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @classid@ attribute.
+--
+-- Example:
+--
+-- > div ! classid "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div classid="bar">Hello.</div>
+--
+classid :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+classid = attribute "classid" " classid=\""
+{-# INLINE classid #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @clear@ attribute.
+--
+-- Example:
+--
+-- > div ! clear "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div clear="bar">Hello.</div>
+--
+clear :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+clear = attribute "clear" " clear=\""
+{-# INLINE clear #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @codebase@ attribute.
+--
+-- Example:
+--
+-- > div ! codebase "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div codebase="bar">Hello.</div>
+--
+codebase :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+codebase = attribute "codebase" " codebase=\""
+{-# INLINE codebase #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @codetype@ attribute.
+--
+-- Example:
+--
+-- > div ! codetype "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div codetype="bar">Hello.</div>
+--
+codetype :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+codetype = attribute "codetype" " codetype=\""
+{-# INLINE codetype #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @cols@ attribute.
+--
+-- Example:
+--
+-- > div ! cols "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div cols="bar">Hello.</div>
+--
+cols :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+cols = attribute "cols" " cols=\""
+{-# INLINE cols #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @colspan@ attribute.
+--
+-- Example:
+--
+-- > div ! colspan "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div colspan="bar">Hello.</div>
+--
+colspan :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+colspan = attribute "colspan" " colspan=\""
+{-# INLINE colspan #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @compact@ attribute.
+--
+-- Example:
+--
+-- > div ! compact "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div compact="bar">Hello.</div>
+--
+compact :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+compact = attribute "compact" " compact=\""
+{-# INLINE compact #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @content@ attribute.
+--
+-- Example:
+--
+-- > div ! content "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div content="bar">Hello.</div>
+--
+content :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+content = attribute "content" " content=\""
+{-# INLINE content #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @coords@ attribute.
+--
+-- Example:
+--
+-- > div ! coords "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div coords="bar">Hello.</div>
+--
+coords :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+coords = attribute "coords" " coords=\""
+{-# INLINE coords #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @data@ attribute.
+--
+-- Example:
+--
+-- > div ! data_ "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div data="bar">Hello.</div>
+--
+data_ :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+data_ = attribute "data" " data=\""
+{-# INLINE data_ #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @datetime@ attribute.
+--
+-- Example:
+--
+-- > div ! datetime "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div datetime="bar">Hello.</div>
+--
+datetime :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+datetime = attribute "datetime" " datetime=\""
+{-# INLINE datetime #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @declare@ attribute.
+--
+-- Example:
+--
+-- > div ! declare "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div declare="bar">Hello.</div>
+--
+declare :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+declare = attribute "declare" " declare=\""
+{-# INLINE declare #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @defer@ attribute.
+--
+-- Example:
+--
+-- > div ! defer "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div defer="bar">Hello.</div>
+--
+defer :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+defer = attribute "defer" " defer=\""
+{-# INLINE defer #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @dir@ attribute.
+--
+-- Example:
+--
+-- > div ! dir "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div dir="bar">Hello.</div>
+--
+dir :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+dir = attribute "dir" " dir=\""
+{-# INLINE dir #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @disabled@ attribute.
+--
+-- Example:
+--
+-- > div ! disabled "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div disabled="bar">Hello.</div>
+--
+disabled :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+disabled = attribute "disabled" " disabled=\""
+{-# INLINE disabled #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @enctype@ attribute.
+--
+-- Example:
+--
+-- > div ! enctype "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div enctype="bar">Hello.</div>
+--
+enctype :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+enctype = attribute "enctype" " enctype=\""
+{-# INLINE enctype #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @for@ attribute.
+--
+-- Example:
+--
+-- > div ! for "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div for="bar">Hello.</div>
+--
+for :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+for = attribute "for" " for=\""
+{-# INLINE for #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @frame@ attribute.
+--
+-- Example:
+--
+-- > div ! frame "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div frame="bar">Hello.</div>
+--
+frame :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+frame = attribute "frame" " frame=\""
+{-# INLINE frame #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @headers@ attribute.
+--
+-- Example:
+--
+-- > div ! headers "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div headers="bar">Hello.</div>
+--
+headers :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+headers = attribute "headers" " headers=\""
+{-# INLINE headers #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @height@ attribute.
+--
+-- Example:
+--
+-- > div ! height "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div height="bar">Hello.</div>
+--
+height :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+height = attribute "height" " height=\""
+{-# INLINE height #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @href@ attribute.
+--
+-- Example:
+--
+-- > div ! href "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div href="bar">Hello.</div>
+--
+href :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+href = attribute "href" " href=\""
+{-# INLINE href #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @hreflang@ attribute.
+--
+-- Example:
+--
+-- > div ! hreflang "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div hreflang="bar">Hello.</div>
+--
+hreflang :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+hreflang = attribute "hreflang" " hreflang=\""
+{-# INLINE hreflang #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @hspace@ attribute.
+--
+-- Example:
+--
+-- > div ! hspace "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div hspace="bar">Hello.</div>
+--
+hspace :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+hspace = attribute "hspace" " hspace=\""
+{-# INLINE hspace #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @http-equiv@ attribute.
+--
+-- Example:
+--
+-- > div ! httpEquiv "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div http-equiv="bar">Hello.</div>
+--
+httpEquiv :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+httpEquiv = attribute "http-equiv" " http-equiv=\""
+{-# INLINE httpEquiv #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @id@ attribute.
+--
+-- Example:
+--
+-- > div ! id "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div id="bar">Hello.</div>
+--
+id :: AttributeValue  -- ^ Attribute value.
+   -> Attribute       -- ^ Resulting attribute.
+id = attribute "id" " id=\""
+{-# INLINE id #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @label@ attribute.
+--
+-- Example:
+--
+-- > div ! label "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div label="bar">Hello.</div>
+--
+label :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+label = attribute "label" " label=\""
+{-# INLINE label #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @lang@ attribute.
+--
+-- Example:
+--
+-- > div ! lang "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div lang="bar">Hello.</div>
+--
+lang :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+lang = attribute "lang" " lang=\""
+{-# INLINE lang #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @language@ attribute.
+--
+-- Example:
+--
+-- > div ! language "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div language="bar">Hello.</div>
+--
+language :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+language = attribute "language" " language=\""
+{-# INLINE language #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @maxlength@ attribute.
+--
+-- Example:
+--
+-- > div ! maxlength "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div maxlength="bar">Hello.</div>
+--
+maxlength :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+maxlength = attribute "maxlength" " maxlength=\""
+{-# INLINE maxlength #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @media@ attribute.
+--
+-- Example:
+--
+-- > div ! media "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div media="bar">Hello.</div>
+--
+media :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+media = attribute "media" " media=\""
+{-# INLINE media #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @method@ attribute.
+--
+-- Example:
+--
+-- > div ! method "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div method="bar">Hello.</div>
+--
+method :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+method = attribute "method" " method=\""
+{-# INLINE method #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @multiple@ attribute.
+--
+-- Example:
+--
+-- > div ! multiple "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div multiple="bar">Hello.</div>
+--
+multiple :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+multiple = attribute "multiple" " multiple=\""
+{-# INLINE multiple #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @name@ attribute.
+--
+-- Example:
+--
+-- > div ! name "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div name="bar">Hello.</div>
+--
+name :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+name = attribute "name" " name=\""
+{-# INLINE name #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @nohref@ attribute.
+--
+-- Example:
+--
+-- > div ! nohref "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div nohref="bar">Hello.</div>
+--
+nohref :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+nohref = attribute "nohref" " nohref=\""
+{-# INLINE nohref #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @noshade@ attribute.
+--
+-- Example:
+--
+-- > div ! noshade "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div noshade="bar">Hello.</div>
+--
+noshade :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+noshade = attribute "noshade" " noshade=\""
+{-# INLINE noshade #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @nowrap@ attribute.
+--
+-- Example:
+--
+-- > div ! nowrap "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div nowrap="bar">Hello.</div>
+--
+nowrap :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+nowrap = attribute "nowrap" " nowrap=\""
+{-# INLINE nowrap #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onabort@ attribute.
+--
+-- Example:
+--
+-- > div ! onabort "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onabort="bar">Hello.</div>
+--
+onabort :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onabort = attribute "onabort" " onabort=\""
+{-# INLINE onabort #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onblur@ attribute.
+--
+-- Example:
+--
+-- > div ! onblur "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onblur="bar">Hello.</div>
+--
+onblur :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+onblur = attribute "onblur" " onblur=\""
+{-# INLINE onblur #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onchange@ attribute.
+--
+-- Example:
+--
+-- > div ! onchange "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onchange="bar">Hello.</div>
+--
+onchange :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onchange = attribute "onchange" " onchange=\""
+{-# INLINE onchange #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onclick@ attribute.
+--
+-- Example:
+--
+-- > div ! onclick "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onclick="bar">Hello.</div>
+--
+onclick :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onclick = attribute "onclick" " onclick=\""
+{-# INLINE onclick #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ondblclick@ attribute.
+--
+-- Example:
+--
+-- > div ! ondblclick "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ondblclick="bar">Hello.</div>
+--
+ondblclick :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+ondblclick = attribute "ondblclick" " ondblclick=\""
+{-# INLINE ondblclick #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onfocus@ attribute.
+--
+-- Example:
+--
+-- > div ! onfocus "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onfocus="bar">Hello.</div>
+--
+onfocus :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onfocus = attribute "onfocus" " onfocus=\""
+{-# INLINE onfocus #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onkeydown@ attribute.
+--
+-- Example:
+--
+-- > div ! onkeydown "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onkeydown="bar">Hello.</div>
+--
+onkeydown :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+onkeydown = attribute "onkeydown" " onkeydown=\""
+{-# INLINE onkeydown #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onkeypress@ attribute.
+--
+-- Example:
+--
+-- > div ! onkeypress "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onkeypress="bar">Hello.</div>
+--
+onkeypress :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+onkeypress = attribute "onkeypress" " onkeypress=\""
+{-# INLINE onkeypress #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onkeyup@ attribute.
+--
+-- Example:
+--
+-- > div ! onkeyup "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onkeyup="bar">Hello.</div>
+--
+onkeyup :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onkeyup = attribute "onkeyup" " onkeyup=\""
+{-# INLINE onkeyup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onload@ attribute.
+--
+-- Example:
+--
+-- > div ! onload "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onload="bar">Hello.</div>
+--
+onload :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+onload = attribute "onload" " onload=\""
+{-# INLINE onload #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmousedown@ attribute.
+--
+-- Example:
+--
+-- > div ! onmousedown "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmousedown="bar">Hello.</div>
+--
+onmousedown :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+onmousedown = attribute "onmousedown" " onmousedown=\""
+{-# INLINE onmousedown #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmousemove@ attribute.
+--
+-- Example:
+--
+-- > div ! onmousemove "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmousemove="bar">Hello.</div>
+--
+onmousemove :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+onmousemove = attribute "onmousemove" " onmousemove=\""
+{-# INLINE onmousemove #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmouseout@ attribute.
+--
+-- Example:
+--
+-- > div ! onmouseout "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmouseout="bar">Hello.</div>
+--
+onmouseout :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+onmouseout = attribute "onmouseout" " onmouseout=\""
+{-# INLINE onmouseout #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmouseover@ attribute.
+--
+-- Example:
+--
+-- > div ! onmouseover "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmouseover="bar">Hello.</div>
+--
+onmouseover :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+onmouseover = attribute "onmouseover" " onmouseover=\""
+{-# INLINE onmouseover #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmouseup@ attribute.
+--
+-- Example:
+--
+-- > div ! onmouseup "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmouseup="bar">Hello.</div>
+--
+onmouseup :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+onmouseup = attribute "onmouseup" " onmouseup=\""
+{-# INLINE onmouseup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onreset@ attribute.
+--
+-- Example:
+--
+-- > div ! onreset "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onreset="bar">Hello.</div>
+--
+onreset :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onreset = attribute "onreset" " onreset=\""
+{-# INLINE onreset #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onselect@ attribute.
+--
+-- Example:
+--
+-- > div ! onselect "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onselect="bar">Hello.</div>
+--
+onselect :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onselect = attribute "onselect" " onselect=\""
+{-# INLINE onselect #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onsubmit@ attribute.
+--
+-- Example:
+--
+-- > div ! onsubmit "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onsubmit="bar">Hello.</div>
+--
+onsubmit :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onsubmit = attribute "onsubmit" " onsubmit=\""
+{-# INLINE onsubmit #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onunload@ attribute.
+--
+-- Example:
+--
+-- > div ! onunload "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onunload="bar">Hello.</div>
+--
+onunload :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onunload = attribute "onunload" " onunload=\""
+{-# INLINE onunload #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @profile@ attribute.
+--
+-- Example:
+--
+-- > div ! profile "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div profile="bar">Hello.</div>
+--
+profile :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+profile = attribute "profile" " profile=\""
+{-# INLINE profile #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @readonly@ attribute.
+--
+-- Example:
+--
+-- > div ! readonly "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div readonly="bar">Hello.</div>
+--
+readonly :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+readonly = attribute "readonly" " readonly=\""
+{-# INLINE readonly #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rel@ attribute.
+--
+-- Example:
+--
+-- > div ! rel "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rel="bar">Hello.</div>
+--
+rel :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+rel = attribute "rel" " rel=\""
+{-# INLINE rel #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rev@ attribute.
+--
+-- Example:
+--
+-- > div ! rev "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rev="bar">Hello.</div>
+--
+rev :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+rev = attribute "rev" " rev=\""
+{-# INLINE rev #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rows@ attribute.
+--
+-- Example:
+--
+-- > div ! rows "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rows="bar">Hello.</div>
+--
+rows :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+rows = attribute "rows" " rows=\""
+{-# INLINE rows #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rowspan@ attribute.
+--
+-- Example:
+--
+-- > div ! rowspan "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rowspan="bar">Hello.</div>
+--
+rowspan :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+rowspan = attribute "rowspan" " rowspan=\""
+{-# INLINE rowspan #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @rules@ attribute.
+--
+-- Example:
+--
+-- > div ! rules "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div rules="bar">Hello.</div>
+--
+rules :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+rules = attribute "rules" " rules=\""
+{-# INLINE rules #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @scheme@ attribute.
+--
+-- Example:
+--
+-- > div ! scheme "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div scheme="bar">Hello.</div>
+--
+scheme :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+scheme = attribute "scheme" " scheme=\""
+{-# INLINE scheme #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @scope@ attribute.
+--
+-- Example:
+--
+-- > div ! scope "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div scope="bar">Hello.</div>
+--
+scope :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+scope = attribute "scope" " scope=\""
+{-# INLINE scope #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @selected@ attribute.
+--
+-- Example:
+--
+-- > div ! selected "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div selected="bar">Hello.</div>
+--
+selected :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+selected = attribute "selected" " selected=\""
+{-# INLINE selected #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @shape@ attribute.
+--
+-- Example:
+--
+-- > div ! shape "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div shape="bar">Hello.</div>
+--
+shape :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+shape = attribute "shape" " shape=\""
+{-# INLINE shape #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @size@ attribute.
+--
+-- Example:
+--
+-- > div ! size "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div size="bar">Hello.</div>
+--
+size :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+size = attribute "size" " size=\""
+{-# INLINE size #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @span@ attribute.
+--
+-- Example:
+--
+-- > div ! span "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div span="bar">Hello.</div>
+--
+span :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+span = attribute "span" " span=\""
+{-# INLINE span #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @src@ attribute.
+--
+-- Example:
+--
+-- > div ! src "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div src="bar">Hello.</div>
+--
+src :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+src = attribute "src" " src=\""
+{-# INLINE src #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @standby@ attribute.
+--
+-- Example:
+--
+-- > div ! standby "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div standby="bar">Hello.</div>
+--
+standby :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+standby = attribute "standby" " standby=\""
+{-# INLINE standby #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @start@ attribute.
+--
+-- Example:
+--
+-- > div ! start "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div start="bar">Hello.</div>
+--
+start :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+start = attribute "start" " start=\""
+{-# INLINE start #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @style@ attribute.
+--
+-- Example:
+--
+-- > div ! style "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div style="bar">Hello.</div>
+--
+style :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+style = attribute "style" " style=\""
+{-# INLINE style #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @summary@ attribute.
+--
+-- Example:
+--
+-- > div ! summary "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div summary="bar">Hello.</div>
+--
+summary :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+summary = attribute "summary" " summary=\""
+{-# INLINE summary #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @tabindex@ attribute.
+--
+-- Example:
+--
+-- > div ! tabindex "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div tabindex="bar">Hello.</div>
+--
+tabindex :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+tabindex = attribute "tabindex" " tabindex=\""
+{-# INLINE tabindex #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @target@ attribute.
+--
+-- Example:
+--
+-- > div ! target "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div target="bar">Hello.</div>
+--
+target :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+target = attribute "target" " target=\""
+{-# INLINE target #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @title@ attribute.
+--
+-- Example:
+--
+-- > div ! title "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div title="bar">Hello.</div>
+--
+title :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+title = attribute "title" " title=\""
+{-# INLINE title #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @type@ attribute.
+--
+-- Example:
+--
+-- > div ! type_ "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div type="bar">Hello.</div>
+--
+type_ :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+type_ = attribute "type" " type=\""
+{-# INLINE type_ #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @usemap@ attribute.
+--
+-- Example:
+--
+-- > div ! usemap "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div usemap="bar">Hello.</div>
+--
+usemap :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+usemap = attribute "usemap" " usemap=\""
+{-# INLINE usemap #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @valign@ attribute.
+--
+-- Example:
+--
+-- > div ! valign "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div valign="bar">Hello.</div>
+--
+valign :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+valign = attribute "valign" " valign=\""
+{-# INLINE valign #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @value@ attribute.
+--
+-- Example:
+--
+-- > div ! value "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div value="bar">Hello.</div>
+--
+value :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+value = attribute "value" " value=\""
+{-# INLINE value #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @valuetype@ attribute.
+--
+-- Example:
+--
+-- > div ! valuetype "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div valuetype="bar">Hello.</div>
+--
+valuetype :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+valuetype = attribute "valuetype" " valuetype=\""
+{-# INLINE valuetype #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @vspace@ attribute.
+--
+-- Example:
+--
+-- > div ! vspace "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div vspace="bar">Hello.</div>
+--
+vspace :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+vspace = attribute "vspace" " vspace=\""
+{-# INLINE vspace #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @width@ attribute.
+--
+-- Example:
+--
+-- > div ! width "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div width="bar">Hello.</div>
+--
+width :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+width = attribute "width" " width=\""
+{-# INLINE width #-}
diff --git a/Util/GenerateHtmlCombinators.hs b/Util/GenerateHtmlCombinators.hs
--- a/Util/GenerateHtmlCombinators.hs
+++ b/Util/GenerateHtmlCombinators.hs
@@ -21,11 +21,12 @@
 -- | Datatype for an HTML variant.
 --
 data HtmlVariant = HtmlVariant
-    { version    :: [String]
-    , docType    :: [String]
-    , parents    :: [String]
-    , leafs      :: [String]
-    , attributes :: [String]
+    { version     :: [String]
+    , docType     :: [String]
+    , parents     :: [String]
+    , leafs       :: [String]
+    , attributes  :: [String]
+    , selfClosing :: Bool
     } deriving (Eq)
 
 instance Show HtmlVariant where
@@ -59,7 +60,7 @@
     createDirectoryIfMissing True basePath
 
     let tags =  zip parents' (repeat makeParent)
-             ++ zip leafs' (repeat makeLeaf)
+             ++ zip leafs' (repeat (makeLeaf $ selfClosing htmlVariant))
         sortedTags = sortBy (comparing fst) tags
         appliedTags = map (\(x, f) -> f x) sortedTags
 
@@ -217,9 +218,10 @@
 
 -- | Generate a function for an HTML tag that must be a leaf.
 --
-makeLeaf :: String  -- ^ Tag for the combinator
+makeLeaf :: Bool    -- ^ Make leaf tags self-closing
+         -> String  -- ^ Tag for the combinator
          -> String  -- ^ Combinator code
-makeLeaf tag = unlines
+makeLeaf selfClosing tag = unlines
     [ DO_NOT_EDIT
     , "-- | Combinator for the @\\<" ++ tag ++ " />@ element."
     , "--"
@@ -232,7 +234,8 @@
     , "-- > <" ++ tag ++ " />"
     , "--"
     , function ++ " :: Html  -- ^ Resulting HTML."
-    , function ++ " = Leaf \"" ++ tag ++ "\" \"<" ++ tag ++ "\" " ++ "\">\""
+    , function ++ " = Leaf \"" ++ tag ++ "\" \"<" ++ tag ++ "\" " ++ "\""
+               ++ (if selfClosing then " /" else "") ++ ">\""
     , "{-# INLINE " ++ function ++ " #-}"
     ]
   where
@@ -302,6 +305,7 @@
         , "tabindex", "title", "type", "usemap", "valign", "value", "valuetype"
         , "width"
         ]
+    , selfClosing = False
     }
 
 -- | HTML 4.0 Transitional
@@ -322,15 +326,16 @@
         [ "background", "bgcolor", "clear", "compact", "hspace", "language"
         , "noshade", "nowrap", "start", "target", "vspace"
         ]
+    , selfClosing = False
     }
 
--- | HTML 4.0 Frameset
+-- | HTML 4.0 FrameSet
 --
 html4FrameSet :: HtmlVariant
 html4FrameSet = HtmlVariant
     { version = ["Html4", "FrameSet"]
     , docType =
-        [ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\""
+        [ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 FrameSet//EN\""
         , "    \"http://www.w3.org/TR/html4/frameset.dtd\">"
         ]
     , parents = parents html4Transitional ++ ["frameset"]
@@ -338,8 +343,54 @@
     , attributes = attributes html4Transitional ++
         [ "frameborder", "scrolling"
         ]
+    , selfClosing = False
     }
 
+-- | XHTML 1.0 Strict
+--
+xhtml1Strict :: HtmlVariant
+xhtml1Strict = HtmlVariant
+    { version = ["XHtml1", "Strict"]
+    , docType =
+        [ "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\""
+        , "    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"
+        ]
+    , parents = parents html4Strict
+    , leafs = leafs html4Strict
+    , attributes = attributes html4Strict
+    , selfClosing = True
+    }
+
+-- | XHTML 1.0 Transitional
+--
+xhtml1Transitional :: HtmlVariant
+xhtml1Transitional = HtmlVariant
+    { version = ["XHtml1", "Transitional"]
+    , docType =
+        [ "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\""
+        , "    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"
+        ]
+    , parents = parents html4Transitional
+    , leafs = leafs html4Transitional
+    , attributes = attributes html4Transitional
+    , selfClosing = True
+    }
+
+-- | XHTML 1.0 FrameSet
+--
+xhtml1FrameSet :: HtmlVariant
+xhtml1FrameSet = HtmlVariant
+    { version = ["XHtml1", "FrameSet"]
+    , docType =
+        [ "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 FrameSet//EN\""
+        , "    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">"
+        ]
+    , parents = parents html4FrameSet
+    , leafs = leafs html4FrameSet
+    , attributes = attributes html4FrameSet
+    , selfClosing = True
+    }
+
 -- | HTML 5.0
 -- A good reference can be found here:
 -- http://www.w3schools.com/html5/html5_reference.asp
@@ -398,6 +449,7 @@
         , "summary", "tabindex", "target", "title", "type", "usemap", "value"
         , "width", "wrap", "xmlns"
         ]
+    , selfClosing = False
     }
 
 -- | A map of HTML variants, per version, lowercase.
@@ -407,6 +459,9 @@
     [ html4Strict
     , html4Transitional
     , html4FrameSet
+    , xhtml1Strict
+    , xhtml1Transitional
+    , xhtml1FrameSet
     , html5
     ]
 
diff --git a/blaze-html.cabal b/blaze-html.cabal
--- a/blaze-html.cabal
+++ b/blaze-html.cabal
@@ -1,5 +1,5 @@
 Name:         blaze-html
-Version:      0.4.2.2
+Version:      0.4.3.0
 Homepage:     http://jaspervdj.be/blaze
 Bug-Reports:  http://github.com/jaspervdj/blaze-html/issues
 License:      BSD3
@@ -31,7 +31,6 @@
 
   Exposed-modules:
     Text.Blaze
-    Text.Blaze.Internal
     Text.Blaze.Html4.FrameSet
     Text.Blaze.Html4.FrameSet.Attributes
     Text.Blaze.Html4.Strict
@@ -40,10 +39,17 @@
     Text.Blaze.Html4.Transitional.Attributes
     Text.Blaze.Html5
     Text.Blaze.Html5.Attributes
-    Text.Blaze.Renderer.String
+    Text.Blaze.Internal
     Text.Blaze.Renderer.Pretty
-    Text.Blaze.Renderer.Utf8
+    Text.Blaze.Renderer.String
     Text.Blaze.Renderer.Text
+    Text.Blaze.Renderer.Utf8
+    Text.Blaze.XHtml1.FrameSet
+    Text.Blaze.XHtml1.FrameSet.Attributes
+    Text.Blaze.XHtml1.Strict
+    Text.Blaze.XHtml1.Strict.Attributes
+    Text.Blaze.XHtml1.Transitional
+    Text.Blaze.XHtml1.Transitional.Attributes
   
   Build-depends:
     base          >= 4 && < 5,
