diff --git a/Text/Blaze.hs b/Text/Blaze.hs
deleted file mode 100644
--- a/Text/Blaze.hs
+++ /dev/null
@@ -1,179 +0,0 @@
-{-# LANGUAGE FlexibleInstances, TypeSynonymInstances #-}
--- | BlazeHtml is an HTML combinator library. It provides a way to embed HTML in
--- Haskell in an efficient and convenient way, with a light-weight syntax.
---
--- To use the library, one needs to import a set of HTML combinators. For
--- example, you can use HTML 4 Strict.
---
--- > {-# LANGUAGE OverloadedStrings #-}
--- > import Prelude hiding (head, id, div)
--- > import Text.Blaze.Html4.Strict hiding (map)
--- > import Text.Blaze.Html4.Strict.Attributes hiding (title)
---
--- To render the page later on, you need a so called Renderer. The recommended
--- renderer is an UTF-8 renderer which produces a lazy bytestring.
---
--- > import Text.Blaze.Renderer.Utf8 (renderHtml)
---
--- Now, you can describe pages using the imported combinators.
---
--- > page1 :: Html
--- > page1 = html $ do
--- >     head $ do
--- >         title "Introduction page."
--- >         link ! rel "stylesheet" ! type_ "text/css" ! href "screen.css"
--- >     body $ do
--- >         div ! id "header" $ "Syntax"
--- >         p "This is an example of BlazeHtml syntax."
--- >         ul $ mapM_ (li . toHtml . show) [1, 2, 3]
---
--- The resulting HTML can now be extracted using:
---
--- > renderHtml page1
---
-module Text.Blaze
-    (
-      -- * Important types.
-      Html
-    , Tag
-    , Attribute
-    , AttributeValue
-
-      -- * Creating attributes.
-    , dataAttribute
-    , customAttribute
-
-      -- * Converting values to HTML.
-    , ToHtml (..)
-    , text
-    , preEscapedText
-    , lazyText
-    , preEscapedLazyText
-    , string
-    , preEscapedString
-    , unsafeByteString
-    , unsafeLazyByteString
-
-      -- * Creating tags.
-    , textTag
-    , stringTag
-
-      -- * Converting values to attribute values.
-    , ToValue (..)
-    , textValue
-    , preEscapedTextValue
-    , lazyTextValue
-    , preEscapedLazyTextValue
-    , stringValue
-    , preEscapedStringValue
-    , unsafeByteStringValue
-    , unsafeLazyByteStringValue
-
-      -- * Setting attributes
-    , (!)
-    ) where
-
-import Data.Monoid (mconcat)
-
-import Data.Text (Text)
-import qualified Data.Text.Lazy as LT
-
-import Text.Blaze.Internal
-
--- | Class allowing us to use a single function for HTML values
---
-class ToHtml a where
-    -- | Convert a value to HTML.
-    --
-    toHtml :: a -> Html
-
-instance ToHtml Html where
-    toHtml = id
-    {-# INLINE toHtml #-}
-
-instance ToHtml [Html] where
-    toHtml = mconcat
-    {-# INLINE toHtml #-}
-
-instance ToHtml Text where
-    toHtml = text
-    {-# INLINE toHtml #-}
-
-instance ToHtml LT.Text where
-    toHtml = lazyText
-    {-# INLINE toHtml #-}
-
-instance ToHtml String where
-    toHtml = string
-    {-# INLINE toHtml #-}
-
-instance ToHtml Int where
-    toHtml = string . show
-    {-# INLINE toHtml #-}
-
-instance ToHtml Char where
-    toHtml = string . return
-    {-# INLINE toHtml #-}
-
-instance ToHtml Bool where
-    toHtml = string . show
-    {-# INLINE toHtml #-}
-
-instance ToHtml Integer where
-    toHtml = string . show
-    {-# INLINE toHtml #-}
-
-instance ToHtml Float where
-    toHtml = string . show
-    {-# INLINE toHtml #-}
-
-instance ToHtml Double where
-    toHtml = string . show
-    {-# INLINE toHtml #-}
-
--- | Class allowing us to use a single function for attribute values
---
-class ToValue a where
-    -- | Convert a value to an HTML attribute value
-    --
-    toValue :: a -> AttributeValue
-
-instance ToValue AttributeValue where
-    toValue = id
-    {-# INLINE toValue #-}
-
-instance ToValue Text where
-    toValue = textValue
-    {-# INLINE toValue #-}
-
-instance ToValue LT.Text where
-    toValue = lazyTextValue
-    {-# INLINE toValue #-}
-
-instance ToValue String where
-    toValue = stringValue
-    {-# INLINE toValue #-}
-
-instance ToValue Int where
-    toValue = stringValue . show
-    {-# INLINE toValue #-}
-
-instance ToValue Char where
-    toValue = stringValue . return
-    {-# INLINE toValue #-}
-
-instance ToValue Bool where
-    toValue = stringValue . show
-    {-# INLINE toValue #-}
-
-instance ToValue Integer where
-    toValue = stringValue . show
-    {-# INLINE toValue #-}
-
-instance ToValue Float where
-    toValue = stringValue . show
-    {-# INLINE toValue #-}
-
-instance ToValue Double where
-    toValue = stringValue . show
-    {-# INLINE toValue #-}
diff --git a/Text/Blaze/Html4/FrameSet.hs b/Text/Blaze/Html4/FrameSet.hs
deleted file mode 100644
--- a/Text/Blaze/Html4/FrameSet.hs
+++ /dev/null
@@ -1,1739 +0,0 @@
--- 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.Html4.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 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"
-{-# 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 HTML 4.01 FrameSet//EN"
--- >     "http://www.w3.org/TR/html4/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/Html4/FrameSet/Attributes.hs b/Text/Blaze/Html4/FrameSet/Attributes.hs
deleted file mode 100644
--- a/Text/Blaze/Html4/FrameSet/Attributes.hs
+++ /dev/null
@@ -1,1992 +0,0 @@
--- 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.Html4.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/Html4/Strict.hs b/Text/Blaze/Html4/Strict.hs
deleted file mode 100644
--- a/Text/Blaze/Html4/Strict.hs
+++ /dev/null
@@ -1,1494 +0,0 @@
--- 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.Html4.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 HTML 4.01//EN"
--- >     "http://www.w3.org/TR/html4/strict.dtd">
---
-docType :: Html  -- ^ The document type HTML.
-docType = preEscapedText "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\n    \"http://www.w3.org/TR/html4/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 HTML 4.01//EN"
--- >     "http://www.w3.org/TR/html4/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/Html4/Strict/Attributes.hs b/Text/Blaze/Html4/Strict/Attributes.hs
deleted file mode 100644
--- a/Text/Blaze/Html4/Strict/Attributes.hs
+++ /dev/null
@@ -1,1745 +0,0 @@
--- 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.Html4.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/Html4/Transitional.hs b/Text/Blaze/Html4/Transitional.hs
deleted file mode 100644
--- a/Text/Blaze/Html4/Transitional.hs
+++ /dev/null
@@ -1,1702 +0,0 @@
--- 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.Html4.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 HTML 4.01 Transitional//EN"
--- >     "http://www.w3.org/TR/html4/loose.dtd">
---
-docType :: Html  -- ^ The document type HTML.
-docType = preEscapedText "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n    \"http://www.w3.org/TR/html4/loose.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 HTML 4.01 Transitional//EN"
--- >     "http://www.w3.org/TR/html4/loose.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/Html4/Transitional/Attributes.hs b/Text/Blaze/Html4/Transitional/Attributes.hs
deleted file mode 100644
--- a/Text/Blaze/Html4/Transitional/Attributes.hs
+++ /dev/null
@@ -1,1954 +0,0 @@
--- 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.Html4.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/Text/Blaze/Html5.hs b/Text/Blaze/Html5.hs
deleted file mode 100644
--- a/Text/Blaze/Html5.hs
+++ /dev/null
@@ -1,2004 +0,0 @@
--- 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.Html5
-    ( module Text.Blaze
-    , docType
-    , docTypeHtml
-    , a
-    , abbr
-    , address
-    , area
-    , article
-    , aside
-    , audio
-    , b
-    , base
-    , bdo
-    , blockquote
-    , body
-    , br
-    , button
-    , canvas
-    , caption
-    , cite
-    , code
-    , col
-    , colgroup
-    , command
-    , datalist
-    , dd
-    , del
-    , details
-    , dfn
-    , div
-    , dl
-    , dt
-    , em
-    , embed
-    , fieldset
-    , figcaption
-    , figure
-    , footer
-    , form
-    , h1
-    , h2
-    , h3
-    , h4
-    , h5
-    , h6
-    , head
-    , header
-    , hgroup
-    , hr
-    , html
-    , i
-    , iframe
-    , img
-    , input
-    , ins
-    , kbd
-    , keygen
-    , label
-    , legend
-    , li
-    , link
-    , map
-    , mark
-    , menu
-    , meta
-    , meter
-    , nav
-    , noscript
-    , object
-    , ol
-    , optgroup
-    , option
-    , output
-    , p
-    , param
-    , pre
-    , progress
-    , q
-    , rp
-    , rt
-    , ruby
-    , samp
-    , script
-    , section
-    , select
-    , small
-    , source
-    , span
-    , strong
-    , style
-    , sub
-    , summary
-    , sup
-    , table
-    , tbody
-    , td
-    , textarea
-    , tfoot
-    , th
-    , thead
-    , time
-    , title
-    , tr
-    , ul
-    , var
-    , video
-    ) 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>
---
-docType :: Html  -- ^ The document type HTML.
-docType = preEscapedText "<!DOCTYPE HTML>\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>
--- > <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 @\<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 @\<article>@ element.
---
--- Example:
---
--- > article $ span $ text "foo"
---
--- Result:
---
--- > <article><span>foo</span></article>
---
-article :: Html  -- ^ Inner HTML.
-        -> Html  -- ^ Resulting HTML.
-article = Parent "article" "<article" "</article>"
-{-# INLINE article #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:198
---
--- | Combinator for the @\<aside>@ element.
---
--- Example:
---
--- > aside $ span $ text "foo"
---
--- Result:
---
--- > <aside><span>foo</span></aside>
---
-aside :: Html  -- ^ Inner HTML.
-      -> Html  -- ^ Resulting HTML.
-aside = Parent "aside" "<aside" "</aside>"
-{-# INLINE aside #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:198
---
--- | Combinator for the @\<audio>@ element.
---
--- Example:
---
--- > audio $ span $ text "foo"
---
--- Result:
---
--- > <audio><span>foo</span></audio>
---
-audio :: Html  -- ^ Inner HTML.
-      -> Html  -- ^ Resulting HTML.
-audio = Parent "audio" "<audio" "</audio>"
-{-# INLINE audio #-}
-
--- 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 @\<base>@ element.
---
--- Example:
---
--- > base $ span $ text "foo"
---
--- Result:
---
--- > <base><span>foo</span></base>
---
-base :: Html  -- ^ Inner HTML.
-     -> Html  -- ^ Resulting HTML.
-base = Parent "base" "<base" "</base>"
-{-# INLINE base #-}
-
--- 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 @\<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 @\<canvas>@ element.
---
--- Example:
---
--- > canvas $ span $ text "foo"
---
--- Result:
---
--- > <canvas><span>foo</span></canvas>
---
-canvas :: Html  -- ^ Inner HTML.
-       -> Html  -- ^ Resulting HTML.
-canvas = Parent "canvas" "<canvas" "</canvas>"
-{-# INLINE canvas #-}
-
--- 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 @\<command>@ element.
---
--- Example:
---
--- > command $ span $ text "foo"
---
--- Result:
---
--- > <command><span>foo</span></command>
---
-command :: Html  -- ^ Inner HTML.
-        -> Html  -- ^ Resulting HTML.
-command = Parent "command" "<command" "</command>"
-{-# INLINE command #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:198
---
--- | Combinator for the @\<datalist>@ element.
---
--- Example:
---
--- > datalist $ span $ text "foo"
---
--- Result:
---
--- > <datalist><span>foo</span></datalist>
---
-datalist :: Html  -- ^ Inner HTML.
-         -> Html  -- ^ Resulting HTML.
-datalist = Parent "datalist" "<datalist" "</datalist>"
-{-# INLINE datalist #-}
-
--- 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 @\<details>@ element.
---
--- Example:
---
--- > details $ span $ text "foo"
---
--- Result:
---
--- > <details><span>foo</span></details>
---
-details :: Html  -- ^ Inner HTML.
-        -> Html  -- ^ Resulting HTML.
-details = Parent "details" "<details" "</details>"
-{-# INLINE details #-}
-
--- 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:225
---
--- | Combinator for the @\<embed />@ element.
---
--- Example:
---
--- > embed
---
--- Result:
---
--- > <embed />
---
-embed :: Html  -- ^ Resulting HTML.
-embed = Leaf "embed" "<embed" ">"
-{-# INLINE embed #-}
-
--- 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 @\<figcaption>@ element.
---
--- Example:
---
--- > figcaption $ span $ text "foo"
---
--- Result:
---
--- > <figcaption><span>foo</span></figcaption>
---
-figcaption :: Html  -- ^ Inner HTML.
-           -> Html  -- ^ Resulting HTML.
-figcaption = Parent "figcaption" "<figcaption" "</figcaption>"
-{-# INLINE figcaption #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:198
---
--- | Combinator for the @\<figure>@ element.
---
--- Example:
---
--- > figure $ span $ text "foo"
---
--- Result:
---
--- > <figure><span>foo</span></figure>
---
-figure :: Html  -- ^ Inner HTML.
-       -> Html  -- ^ Resulting HTML.
-figure = Parent "figure" "<figure" "</figure>"
-{-# INLINE figure #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:198
---
--- | Combinator for the @\<footer>@ element.
---
--- Example:
---
--- > footer $ span $ text "foo"
---
--- Result:
---
--- > <footer><span>foo</span></footer>
---
-footer :: Html  -- ^ Inner HTML.
-       -> Html  -- ^ Resulting HTML.
-footer = Parent "footer" "<footer" "</footer>"
-{-# INLINE footer #-}
-
--- 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:198
---
--- | Combinator for the @\<header>@ element.
---
--- Example:
---
--- > header $ span $ text "foo"
---
--- Result:
---
--- > <header><span>foo</span></header>
---
-header :: Html  -- ^ Inner HTML.
-       -> Html  -- ^ Resulting HTML.
-header = Parent "header" "<header" "</header>"
-{-# INLINE header #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:198
---
--- | Combinator for the @\<hgroup>@ element.
---
--- Example:
---
--- > hgroup $ span $ text "foo"
---
--- Result:
---
--- > <hgroup><span>foo</span></hgroup>
---
-hgroup :: Html  -- ^ Inner HTML.
-       -> Html  -- ^ Resulting HTML.
-hgroup = Parent "hgroup" "<hgroup" "</hgroup>"
-{-# INLINE hgroup #-}
-
--- 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 @\<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 @\<keygen>@ element.
---
--- Example:
---
--- > keygen $ span $ text "foo"
---
--- Result:
---
--- > <keygen><span>foo</span></keygen>
---
-keygen :: Html  -- ^ Inner HTML.
-       -> Html  -- ^ Resulting HTML.
-keygen = Parent "keygen" "<keygen" "</keygen>"
-{-# INLINE keygen #-}
-
--- 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 @\<mark>@ element.
---
--- Example:
---
--- > mark $ span $ text "foo"
---
--- Result:
---
--- > <mark><span>foo</span></mark>
---
-mark :: Html  -- ^ Inner HTML.
-     -> Html  -- ^ Resulting HTML.
-mark = Parent "mark" "<mark" "</mark>"
-{-# INLINE mark #-}
-
--- 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 @\<meter>@ element.
---
--- Example:
---
--- > meter $ span $ text "foo"
---
--- Result:
---
--- > <meter><span>foo</span></meter>
---
-meter :: Html  -- ^ Inner HTML.
-      -> Html  -- ^ Resulting HTML.
-meter = Parent "meter" "<meter" "</meter>"
-{-# INLINE meter #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:198
---
--- | Combinator for the @\<nav>@ element.
---
--- Example:
---
--- > nav $ span $ text "foo"
---
--- Result:
---
--- > <nav><span>foo</span></nav>
---
-nav :: Html  -- ^ Inner HTML.
-    -> Html  -- ^ Resulting HTML.
-nav = Parent "nav" "<nav" "</nav>"
-{-# INLINE nav #-}
-
--- 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 @\<output>@ element.
---
--- Example:
---
--- > output $ span $ text "foo"
---
--- Result:
---
--- > <output><span>foo</span></output>
---
-output :: Html  -- ^ Inner HTML.
-       -> Html  -- ^ Resulting HTML.
-output = Parent "output" "<output" "</output>"
-{-# INLINE output #-}
-
--- 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 @\<progress>@ element.
---
--- Example:
---
--- > progress $ span $ text "foo"
---
--- Result:
---
--- > <progress><span>foo</span></progress>
---
-progress :: Html  -- ^ Inner HTML.
-         -> Html  -- ^ Resulting HTML.
-progress = Parent "progress" "<progress" "</progress>"
-{-# INLINE progress #-}
-
--- 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 @\<rp>@ element.
---
--- Example:
---
--- > rp $ span $ text "foo"
---
--- Result:
---
--- > <rp><span>foo</span></rp>
---
-rp :: Html  -- ^ Inner HTML.
-   -> Html  -- ^ Resulting HTML.
-rp = Parent "rp" "<rp" "</rp>"
-{-# INLINE rp #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:198
---
--- | Combinator for the @\<rt>@ element.
---
--- Example:
---
--- > rt $ span $ text "foo"
---
--- Result:
---
--- > <rt><span>foo</span></rt>
---
-rt :: Html  -- ^ Inner HTML.
-   -> Html  -- ^ Resulting HTML.
-rt = Parent "rt" "<rt" "</rt>"
-{-# INLINE rt #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:198
---
--- | Combinator for the @\<ruby>@ element.
---
--- Example:
---
--- > ruby $ span $ text "foo"
---
--- Result:
---
--- > <ruby><span>foo</span></ruby>
---
-ruby :: Html  -- ^ Inner HTML.
-     -> Html  -- ^ Resulting HTML.
-ruby = Parent "ruby" "<ruby" "</ruby>"
-{-# INLINE ruby #-}
-
--- 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 @\<section>@ element.
---
--- Example:
---
--- > section $ span $ text "foo"
---
--- Result:
---
--- > <section><span>foo</span></section>
---
-section :: Html  -- ^ Inner HTML.
-        -> Html  -- ^ Resulting HTML.
-section = Parent "section" "<section" "</section>"
-{-# INLINE section #-}
-
--- 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 @\<source>@ element.
---
--- Example:
---
--- > source $ span $ text "foo"
---
--- Result:
---
--- > <source><span>foo</span></source>
---
-source :: Html  -- ^ Inner HTML.
-       -> Html  -- ^ Resulting HTML.
-source = Parent "source" "<source" "</source>"
-{-# INLINE source #-}
-
--- 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 @\<summary>@ element.
---
--- Example:
---
--- > summary $ span $ text "foo"
---
--- Result:
---
--- > <summary><span>foo</span></summary>
---
-summary :: Html  -- ^ Inner HTML.
-        -> Html  -- ^ Resulting HTML.
-summary = Parent "summary" "<summary" "</summary>"
-{-# INLINE summary #-}
-
--- 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 @\<time>@ element.
---
--- Example:
---
--- > time $ span $ text "foo"
---
--- Result:
---
--- > <time><span>foo</span></time>
---
-time :: Html  -- ^ Inner HTML.
-     -> Html  -- ^ Resulting HTML.
-time = Parent "time" "<time" "</time>"
-{-# INLINE time #-}
-
--- 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 @\<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 #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:198
---
--- | Combinator for the @\<video>@ element.
---
--- Example:
---
--- > video $ span $ text "foo"
---
--- Result:
---
--- > <video><span>foo</span></video>
---
-video :: Html  -- ^ Inner HTML.
-      -> Html  -- ^ Resulting HTML.
-video = Parent "video" "<video" "</video>"
-{-# INLINE video #-}
diff --git a/Text/Blaze/Html5/Attributes.hs b/Text/Blaze/Html5/Attributes.hs
deleted file mode 100644
--- a/Text/Blaze/Html5/Attributes.hs
+++ /dev/null
@@ -1,3170 +0,0 @@
--- 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.Html5.Attributes
-    ( accept
-    , acceptCharset
-    , accesskey
-    , action
-    , alt
-    , async
-    , autocomplete
-    , autofocus
-    , autoplay
-    , challenge
-    , charset
-    , checked
-    , cite
-    , class_
-    , cols
-    , colspan
-    , content
-    , contenteditable
-    , contextmenu
-    , controls
-    , coords
-    , data_
-    , datetime
-    , defer
-    , dir
-    , disabled
-    , draggable
-    , enctype
-    , for
-    , form
-    , formaction
-    , formenctype
-    , formmethod
-    , formnovalidate
-    , formtarget
-    , headers
-    , height
-    , hidden
-    , high
-    , href
-    , hreflang
-    , httpEquiv
-    , icon
-    , id
-    , ismap
-    , item
-    , itemprop
-    , keytype
-    , label
-    , lang
-    , list
-    , loop
-    , low
-    , manifest
-    , max
-    , maxlength
-    , media
-    , method
-    , min
-    , multiple
-    , name
-    , novalidate
-    , onbeforeonload
-    , onbeforeprint
-    , onblur
-    , oncanplay
-    , oncanplaythrough
-    , onchange
-    , onclick
-    , oncontextmenu
-    , ondblclick
-    , ondrag
-    , ondragend
-    , ondragenter
-    , ondragleave
-    , ondragover
-    , ondragstart
-    , ondrop
-    , ondurationchange
-    , onemptied
-    , onended
-    , onerror
-    , onfocus
-    , onformchange
-    , onforminput
-    , onhaschange
-    , oninput
-    , oninvalid
-    , onkeydown
-    , onkeyup
-    , onload
-    , onloadeddata
-    , onloadedmetadata
-    , onloadstart
-    , onmessage
-    , onmousedown
-    , onmousemove
-    , onmouseout
-    , onmouseover
-    , onmouseup
-    , onmousewheel
-    , ononline
-    , onpagehide
-    , onpageshow
-    , onpause
-    , onplay
-    , onplaying
-    , onprogress
-    , onpropstate
-    , onratechange
-    , onreadystatechange
-    , onredo
-    , onresize
-    , onscroll
-    , onseeked
-    , onseeking
-    , onselect
-    , onstalled
-    , onstorage
-    , onsubmit
-    , onsuspend
-    , ontimeupdate
-    , onundo
-    , onunload
-    , onvolumechange
-    , onwaiting
-    , open
-    , optimum
-    , pattern
-    , ping
-    , placeholder
-    , preload
-    , pubdate
-    , radiogroup
-    , readonly
-    , rel
-    , required
-    , reversed
-    , rows
-    , rowspan
-    , sandbox
-    , scope
-    , scoped
-    , seamless
-    , selected
-    , shape
-    , size
-    , sizes
-    , span
-    , spellcheck
-    , src
-    , srcdoc
-    , start
-    , step
-    , style
-    , subject
-    , summary
-    , tabindex
-    , target
-    , title
-    , type_
-    , usemap
-    , value
-    , width
-    , wrap
-    , xmlns
-    ) 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 @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 @accept-charset@ attribute.
---
--- Example:
---
--- > div ! acceptCharset "bar" $ "Hello."
---
--- Result:
---
--- > <div accept-charset="bar">Hello.</div>
---
-acceptCharset :: AttributeValue  -- ^ Attribute value.
-              -> Attribute       -- ^ Resulting attribute.
-acceptCharset = attribute "accept-charset" " accept-charset=\""
-{-# INLINE acceptCharset #-}
-
--- 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 @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 @async@ attribute.
---
--- Example:
---
--- > div ! async "bar" $ "Hello."
---
--- Result:
---
--- > <div async="bar">Hello.</div>
---
-async :: AttributeValue  -- ^ Attribute value.
-      -> Attribute       -- ^ Resulting attribute.
-async = attribute "async" " async=\""
-{-# INLINE async #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @autocomplete@ attribute.
---
--- Example:
---
--- > div ! autocomplete "bar" $ "Hello."
---
--- Result:
---
--- > <div autocomplete="bar">Hello.</div>
---
-autocomplete :: AttributeValue  -- ^ Attribute value.
-             -> Attribute       -- ^ Resulting attribute.
-autocomplete = attribute "autocomplete" " autocomplete=\""
-{-# INLINE autocomplete #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @autofocus@ attribute.
---
--- Example:
---
--- > div ! autofocus "bar" $ "Hello."
---
--- Result:
---
--- > <div autofocus="bar">Hello.</div>
---
-autofocus :: AttributeValue  -- ^ Attribute value.
-          -> Attribute       -- ^ Resulting attribute.
-autofocus = attribute "autofocus" " autofocus=\""
-{-# INLINE autofocus #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @autoplay@ attribute.
---
--- Example:
---
--- > div ! autoplay "bar" $ "Hello."
---
--- Result:
---
--- > <div autoplay="bar">Hello.</div>
---
-autoplay :: AttributeValue  -- ^ Attribute value.
-         -> Attribute       -- ^ Resulting attribute.
-autoplay = attribute "autoplay" " autoplay=\""
-{-# INLINE autoplay #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @challenge@ attribute.
---
--- Example:
---
--- > div ! challenge "bar" $ "Hello."
---
--- Result:
---
--- > <div challenge="bar">Hello.</div>
---
-challenge :: AttributeValue  -- ^ Attribute value.
-          -> Attribute       -- ^ Resulting attribute.
-challenge = attribute "challenge" " challenge=\""
-{-# INLINE challenge #-}
-
--- 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 @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 @contenteditable@ attribute.
---
--- Example:
---
--- > div ! contenteditable "bar" $ "Hello."
---
--- Result:
---
--- > <div contenteditable="bar">Hello.</div>
---
-contenteditable :: AttributeValue  -- ^ Attribute value.
-                -> Attribute       -- ^ Resulting attribute.
-contenteditable = attribute "contenteditable" " contenteditable=\""
-{-# INLINE contenteditable #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @contextmenu@ attribute.
---
--- Example:
---
--- > div ! contextmenu "bar" $ "Hello."
---
--- Result:
---
--- > <div contextmenu="bar">Hello.</div>
---
-contextmenu :: AttributeValue  -- ^ Attribute value.
-            -> Attribute       -- ^ Resulting attribute.
-contextmenu = attribute "contextmenu" " contextmenu=\""
-{-# INLINE contextmenu #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @controls@ attribute.
---
--- Example:
---
--- > div ! controls "bar" $ "Hello."
---
--- Result:
---
--- > <div controls="bar">Hello.</div>
---
-controls :: AttributeValue  -- ^ Attribute value.
-         -> Attribute       -- ^ Resulting attribute.
-controls = attribute "controls" " controls=\""
-{-# INLINE controls #-}
-
--- 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 @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 @draggable@ attribute.
---
--- Example:
---
--- > div ! draggable "bar" $ "Hello."
---
--- Result:
---
--- > <div draggable="bar">Hello.</div>
---
-draggable :: AttributeValue  -- ^ Attribute value.
-          -> Attribute       -- ^ Resulting attribute.
-draggable = attribute "draggable" " draggable=\""
-{-# INLINE draggable #-}
-
--- 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 @form@ attribute.
---
--- Example:
---
--- > div ! form "bar" $ "Hello."
---
--- Result:
---
--- > <div form="bar">Hello.</div>
---
-form :: AttributeValue  -- ^ Attribute value.
-     -> Attribute       -- ^ Resulting attribute.
-form = attribute "form" " form=\""
-{-# INLINE form #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @formaction@ attribute.
---
--- Example:
---
--- > div ! formaction "bar" $ "Hello."
---
--- Result:
---
--- > <div formaction="bar">Hello.</div>
---
-formaction :: AttributeValue  -- ^ Attribute value.
-           -> Attribute       -- ^ Resulting attribute.
-formaction = attribute "formaction" " formaction=\""
-{-# INLINE formaction #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @formenctype@ attribute.
---
--- Example:
---
--- > div ! formenctype "bar" $ "Hello."
---
--- Result:
---
--- > <div formenctype="bar">Hello.</div>
---
-formenctype :: AttributeValue  -- ^ Attribute value.
-            -> Attribute       -- ^ Resulting attribute.
-formenctype = attribute "formenctype" " formenctype=\""
-{-# INLINE formenctype #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @formmethod@ attribute.
---
--- Example:
---
--- > div ! formmethod "bar" $ "Hello."
---
--- Result:
---
--- > <div formmethod="bar">Hello.</div>
---
-formmethod :: AttributeValue  -- ^ Attribute value.
-           -> Attribute       -- ^ Resulting attribute.
-formmethod = attribute "formmethod" " formmethod=\""
-{-# INLINE formmethod #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @formnovalidate@ attribute.
---
--- Example:
---
--- > div ! formnovalidate "bar" $ "Hello."
---
--- Result:
---
--- > <div formnovalidate="bar">Hello.</div>
---
-formnovalidate :: AttributeValue  -- ^ Attribute value.
-               -> Attribute       -- ^ Resulting attribute.
-formnovalidate = attribute "formnovalidate" " formnovalidate=\""
-{-# INLINE formnovalidate #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @formtarget@ attribute.
---
--- Example:
---
--- > div ! formtarget "bar" $ "Hello."
---
--- Result:
---
--- > <div formtarget="bar">Hello.</div>
---
-formtarget :: AttributeValue  -- ^ Attribute value.
-           -> Attribute       -- ^ Resulting attribute.
-formtarget = attribute "formtarget" " formtarget=\""
-{-# INLINE formtarget #-}
-
--- 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 @hidden@ attribute.
---
--- Example:
---
--- > div ! hidden "bar" $ "Hello."
---
--- Result:
---
--- > <div hidden="bar">Hello.</div>
---
-hidden :: AttributeValue  -- ^ Attribute value.
-       -> Attribute       -- ^ Resulting attribute.
-hidden = attribute "hidden" " hidden=\""
-{-# INLINE hidden #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @high@ attribute.
---
--- Example:
---
--- > div ! high "bar" $ "Hello."
---
--- Result:
---
--- > <div high="bar">Hello.</div>
---
-high :: AttributeValue  -- ^ Attribute value.
-     -> Attribute       -- ^ Resulting attribute.
-high = attribute "high" " high=\""
-{-# INLINE high #-}
-
--- 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 @icon@ attribute.
---
--- Example:
---
--- > div ! icon "bar" $ "Hello."
---
--- Result:
---
--- > <div icon="bar">Hello.</div>
---
-icon :: AttributeValue  -- ^ Attribute value.
-     -> Attribute       -- ^ Resulting attribute.
-icon = attribute "icon" " icon=\""
-{-# INLINE icon #-}
-
--- 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 @ismap@ attribute.
---
--- Example:
---
--- > div ! ismap "bar" $ "Hello."
---
--- Result:
---
--- > <div ismap="bar">Hello.</div>
---
-ismap :: AttributeValue  -- ^ Attribute value.
-      -> Attribute       -- ^ Resulting attribute.
-ismap = attribute "ismap" " ismap=\""
-{-# INLINE ismap #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @item@ attribute.
---
--- Example:
---
--- > div ! item "bar" $ "Hello."
---
--- Result:
---
--- > <div item="bar">Hello.</div>
---
-item :: AttributeValue  -- ^ Attribute value.
-     -> Attribute       -- ^ Resulting attribute.
-item = attribute "item" " item=\""
-{-# INLINE item #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @itemprop@ attribute.
---
--- Example:
---
--- > div ! itemprop "bar" $ "Hello."
---
--- Result:
---
--- > <div itemprop="bar">Hello.</div>
---
-itemprop :: AttributeValue  -- ^ Attribute value.
-         -> Attribute       -- ^ Resulting attribute.
-itemprop = attribute "itemprop" " itemprop=\""
-{-# INLINE itemprop #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @keytype@ attribute.
---
--- Example:
---
--- > div ! keytype "bar" $ "Hello."
---
--- Result:
---
--- > <div keytype="bar">Hello.</div>
---
-keytype :: AttributeValue  -- ^ Attribute value.
-        -> Attribute       -- ^ Resulting attribute.
-keytype = attribute "keytype" " keytype=\""
-{-# INLINE keytype #-}
-
--- 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 @list@ attribute.
---
--- Example:
---
--- > div ! list "bar" $ "Hello."
---
--- Result:
---
--- > <div list="bar">Hello.</div>
---
-list :: AttributeValue  -- ^ Attribute value.
-     -> Attribute       -- ^ Resulting attribute.
-list = attribute "list" " list=\""
-{-# INLINE list #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @loop@ attribute.
---
--- Example:
---
--- > div ! loop "bar" $ "Hello."
---
--- Result:
---
--- > <div loop="bar">Hello.</div>
---
-loop :: AttributeValue  -- ^ Attribute value.
-     -> Attribute       -- ^ Resulting attribute.
-loop = attribute "loop" " loop=\""
-{-# INLINE loop #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @low@ attribute.
---
--- Example:
---
--- > div ! low "bar" $ "Hello."
---
--- Result:
---
--- > <div low="bar">Hello.</div>
---
-low :: AttributeValue  -- ^ Attribute value.
-    -> Attribute       -- ^ Resulting attribute.
-low = attribute "low" " low=\""
-{-# INLINE low #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @manifest@ attribute.
---
--- Example:
---
--- > div ! manifest "bar" $ "Hello."
---
--- Result:
---
--- > <div manifest="bar">Hello.</div>
---
-manifest :: AttributeValue  -- ^ Attribute value.
-         -> Attribute       -- ^ Resulting attribute.
-manifest = attribute "manifest" " manifest=\""
-{-# INLINE manifest #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @max@ attribute.
---
--- Example:
---
--- > div ! max "bar" $ "Hello."
---
--- Result:
---
--- > <div max="bar">Hello.</div>
---
-max :: AttributeValue  -- ^ Attribute value.
-    -> Attribute       -- ^ Resulting attribute.
-max = attribute "max" " max=\""
-{-# INLINE max #-}
-
--- 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 @min@ attribute.
---
--- Example:
---
--- > div ! min "bar" $ "Hello."
---
--- Result:
---
--- > <div min="bar">Hello.</div>
---
-min :: AttributeValue  -- ^ Attribute value.
-    -> Attribute       -- ^ Resulting attribute.
-min = attribute "min" " min=\""
-{-# INLINE min #-}
-
--- 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 @novalidate@ attribute.
---
--- Example:
---
--- > div ! novalidate "bar" $ "Hello."
---
--- Result:
---
--- > <div novalidate="bar">Hello.</div>
---
-novalidate :: AttributeValue  -- ^ Attribute value.
-           -> Attribute       -- ^ Resulting attribute.
-novalidate = attribute "novalidate" " novalidate=\""
-{-# INLINE novalidate #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onbeforeonload@ attribute.
---
--- Example:
---
--- > div ! onbeforeonload "bar" $ "Hello."
---
--- Result:
---
--- > <div onbeforeonload="bar">Hello.</div>
---
-onbeforeonload :: AttributeValue  -- ^ Attribute value.
-               -> Attribute       -- ^ Resulting attribute.
-onbeforeonload = attribute "onbeforeonload" " onbeforeonload=\""
-{-# INLINE onbeforeonload #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onbeforeprint@ attribute.
---
--- Example:
---
--- > div ! onbeforeprint "bar" $ "Hello."
---
--- Result:
---
--- > <div onbeforeprint="bar">Hello.</div>
---
-onbeforeprint :: AttributeValue  -- ^ Attribute value.
-              -> Attribute       -- ^ Resulting attribute.
-onbeforeprint = attribute "onbeforeprint" " onbeforeprint=\""
-{-# INLINE onbeforeprint #-}
-
--- 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 @oncanplay@ attribute.
---
--- Example:
---
--- > div ! oncanplay "bar" $ "Hello."
---
--- Result:
---
--- > <div oncanplay="bar">Hello.</div>
---
-oncanplay :: AttributeValue  -- ^ Attribute value.
-          -> Attribute       -- ^ Resulting attribute.
-oncanplay = attribute "oncanplay" " oncanplay=\""
-{-# INLINE oncanplay #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @oncanplaythrough@ attribute.
---
--- Example:
---
--- > div ! oncanplaythrough "bar" $ "Hello."
---
--- Result:
---
--- > <div oncanplaythrough="bar">Hello.</div>
---
-oncanplaythrough :: AttributeValue  -- ^ Attribute value.
-                 -> Attribute       -- ^ Resulting attribute.
-oncanplaythrough = attribute "oncanplaythrough" " oncanplaythrough=\""
-{-# INLINE oncanplaythrough #-}
-
--- 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 @oncontextmenu@ attribute.
---
--- Example:
---
--- > div ! oncontextmenu "bar" $ "Hello."
---
--- Result:
---
--- > <div oncontextmenu="bar">Hello.</div>
---
-oncontextmenu :: AttributeValue  -- ^ Attribute value.
-              -> Attribute       -- ^ Resulting attribute.
-oncontextmenu = attribute "oncontextmenu" " oncontextmenu=\""
-{-# INLINE oncontextmenu #-}
-
--- 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 @ondrag@ attribute.
---
--- Example:
---
--- > div ! ondrag "bar" $ "Hello."
---
--- Result:
---
--- > <div ondrag="bar">Hello.</div>
---
-ondrag :: AttributeValue  -- ^ Attribute value.
-       -> Attribute       -- ^ Resulting attribute.
-ondrag = attribute "ondrag" " ondrag=\""
-{-# INLINE ondrag #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @ondragend@ attribute.
---
--- Example:
---
--- > div ! ondragend "bar" $ "Hello."
---
--- Result:
---
--- > <div ondragend="bar">Hello.</div>
---
-ondragend :: AttributeValue  -- ^ Attribute value.
-          -> Attribute       -- ^ Resulting attribute.
-ondragend = attribute "ondragend" " ondragend=\""
-{-# INLINE ondragend #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @ondragenter@ attribute.
---
--- Example:
---
--- > div ! ondragenter "bar" $ "Hello."
---
--- Result:
---
--- > <div ondragenter="bar">Hello.</div>
---
-ondragenter :: AttributeValue  -- ^ Attribute value.
-            -> Attribute       -- ^ Resulting attribute.
-ondragenter = attribute "ondragenter" " ondragenter=\""
-{-# INLINE ondragenter #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @ondragleave@ attribute.
---
--- Example:
---
--- > div ! ondragleave "bar" $ "Hello."
---
--- Result:
---
--- > <div ondragleave="bar">Hello.</div>
---
-ondragleave :: AttributeValue  -- ^ Attribute value.
-            -> Attribute       -- ^ Resulting attribute.
-ondragleave = attribute "ondragleave" " ondragleave=\""
-{-# INLINE ondragleave #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @ondragover@ attribute.
---
--- Example:
---
--- > div ! ondragover "bar" $ "Hello."
---
--- Result:
---
--- > <div ondragover="bar">Hello.</div>
---
-ondragover :: AttributeValue  -- ^ Attribute value.
-           -> Attribute       -- ^ Resulting attribute.
-ondragover = attribute "ondragover" " ondragover=\""
-{-# INLINE ondragover #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @ondragstart@ attribute.
---
--- Example:
---
--- > div ! ondragstart "bar" $ "Hello."
---
--- Result:
---
--- > <div ondragstart="bar">Hello.</div>
---
-ondragstart :: AttributeValue  -- ^ Attribute value.
-            -> Attribute       -- ^ Resulting attribute.
-ondragstart = attribute "ondragstart" " ondragstart=\""
-{-# INLINE ondragstart #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @ondrop@ attribute.
---
--- Example:
---
--- > div ! ondrop "bar" $ "Hello."
---
--- Result:
---
--- > <div ondrop="bar">Hello.</div>
---
-ondrop :: AttributeValue  -- ^ Attribute value.
-       -> Attribute       -- ^ Resulting attribute.
-ondrop = attribute "ondrop" " ondrop=\""
-{-# INLINE ondrop #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @ondurationchange@ attribute.
---
--- Example:
---
--- > div ! ondurationchange "bar" $ "Hello."
---
--- Result:
---
--- > <div ondurationchange="bar">Hello.</div>
---
-ondurationchange :: AttributeValue  -- ^ Attribute value.
-                 -> Attribute       -- ^ Resulting attribute.
-ondurationchange = attribute "ondurationchange" " ondurationchange=\""
-{-# INLINE ondurationchange #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onemptied@ attribute.
---
--- Example:
---
--- > div ! onemptied "bar" $ "Hello."
---
--- Result:
---
--- > <div onemptied="bar">Hello.</div>
---
-onemptied :: AttributeValue  -- ^ Attribute value.
-          -> Attribute       -- ^ Resulting attribute.
-onemptied = attribute "onemptied" " onemptied=\""
-{-# INLINE onemptied #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onended@ attribute.
---
--- Example:
---
--- > div ! onended "bar" $ "Hello."
---
--- Result:
---
--- > <div onended="bar">Hello.</div>
---
-onended :: AttributeValue  -- ^ Attribute value.
-        -> Attribute       -- ^ Resulting attribute.
-onended = attribute "onended" " onended=\""
-{-# INLINE onended #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onerror@ attribute.
---
--- Example:
---
--- > div ! onerror "bar" $ "Hello."
---
--- Result:
---
--- > <div onerror="bar">Hello.</div>
---
-onerror :: AttributeValue  -- ^ Attribute value.
-        -> Attribute       -- ^ Resulting attribute.
-onerror = attribute "onerror" " onerror=\""
-{-# INLINE onerror #-}
-
--- 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 @onformchange@ attribute.
---
--- Example:
---
--- > div ! onformchange "bar" $ "Hello."
---
--- Result:
---
--- > <div onformchange="bar">Hello.</div>
---
-onformchange :: AttributeValue  -- ^ Attribute value.
-             -> Attribute       -- ^ Resulting attribute.
-onformchange = attribute "onformchange" " onformchange=\""
-{-# INLINE onformchange #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onforminput@ attribute.
---
--- Example:
---
--- > div ! onforminput "bar" $ "Hello."
---
--- Result:
---
--- > <div onforminput="bar">Hello.</div>
---
-onforminput :: AttributeValue  -- ^ Attribute value.
-            -> Attribute       -- ^ Resulting attribute.
-onforminput = attribute "onforminput" " onforminput=\""
-{-# INLINE onforminput #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onhaschange@ attribute.
---
--- Example:
---
--- > div ! onhaschange "bar" $ "Hello."
---
--- Result:
---
--- > <div onhaschange="bar">Hello.</div>
---
-onhaschange :: AttributeValue  -- ^ Attribute value.
-            -> Attribute       -- ^ Resulting attribute.
-onhaschange = attribute "onhaschange" " onhaschange=\""
-{-# INLINE onhaschange #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @oninput@ attribute.
---
--- Example:
---
--- > div ! oninput "bar" $ "Hello."
---
--- Result:
---
--- > <div oninput="bar">Hello.</div>
---
-oninput :: AttributeValue  -- ^ Attribute value.
-        -> Attribute       -- ^ Resulting attribute.
-oninput = attribute "oninput" " oninput=\""
-{-# INLINE oninput #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @oninvalid@ attribute.
---
--- Example:
---
--- > div ! oninvalid "bar" $ "Hello."
---
--- Result:
---
--- > <div oninvalid="bar">Hello.</div>
---
-oninvalid :: AttributeValue  -- ^ Attribute value.
-          -> Attribute       -- ^ Resulting attribute.
-oninvalid = attribute "oninvalid" " oninvalid=\""
-{-# INLINE oninvalid #-}
-
--- 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 @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 @onloadeddata@ attribute.
---
--- Example:
---
--- > div ! onloadeddata "bar" $ "Hello."
---
--- Result:
---
--- > <div onloadeddata="bar">Hello.</div>
---
-onloadeddata :: AttributeValue  -- ^ Attribute value.
-             -> Attribute       -- ^ Resulting attribute.
-onloadeddata = attribute "onloadeddata" " onloadeddata=\""
-{-# INLINE onloadeddata #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onloadedmetadata@ attribute.
---
--- Example:
---
--- > div ! onloadedmetadata "bar" $ "Hello."
---
--- Result:
---
--- > <div onloadedmetadata="bar">Hello.</div>
---
-onloadedmetadata :: AttributeValue  -- ^ Attribute value.
-                 -> Attribute       -- ^ Resulting attribute.
-onloadedmetadata = attribute "onloadedmetadata" " onloadedmetadata=\""
-{-# INLINE onloadedmetadata #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onloadstart@ attribute.
---
--- Example:
---
--- > div ! onloadstart "bar" $ "Hello."
---
--- Result:
---
--- > <div onloadstart="bar">Hello.</div>
---
-onloadstart :: AttributeValue  -- ^ Attribute value.
-            -> Attribute       -- ^ Resulting attribute.
-onloadstart = attribute "onloadstart" " onloadstart=\""
-{-# INLINE onloadstart #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onmessage@ attribute.
---
--- Example:
---
--- > div ! onmessage "bar" $ "Hello."
---
--- Result:
---
--- > <div onmessage="bar">Hello.</div>
---
-onmessage :: AttributeValue  -- ^ Attribute value.
-          -> Attribute       -- ^ Resulting attribute.
-onmessage = attribute "onmessage" " onmessage=\""
-{-# INLINE onmessage #-}
-
--- 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 @onmousewheel@ attribute.
---
--- Example:
---
--- > div ! onmousewheel "bar" $ "Hello."
---
--- Result:
---
--- > <div onmousewheel="bar">Hello.</div>
---
-onmousewheel :: AttributeValue  -- ^ Attribute value.
-             -> Attribute       -- ^ Resulting attribute.
-onmousewheel = attribute "onmousewheel" " onmousewheel=\""
-{-# INLINE onmousewheel #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @ononline@ attribute.
---
--- Example:
---
--- > div ! ononline "bar" $ "Hello."
---
--- Result:
---
--- > <div ononline="bar">Hello.</div>
---
-ononline :: AttributeValue  -- ^ Attribute value.
-         -> Attribute       -- ^ Resulting attribute.
-ononline = attribute "ononline" " ononline=\""
-{-# INLINE ononline #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onpagehide@ attribute.
---
--- Example:
---
--- > div ! onpagehide "bar" $ "Hello."
---
--- Result:
---
--- > <div onpagehide="bar">Hello.</div>
---
-onpagehide :: AttributeValue  -- ^ Attribute value.
-           -> Attribute       -- ^ Resulting attribute.
-onpagehide = attribute "onpagehide" " onpagehide=\""
-{-# INLINE onpagehide #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onpageshow@ attribute.
---
--- Example:
---
--- > div ! onpageshow "bar" $ "Hello."
---
--- Result:
---
--- > <div onpageshow="bar">Hello.</div>
---
-onpageshow :: AttributeValue  -- ^ Attribute value.
-           -> Attribute       -- ^ Resulting attribute.
-onpageshow = attribute "onpageshow" " onpageshow=\""
-{-# INLINE onpageshow #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onpause@ attribute.
---
--- Example:
---
--- > div ! onpause "bar" $ "Hello."
---
--- Result:
---
--- > <div onpause="bar">Hello.</div>
---
-onpause :: AttributeValue  -- ^ Attribute value.
-        -> Attribute       -- ^ Resulting attribute.
-onpause = attribute "onpause" " onpause=\""
-{-# INLINE onpause #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onplay@ attribute.
---
--- Example:
---
--- > div ! onplay "bar" $ "Hello."
---
--- Result:
---
--- > <div onplay="bar">Hello.</div>
---
-onplay :: AttributeValue  -- ^ Attribute value.
-       -> Attribute       -- ^ Resulting attribute.
-onplay = attribute "onplay" " onplay=\""
-{-# INLINE onplay #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onplaying@ attribute.
---
--- Example:
---
--- > div ! onplaying "bar" $ "Hello."
---
--- Result:
---
--- > <div onplaying="bar">Hello.</div>
---
-onplaying :: AttributeValue  -- ^ Attribute value.
-          -> Attribute       -- ^ Resulting attribute.
-onplaying = attribute "onplaying" " onplaying=\""
-{-# INLINE onplaying #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onprogress@ attribute.
---
--- Example:
---
--- > div ! onprogress "bar" $ "Hello."
---
--- Result:
---
--- > <div onprogress="bar">Hello.</div>
---
-onprogress :: AttributeValue  -- ^ Attribute value.
-           -> Attribute       -- ^ Resulting attribute.
-onprogress = attribute "onprogress" " onprogress=\""
-{-# INLINE onprogress #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onpropstate@ attribute.
---
--- Example:
---
--- > div ! onpropstate "bar" $ "Hello."
---
--- Result:
---
--- > <div onpropstate="bar">Hello.</div>
---
-onpropstate :: AttributeValue  -- ^ Attribute value.
-            -> Attribute       -- ^ Resulting attribute.
-onpropstate = attribute "onpropstate" " onpropstate=\""
-{-# INLINE onpropstate #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onratechange@ attribute.
---
--- Example:
---
--- > div ! onratechange "bar" $ "Hello."
---
--- Result:
---
--- > <div onratechange="bar">Hello.</div>
---
-onratechange :: AttributeValue  -- ^ Attribute value.
-             -> Attribute       -- ^ Resulting attribute.
-onratechange = attribute "onratechange" " onratechange=\""
-{-# INLINE onratechange #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onreadystatechange@ attribute.
---
--- Example:
---
--- > div ! onreadystatechange "bar" $ "Hello."
---
--- Result:
---
--- > <div onreadystatechange="bar">Hello.</div>
---
-onreadystatechange :: AttributeValue  -- ^ Attribute value.
-                   -> Attribute       -- ^ Resulting attribute.
-onreadystatechange = attribute "onreadystatechange" " onreadystatechange=\""
-{-# INLINE onreadystatechange #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onredo@ attribute.
---
--- Example:
---
--- > div ! onredo "bar" $ "Hello."
---
--- Result:
---
--- > <div onredo="bar">Hello.</div>
---
-onredo :: AttributeValue  -- ^ Attribute value.
-       -> Attribute       -- ^ Resulting attribute.
-onredo = attribute "onredo" " onredo=\""
-{-# INLINE onredo #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onresize@ attribute.
---
--- Example:
---
--- > div ! onresize "bar" $ "Hello."
---
--- Result:
---
--- > <div onresize="bar">Hello.</div>
---
-onresize :: AttributeValue  -- ^ Attribute value.
-         -> Attribute       -- ^ Resulting attribute.
-onresize = attribute "onresize" " onresize=\""
-{-# INLINE onresize #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onscroll@ attribute.
---
--- Example:
---
--- > div ! onscroll "bar" $ "Hello."
---
--- Result:
---
--- > <div onscroll="bar">Hello.</div>
---
-onscroll :: AttributeValue  -- ^ Attribute value.
-         -> Attribute       -- ^ Resulting attribute.
-onscroll = attribute "onscroll" " onscroll=\""
-{-# INLINE onscroll #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onseeked@ attribute.
---
--- Example:
---
--- > div ! onseeked "bar" $ "Hello."
---
--- Result:
---
--- > <div onseeked="bar">Hello.</div>
---
-onseeked :: AttributeValue  -- ^ Attribute value.
-         -> Attribute       -- ^ Resulting attribute.
-onseeked = attribute "onseeked" " onseeked=\""
-{-# INLINE onseeked #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onseeking@ attribute.
---
--- Example:
---
--- > div ! onseeking "bar" $ "Hello."
---
--- Result:
---
--- > <div onseeking="bar">Hello.</div>
---
-onseeking :: AttributeValue  -- ^ Attribute value.
-          -> Attribute       -- ^ Resulting attribute.
-onseeking = attribute "onseeking" " onseeking=\""
-{-# INLINE onseeking #-}
-
--- 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 @onstalled@ attribute.
---
--- Example:
---
--- > div ! onstalled "bar" $ "Hello."
---
--- Result:
---
--- > <div onstalled="bar">Hello.</div>
---
-onstalled :: AttributeValue  -- ^ Attribute value.
-          -> Attribute       -- ^ Resulting attribute.
-onstalled = attribute "onstalled" " onstalled=\""
-{-# INLINE onstalled #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onstorage@ attribute.
---
--- Example:
---
--- > div ! onstorage "bar" $ "Hello."
---
--- Result:
---
--- > <div onstorage="bar">Hello.</div>
---
-onstorage :: AttributeValue  -- ^ Attribute value.
-          -> Attribute       -- ^ Resulting attribute.
-onstorage = attribute "onstorage" " onstorage=\""
-{-# INLINE onstorage #-}
-
--- 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 @onsuspend@ attribute.
---
--- Example:
---
--- > div ! onsuspend "bar" $ "Hello."
---
--- Result:
---
--- > <div onsuspend="bar">Hello.</div>
---
-onsuspend :: AttributeValue  -- ^ Attribute value.
-          -> Attribute       -- ^ Resulting attribute.
-onsuspend = attribute "onsuspend" " onsuspend=\""
-{-# INLINE onsuspend #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @ontimeupdate@ attribute.
---
--- Example:
---
--- > div ! ontimeupdate "bar" $ "Hello."
---
--- Result:
---
--- > <div ontimeupdate="bar">Hello.</div>
---
-ontimeupdate :: AttributeValue  -- ^ Attribute value.
-             -> Attribute       -- ^ Resulting attribute.
-ontimeupdate = attribute "ontimeupdate" " ontimeupdate=\""
-{-# INLINE ontimeupdate #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onundo@ attribute.
---
--- Example:
---
--- > div ! onundo "bar" $ "Hello."
---
--- Result:
---
--- > <div onundo="bar">Hello.</div>
---
-onundo :: AttributeValue  -- ^ Attribute value.
-       -> Attribute       -- ^ Resulting attribute.
-onundo = attribute "onundo" " onundo=\""
-{-# INLINE onundo #-}
-
--- 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 @onvolumechange@ attribute.
---
--- Example:
---
--- > div ! onvolumechange "bar" $ "Hello."
---
--- Result:
---
--- > <div onvolumechange="bar">Hello.</div>
---
-onvolumechange :: AttributeValue  -- ^ Attribute value.
-               -> Attribute       -- ^ Resulting attribute.
-onvolumechange = attribute "onvolumechange" " onvolumechange=\""
-{-# INLINE onvolumechange #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @onwaiting@ attribute.
---
--- Example:
---
--- > div ! onwaiting "bar" $ "Hello."
---
--- Result:
---
--- > <div onwaiting="bar">Hello.</div>
---
-onwaiting :: AttributeValue  -- ^ Attribute value.
-          -> Attribute       -- ^ Resulting attribute.
-onwaiting = attribute "onwaiting" " onwaiting=\""
-{-# INLINE onwaiting #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @open@ attribute.
---
--- Example:
---
--- > div ! open "bar" $ "Hello."
---
--- Result:
---
--- > <div open="bar">Hello.</div>
---
-open :: AttributeValue  -- ^ Attribute value.
-     -> Attribute       -- ^ Resulting attribute.
-open = attribute "open" " open=\""
-{-# INLINE open #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @optimum@ attribute.
---
--- Example:
---
--- > div ! optimum "bar" $ "Hello."
---
--- Result:
---
--- > <div optimum="bar">Hello.</div>
---
-optimum :: AttributeValue  -- ^ Attribute value.
-        -> Attribute       -- ^ Resulting attribute.
-optimum = attribute "optimum" " optimum=\""
-{-# INLINE optimum #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @pattern@ attribute.
---
--- Example:
---
--- > div ! pattern "bar" $ "Hello."
---
--- Result:
---
--- > <div pattern="bar">Hello.</div>
---
-pattern :: AttributeValue  -- ^ Attribute value.
-        -> Attribute       -- ^ Resulting attribute.
-pattern = attribute "pattern" " pattern=\""
-{-# INLINE pattern #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @ping@ attribute.
---
--- Example:
---
--- > div ! ping "bar" $ "Hello."
---
--- Result:
---
--- > <div ping="bar">Hello.</div>
---
-ping :: AttributeValue  -- ^ Attribute value.
-     -> Attribute       -- ^ Resulting attribute.
-ping = attribute "ping" " ping=\""
-{-# INLINE ping #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @placeholder@ attribute.
---
--- Example:
---
--- > div ! placeholder "bar" $ "Hello."
---
--- Result:
---
--- > <div placeholder="bar">Hello.</div>
---
-placeholder :: AttributeValue  -- ^ Attribute value.
-            -> Attribute       -- ^ Resulting attribute.
-placeholder = attribute "placeholder" " placeholder=\""
-{-# INLINE placeholder #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @preload@ attribute.
---
--- Example:
---
--- > div ! preload "bar" $ "Hello."
---
--- Result:
---
--- > <div preload="bar">Hello.</div>
---
-preload :: AttributeValue  -- ^ Attribute value.
-        -> Attribute       -- ^ Resulting attribute.
-preload = attribute "preload" " preload=\""
-{-# INLINE preload #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @pubdate@ attribute.
---
--- Example:
---
--- > div ! pubdate "bar" $ "Hello."
---
--- Result:
---
--- > <div pubdate="bar">Hello.</div>
---
-pubdate :: AttributeValue  -- ^ Attribute value.
-        -> Attribute       -- ^ Resulting attribute.
-pubdate = attribute "pubdate" " pubdate=\""
-{-# INLINE pubdate #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @radiogroup@ attribute.
---
--- Example:
---
--- > div ! radiogroup "bar" $ "Hello."
---
--- Result:
---
--- > <div radiogroup="bar">Hello.</div>
---
-radiogroup :: AttributeValue  -- ^ Attribute value.
-           -> Attribute       -- ^ Resulting attribute.
-radiogroup = attribute "radiogroup" " radiogroup=\""
-{-# INLINE radiogroup #-}
-
--- 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 @required@ attribute.
---
--- Example:
---
--- > div ! required "bar" $ "Hello."
---
--- Result:
---
--- > <div required="bar">Hello.</div>
---
-required :: AttributeValue  -- ^ Attribute value.
-         -> Attribute       -- ^ Resulting attribute.
-required = attribute "required" " required=\""
-{-# INLINE required #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @reversed@ attribute.
---
--- Example:
---
--- > div ! reversed "bar" $ "Hello."
---
--- Result:
---
--- > <div reversed="bar">Hello.</div>
---
-reversed :: AttributeValue  -- ^ Attribute value.
-         -> Attribute       -- ^ Resulting attribute.
-reversed = attribute "reversed" " reversed=\""
-{-# INLINE reversed #-}
-
--- 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 @sandbox@ attribute.
---
--- Example:
---
--- > div ! sandbox "bar" $ "Hello."
---
--- Result:
---
--- > <div sandbox="bar">Hello.</div>
---
-sandbox :: AttributeValue  -- ^ Attribute value.
-        -> Attribute       -- ^ Resulting attribute.
-sandbox = attribute "sandbox" " sandbox=\""
-{-# INLINE sandbox #-}
-
--- 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 @scoped@ attribute.
---
--- Example:
---
--- > div ! scoped "bar" $ "Hello."
---
--- Result:
---
--- > <div scoped="bar">Hello.</div>
---
-scoped :: AttributeValue  -- ^ Attribute value.
-       -> Attribute       -- ^ Resulting attribute.
-scoped = attribute "scoped" " scoped=\""
-{-# INLINE scoped #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @seamless@ attribute.
---
--- Example:
---
--- > div ! seamless "bar" $ "Hello."
---
--- Result:
---
--- > <div seamless="bar">Hello.</div>
---
-seamless :: AttributeValue  -- ^ Attribute value.
-         -> Attribute       -- ^ Resulting attribute.
-seamless = attribute "seamless" " seamless=\""
-{-# INLINE seamless #-}
-
--- 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 @sizes@ attribute.
---
--- Example:
---
--- > div ! sizes "bar" $ "Hello."
---
--- Result:
---
--- > <div sizes="bar">Hello.</div>
---
-sizes :: AttributeValue  -- ^ Attribute value.
-      -> Attribute       -- ^ Resulting attribute.
-sizes = attribute "sizes" " sizes=\""
-{-# INLINE sizes #-}
-
--- 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 @spellcheck@ attribute.
---
--- Example:
---
--- > div ! spellcheck "bar" $ "Hello."
---
--- Result:
---
--- > <div spellcheck="bar">Hello.</div>
---
-spellcheck :: AttributeValue  -- ^ Attribute value.
-           -> Attribute       -- ^ Resulting attribute.
-spellcheck = attribute "spellcheck" " spellcheck=\""
-{-# INLINE spellcheck #-}
-
--- 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 @srcdoc@ attribute.
---
--- Example:
---
--- > div ! srcdoc "bar" $ "Hello."
---
--- Result:
---
--- > <div srcdoc="bar">Hello.</div>
---
-srcdoc :: AttributeValue  -- ^ Attribute value.
-       -> Attribute       -- ^ Resulting attribute.
-srcdoc = attribute "srcdoc" " srcdoc=\""
-{-# INLINE srcdoc #-}
-
--- 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 @step@ attribute.
---
--- Example:
---
--- > div ! step "bar" $ "Hello."
---
--- Result:
---
--- > <div step="bar">Hello.</div>
---
-step :: AttributeValue  -- ^ Attribute value.
-     -> Attribute       -- ^ Resulting attribute.
-step = attribute "step" " step=\""
-{-# INLINE step #-}
-
--- 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 @subject@ attribute.
---
--- Example:
---
--- > div ! subject "bar" $ "Hello."
---
--- Result:
---
--- > <div subject="bar">Hello.</div>
---
-subject :: AttributeValue  -- ^ Attribute value.
-        -> Attribute       -- ^ Resulting attribute.
-subject = attribute "subject" " subject=\""
-{-# INLINE subject #-}
-
--- 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 @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 @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 #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @wrap@ attribute.
---
--- Example:
---
--- > div ! wrap "bar" $ "Hello."
---
--- Result:
---
--- > <div wrap="bar">Hello.</div>
---
-wrap :: AttributeValue  -- ^ Attribute value.
-     -> Attribute       -- ^ Resulting attribute.
-wrap = attribute "wrap" " wrap=\""
-{-# INLINE wrap #-}
-
--- WARNING: The next block of code was automatically generated by
--- Util/GenerateHtmlCombinators.hs:248
---
--- | Combinator for the @xmlns@ attribute.
---
--- Example:
---
--- > div ! xmlns "bar" $ "Hello."
---
--- Result:
---
--- > <div xmlns="bar">Hello.</div>
---
-xmlns :: AttributeValue  -- ^ Attribute value.
-      -> Attribute       -- ^ Resulting attribute.
-xmlns = attribute "xmlns" " xmlns=\""
-{-# INLINE xmlns #-}
diff --git a/Text/Blaze/Internal.hs b/Text/Blaze/Internal.hs
deleted file mode 100644
--- a/Text/Blaze/Internal.hs
+++ /dev/null
@@ -1,410 +0,0 @@
-{-# LANGUAGE OverloadedStrings, GeneralizedNewtypeDeriving, Rank2Types,
-             FlexibleInstances, ExistentialQuantification, DeriveDataTypeable #-}
--- | The BlazeHtml core, consisting of functions that offer the power to
--- generate custom HTML elements. It also offers user-centric functions, which
--- are exposed through 'Text.Blaze'.
---
--- While this module is exported, usage of it is not recommended, unless you
--- know what you are doing. This module might undergo changes at any time.
---
-module Text.Blaze.Internal
-    (
-      -- * Important types.
-      ChoiceString (..)
-    , StaticString (..)
-    , HtmlM (..)
-    , Html
-    , Tag
-    , Attribute
-    , AttributeValue
-
-      -- * Creating custom tags and attributes.
-    , attribute
-    , dataAttribute
-    , customAttribute
-
-      -- * Converting values to HTML.
-    , text
-    , preEscapedText
-    , lazyText
-    , preEscapedLazyText
-    , string
-    , preEscapedString
-    , unsafeByteString
-    , unsafeLazyByteString
-
-      -- * Converting values to tags.
-    , textTag
-    , stringTag
-
-      -- * Converting values to attribute values.
-    , textValue
-    , preEscapedTextValue
-    , lazyTextValue
-    , preEscapedLazyTextValue
-    , stringValue
-    , preEscapedStringValue
-    , unsafeByteStringValue
-    , unsafeLazyByteStringValue
-
-      -- * Setting attributes
-    , Attributable
-    , (!)
-
-      -- * Modifying HTML elements
-    , external
-    ) where
-
-import Data.Monoid (Monoid, mappend, mempty, mconcat)
-
-import Data.ByteString.Char8 (ByteString)
-import Data.Text (Text)
-import Data.Typeable (Typeable)
-import GHC.Exts (IsString (..))
-import qualified Data.ByteString as B
-import qualified Data.ByteString.Lazy as BL
-import qualified Data.Text as T
-import qualified Data.Text.Encoding as T
-import qualified Data.Text.Lazy as LT
-
--- | A static string that supports efficient output to all possible backends.
---
-data StaticString = StaticString
-    { getString         :: String -> String  -- ^ Appending haskell string
-    , getUtf8ByteString :: B.ByteString      -- ^ UTF-8 encoded bytestring
-    , getText           :: Text              -- ^ Text value
-    }
-
--- 'StaticString's should only be converted from string literals, as far as I
--- can see.
---
-instance IsString StaticString where
-    fromString s = let t = T.pack s
-                   in StaticString (s ++) (T.encodeUtf8 t) t
-
--- | A string denoting input from different string representations.
---
-data ChoiceString
-    -- | Static data
-    = Static {-# UNPACK #-} !StaticString
-    -- | A Haskell String
-    | String String
-    -- | A Text value
-    | Text Text
-    -- | An encoded bytestring
-    | ByteString B.ByteString
-    -- | A pre-escaped string
-    | PreEscaped ChoiceString
-    -- | External data in style/script tags, should be checked for validity
-    | External ChoiceString
-    -- | Concatenation
-    | AppendChoiceString ChoiceString ChoiceString
-    -- | Empty string
-    | EmptyChoiceString
-
-instance Monoid ChoiceString where
-    mempty = EmptyChoiceString
-    {-# INLINE mempty #-}
-    mappend = AppendChoiceString
-    {-# INLINE mappend #-}
-
-instance IsString ChoiceString where
-    fromString = String
-    {-# INLINE fromString #-}
-
--- | The core HTML datatype.
---
-data HtmlM a
-    -- | Tag, open tag, end tag, content
-    = forall b. Parent StaticString StaticString StaticString (HtmlM b)
-    -- | Tag, open tag, end tag
-    | Leaf StaticString StaticString StaticString
-    -- | HTML content
-    | Content ChoiceString
-    -- | Concatenation of two HTML pieces
-    | forall b c. Append (HtmlM b) (HtmlM c)
-    -- | Add an attribute to the inner HTML. Raw key, key, value, HTML to
-    -- receive the attribute.
-    | AddAttribute StaticString StaticString ChoiceString (HtmlM a)
-    -- | Add a custom attribute to the inner HTML.
-    | AddCustomAttribute ChoiceString ChoiceString ChoiceString (HtmlM a)
-    -- | Empty HTML.
-    | Empty
-    deriving (Typeable)
-
--- | Simplification of the 'HtmlM' datatype.
---
-type Html = HtmlM ()
-
-instance Monoid a => Monoid (HtmlM a) where
-    mempty = Empty
-    {-# INLINE mempty #-}
-    mappend x y = Append x y
-    {-# INLINE mappend #-}
-    mconcat = foldr Append Empty
-    {-# INLINE mconcat #-}
-
-instance Monad HtmlM where
-    return _ = Empty
-    {-# INLINE return #-}
-    (>>) = Append
-    {-# INLINE (>>) #-}
-    h1 >>= f = h1 >> f
-        (error "Text.Blaze.Internal.HtmlM: invalid use of monadic bind")
-    {-# INLINE (>>=) #-}
-
-instance IsString (HtmlM a) where
-    fromString = Content . fromString
-    {-# INLINE fromString #-}
-
--- | Type for an HTML tag. This can be seen as an internal string type used by
--- BlazeHtml.
---
-newtype Tag = Tag { unTag :: StaticString }
-    deriving (IsString)
-
--- | Type for an attribute.
---
-newtype Attribute = Attribute (forall a. HtmlM a -> HtmlM a)
-
--- | The type for the value part of an attribute.
---
-newtype AttributeValue = AttributeValue { unAttributeValue :: ChoiceString }
-    deriving (IsString, Monoid)
-
--- | Create an HTML attribute that can be applied to an HTML element later using
--- the '!' operator.
---
-attribute :: Tag             -- ^ Raw key
-          -> Tag             -- ^ Shared key string for the HTML attribute.
-          -> AttributeValue  -- ^ Value for the HTML attribute.
-          -> Attribute       -- ^ Resulting HTML attribute.
-attribute rawKey key value = Attribute $
-    AddAttribute (unTag rawKey) (unTag key) (unAttributeValue value)
-{-# INLINE attribute #-}
-
--- | From HTML 5 onwards, the user is able to specify custom data attributes.
---
--- An example:
---
--- > <p data-foo="bar">Hello.</p>
---
--- We support this in BlazeHtml using this funcion. The above fragment could
--- be described using BlazeHtml with:
---
--- > p ! dataAttribute "foo" "bar" $ "Hello."
---
-dataAttribute :: Tag             -- ^ Name of the attribute.
-              -> AttributeValue  -- ^ Value for the attribute.
-              -> Attribute       -- ^ Resulting HTML attribute.
-dataAttribute tag value = Attribute $ AddCustomAttribute
-    (Static "data-" `mappend` Static (unTag tag))
-    (Static " data-" `mappend` Static (unTag tag) `mappend` Static "=\"")
-    (unAttributeValue value)
-{-# INLINE dataAttribute #-}
-
--- | Create a custom attribute. This is not specified in the HTML spec, but some
--- JavaScript libraries rely on it.
---
--- An example:
---
--- > <select dojoType="select">foo</select>
---
--- Can be produced using:
---
--- > select ! customAttribute "dojoType" "select" $ "foo"
---
-customAttribute :: Tag             -- ^ Name of the attribute
-                -> AttributeValue  -- ^ Value for the attribute
-                -> Attribute       -- ^ Resulting HTML attribtue
-customAttribute tag value = Attribute $ AddCustomAttribute
-    (Static $ unTag tag)
-    (Static " " `mappend` Static (unTag tag) `mappend` Static "=\"")
-    (unAttributeValue value)
-{-# INLINE customAttribute #-}
-
--- | Render text. Functions like these can be used to supply content in HTML.
---
-text :: Text  -- ^ Text to render.
-     -> Html  -- ^ Resulting HTML fragment.
-text = Content . Text
-{-# DEPRECATED text "Use Blaze.Html.toHtml" #-}
-{-# INLINE text #-}
-
--- | Render text without escaping.
---
-preEscapedText :: Text  -- ^ Text to insert
-               -> Html  -- ^ Resulting HTML fragment
-preEscapedText = Content . PreEscaped . Text
-{-# INLINE preEscapedText #-}
-
--- | A variant of 'text' for lazy 'LT.Text'.
---
-lazyText :: LT.Text  -- ^ Text to insert
-         -> Html     -- ^ Resulting HTML fragment
-lazyText = mconcat . map text . LT.toChunks
-{-# DEPRECATED lazyText "Use Blaze.Html.toHtml" #-}
-{-# INLINE lazyText #-}
-
--- | A variant of 'preEscapedText' for lazy 'LT.Text'
---
-preEscapedLazyText :: LT.Text  -- ^ Text to insert
-                   -> Html     -- ^ Resulting HTML fragment
-preEscapedLazyText = mconcat . map preEscapedText . LT.toChunks
-
--- | Create an HTML snippet from a 'String'.
---
-string :: String  -- ^ String to insert.
-       -> Html    -- ^ Resulting HTML fragment.
-string = Content . String
-{-# DEPRECATED string "Use Blaze.Html.toHtml" #-}
-{-# INLINE string #-}
-
--- | Create an HTML snippet from a 'String' without escaping
---
-preEscapedString :: String  -- ^ String to insert.
-                 -> Html    -- ^ Resulting HTML fragment.
-preEscapedString = Content . PreEscaped . String
-{-# INLINE preEscapedString #-}
-
--- | Insert a 'ByteString'. This is an unsafe operation:
---
--- * The 'ByteString' could have the wrong encoding.
---
--- * The 'ByteString' might contain illegal HTML characters (no escaping is
---   done).
---
-unsafeByteString :: ByteString  -- ^ Value to insert.
-                 -> Html        -- ^ Resulting HTML fragment.
-unsafeByteString = Content . ByteString
-{-# INLINE unsafeByteString #-}
-
--- | Insert a lazy 'BL.ByteString'. See 'unsafeByteString' for reasons why this
--- is an unsafe operation.
---
-unsafeLazyByteString :: BL.ByteString  -- ^ Value to insert
-                     -> Html           -- ^ Resulting HTML fragment
-unsafeLazyByteString = mconcat . map unsafeByteString . BL.toChunks
-{-# INLINE unsafeLazyByteString #-}
-
--- | Create a 'Tag' from some 'Text'.
---
-textTag :: Text  -- ^ Text to create a tag from
-        -> Tag   -- ^ Resulting tag
-textTag t = Tag $ StaticString (T.unpack t ++) (T.encodeUtf8 t) t
-
--- | Create a 'Tag' from a 'String'.
---
-stringTag :: String  -- ^ String to create a tag from
-          -> Tag     -- ^ Resulting tag
-stringTag = Tag . fromString
-
--- | Render an attribute value from 'Text'.
---
-textValue :: Text            -- ^ The actual value.
-          -> AttributeValue  -- ^ Resulting attribute value.
-textValue = AttributeValue . Text
-{-# DEPRECATED textValue "Use Blaze.Html.toValue" #-}
-{-# INLINE textValue #-}
-
--- | Render an attribute value from 'Text' without escaping.
---
-preEscapedTextValue :: Text            -- ^ The actual value
-                    -> AttributeValue  -- ^ Resulting attribute value
-preEscapedTextValue = AttributeValue . PreEscaped . Text
-{-# INLINE preEscapedTextValue #-}
-
--- | A variant of 'textValue' for lazy 'LT.Text'
---
-lazyTextValue :: LT.Text         -- ^ The actual value
-              -> AttributeValue  -- ^ Resulting attribute value
-lazyTextValue = mconcat . map textValue . LT.toChunks
-{-# DEPRECATED lazyTextValue "Use Blaze.Html.toValue" #-}
-{-# INLINE lazyTextValue #-}
-
--- | A variant of 'preEscapedTextValue' for lazy 'LT.Text'
---
-preEscapedLazyTextValue :: LT.Text         -- ^ The actual value
-                        -> AttributeValue  -- ^ Resulting attribute value
-preEscapedLazyTextValue = mconcat . map preEscapedTextValue . LT.toChunks
-{-# INLINE preEscapedLazyTextValue #-}
-
--- | Create an attribute value from a 'String'.
---
-stringValue :: String -> AttributeValue
-stringValue = AttributeValue . String
-{-# DEPRECATED stringValue "Use Blaze.Html.toValue" #-}
-{-# INLINE stringValue #-}
-
--- | Create an attribute value from a 'String' without escaping.
---
-preEscapedStringValue :: String -> AttributeValue
-preEscapedStringValue = AttributeValue . PreEscaped . String
-{-# INLINE preEscapedStringValue #-}
-
--- | Create an attribute value from a 'ByteString'. See 'unsafeByteString'
--- for reasons why this might not be a good idea.
---
-unsafeByteStringValue :: ByteString      -- ^ ByteString value
-                      -> AttributeValue  -- ^ Resulting attribute value
-unsafeByteStringValue = AttributeValue . ByteString
-{-# INLINE unsafeByteStringValue #-}
-
--- | Create an attribute value from a lazy 'BL.ByteString'. See
--- 'unsafeByteString' for reasons why this might not be a good idea.
---
-unsafeLazyByteStringValue :: BL.ByteString   -- ^ ByteString value
-                          -> AttributeValue  -- ^ Resulting attribute value
-unsafeLazyByteStringValue = mconcat . map unsafeByteStringValue . BL.toChunks
-{-# INLINE unsafeLazyByteStringValue #-}
-
--- | Used for applying attributes. You should not define your own instances of
--- this class.
-class Attributable h where
-    -- | Apply an attribute to an element.
-    --
-    -- Example:
-    --
-    -- > img ! src "foo.png"
-    --
-    -- Result:
-    --
-    -- > <img src="foo.png" />
-    --
-    -- This can be used on nested elements as well.
-    --
-    -- Example:
-    --
-    -- > p ! style "float: right" $ "Hello!"
-    --
-    -- Result:
-    --
-    -- > <p style="float: right">Hello!</p>
-    --
-    (!) :: h -> Attribute -> h
-
-instance Attributable (HtmlM a) where
-    h ! (Attribute f) = f h
-    {-# INLINE (!) #-}
-
-instance Attributable (HtmlM a -> HtmlM b) where
-    h ! f = (! f) . h
-    {-# INLINE (!) #-}
-
--- | Mark HTML as external data. External data can be:
---
--- * CSS data in a @<style>@ tag;
---
--- * Script data in a @<script>@ tag.
---
--- This function is applied automatically when using the @style@ or @script@
--- combinators.
---
-external :: HtmlM a -> HtmlM a
-external (Content x) = Content $ External x
-external (Append x y) = Append (external x) (external y)
-external (Parent x y z i) = Parent x y z $ external i
-external (AddAttribute x y z i) = AddAttribute x y z $ external i
-external (AddCustomAttribute x y z i) = AddCustomAttribute x y z $ external i
-external x = x
-{-# INLINE external #-}
diff --git a/Text/Blaze/Renderer/Pretty.hs b/Text/Blaze/Renderer/Pretty.hs
deleted file mode 100644
--- a/Text/Blaze/Renderer/Pretty.hs
+++ /dev/null
@@ -1,44 +0,0 @@
--- | A renderer that produces pretty HTML, mostly meant for debugging purposes.
---
-module Text.Blaze.Renderer.Pretty
-    ( renderHtml
-    ) where
-
-import Text.Blaze.Internal
-import Text.Blaze.Renderer.String (fromChoiceString)
-
--- | Render some 'Html' to an appending 'String'.
---
-renderString :: Html    -- ^ HTML to render
-             -> String  -- ^ String to append
-             -> String  -- ^ Resulting String
-renderString = go 0 id
-  where
-    go :: Int -> (String -> String) -> HtmlM b -> String -> String
-    go i attrs (Parent _ open close content) =
-        ind i . getString open . attrs . (">\n" ++) . go (inc i) id content
-              . ind i . getString close .  ('\n' :)
-    go i attrs (Leaf _ begin end) =
-        ind i . getString begin . attrs . getString end . ('\n' :)
-    go i attrs (AddAttribute _ key value h) = flip (go i) h $
-        getString key . fromChoiceString value . ('"' :) . attrs
-    go i attrs (AddCustomAttribute _ key value h) = flip (go i) h $
-        fromChoiceString key . fromChoiceString value . ('"' :) . attrs
-    go i _ (Content content) = ind i . fromChoiceString content . ('\n' :)
-    go i attrs (Append h1 h2) = go i attrs h1 . go i attrs h2
-    go _ _ Empty = id
-    {-# NOINLINE go #-}
-
-    -- Increase the indentation
-    inc = (+) 4
-
-    -- Produce appending indentation
-    ind i = (replicate i ' ' ++)
-{-# INLINE renderString #-}
-
--- | Render HTML to a lazy 'String'. The result is prettified.
---
-renderHtml :: Html    -- ^ HTML to render
-           -> String  -- ^ Resulting 'String'.
-renderHtml html = renderString html ""
-{-# INLINE renderHtml #-}
diff --git a/Text/Blaze/Renderer/String.hs b/Text/Blaze/Renderer/String.hs
deleted file mode 100644
--- a/Text/Blaze/Renderer/String.hs
+++ /dev/null
@@ -1,82 +0,0 @@
--- | A renderer that produces a native Haskell 'String', mostly meant for
--- debugging purposes.
---
-{-# LANGUAGE OverloadedStrings #-}
-module Text.Blaze.Renderer.String
-    ( fromChoiceString
-    , renderHtml
-    ) where
-
-import Data.List (isInfixOf)
-
-import qualified Data.ByteString.Char8 as SBC
-import qualified Data.Text as T
-import qualified Data.ByteString as S
-
-import Text.Blaze.Internal
-
--- | Escape HTML entities in a string
---
-escapeHtmlEntities :: String  -- ^ String to escape
-                   -> String  -- ^ String to append
-                   -> String  -- ^ Resulting string
-escapeHtmlEntities []     k = k
-escapeHtmlEntities (c:cs) k = case c of
-    '<'  -> '&' : 'l' : 't' : ';'             : escapeHtmlEntities cs k
-    '>'  -> '&' : 'g' : 't' : ';'             : escapeHtmlEntities cs k
-    '&'  -> '&' : 'a' : 'm' : 'p' : ';'       : escapeHtmlEntities cs k
-    '"'  -> '&' : 'q' : 'u' : 'o' : 't' : ';' : escapeHtmlEntities cs k
-    '\'' -> '&' : '#' : '3' : '9' : ';'       : escapeHtmlEntities cs k
-    x    -> x                                 : escapeHtmlEntities cs k
-
--- | Render a 'ChoiceString'.
---
-fromChoiceString :: ChoiceString  -- ^ String to render
-                 -> String        -- ^ String to append
-                 -> String        -- ^ Resulting string
-fromChoiceString (Static s)     = getString s
-fromChoiceString (String s)     = escapeHtmlEntities s
-fromChoiceString (Text s)       = escapeHtmlEntities $ T.unpack s
-fromChoiceString (ByteString s) = (SBC.unpack s ++)
-fromChoiceString (PreEscaped x) = case x of
-    String s -> (s ++)
-    Text   s -> (\k -> T.foldr (:) k s)
-    s        -> fromChoiceString s
-fromChoiceString (External x) = case x of
-    -- Check that the sequence "</" is *not* in the external data.
-    String s     -> if "</" `isInfixOf` s then id else (s ++)
-    Text   s     -> if "</" `T.isInfixOf` s then id else (\k -> T.foldr (:) k s)
-    ByteString s -> if "</" `S.isInfixOf` s then id else (SBC.unpack s ++)
-    s            -> fromChoiceString s
-fromChoiceString (AppendChoiceString x y) =
-    fromChoiceString x . fromChoiceString y
-fromChoiceString EmptyChoiceString = id
-{-# INLINE fromChoiceString #-}
-
--- | Render some 'Html' to an appending 'String'.
---
-renderString :: Html    -- ^ HTML to render
-             -> String  -- ^ String to append
-             -> String  -- ^ Resulting String
-renderString = go id 
-  where
-    go :: (String -> String) -> HtmlM b -> String -> String
-    go attrs (Parent _ open close content) =
-        getString open . attrs . ('>' :) . go id content . getString close
-    go attrs (Leaf _ begin end) = getString begin . attrs . getString end
-    go attrs (AddAttribute _ key value h) = flip go h $
-        getString key . fromChoiceString value . ('"' :) . attrs
-    go attrs (AddCustomAttribute _ key value h) = flip go h $
-        fromChoiceString key . fromChoiceString value . ('"' :) . attrs
-    go _ (Content content) = fromChoiceString content
-    go attrs (Append h1 h2) = go attrs h1 . go attrs h2
-    go _ Empty = id
-    {-# NOINLINE go #-}
-{-# INLINE renderString #-}
-
--- | Render HTML to a lazy 'String'.
---
-renderHtml :: Html    -- ^ HTML to render
-           -> String  -- ^ Resulting 'String'
-renderHtml html = renderString html ""
-{-# INLINE renderHtml #-}
diff --git a/Text/Blaze/Renderer/Text.hs b/Text/Blaze/Renderer/Text.hs
deleted file mode 100644
--- a/Text/Blaze/Renderer/Text.hs
+++ /dev/null
@@ -1,120 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
--- | A renderer that produces a lazy 'L.Text' value, using the Text Builder.
---
-module Text.Blaze.Renderer.Text
-    ( renderHtmlBuilder
-    , renderHtmlBuilderWith
-    , renderHtml
-    , renderHtmlWith
-    ) where
-
-import Data.Monoid (mappend, mempty)
-import Data.List (isInfixOf)
-
-import Data.Text (Text)
-import qualified Data.Text as T
-import Data.Text.Encoding (decodeUtf8)
-import qualified Data.Text.Lazy as L
-import Data.ByteString (ByteString)
-import qualified Data.ByteString as S (isInfixOf)
-
-import Text.Blaze.Internal
-import Data.Text.Lazy.Builder (Builder)
-import qualified Data.Text.Lazy.Builder as B
-
--- | Escape HTML entities in a text value
---
-escapeHtmlEntities :: Text     -- ^ Text to escape
-                   -> Builder  -- ^ Resulting text builder
-escapeHtmlEntities = T.foldr escape mempty
-  where
-    escape :: Char -> Builder -> Builder
-    escape '<'  b = B.fromText "&lt;"   `mappend` b
-    escape '>'  b = B.fromText "&gt;"   `mappend` b
-    escape '&'  b = B.fromText "&amp;"  `mappend` b
-    escape '"'  b = B.fromText "&quot;" `mappend` b
-    escape '\'' b = B.fromText "&#39;"  `mappend` b
-    escape x    b = B.singleton x       `mappend` b
-
--- | Render a 'ChoiceString'. TODO: Optimization possibility, apply static
--- argument transformation.
---
-fromChoiceString :: (ByteString -> Text)  -- ^ Decoder for bytestrings
-                 -> ChoiceString          -- ^ String to render
-                 -> Builder               -- ^ Resulting builder
-fromChoiceString _ (Static s)     = B.fromText $ getText s
-fromChoiceString _ (String s)     = escapeHtmlEntities $ T.pack s
-fromChoiceString _ (Text s)       = escapeHtmlEntities s
-fromChoiceString d (ByteString s) = B.fromText $ d s
-fromChoiceString d (PreEscaped x) = case x of
-    String s -> B.fromText $ T.pack s
-    Text   s -> B.fromText s
-    s        -> fromChoiceString d s
-fromChoiceString d (External x) = case x of
-    -- Check that the sequence "</" is *not* in the external data.
-    String s     -> if "</" `isInfixOf` s then mempty else B.fromText (T.pack s)
-    Text   s     -> if "</" `T.isInfixOf` s then mempty else B.fromText s
-    ByteString s -> if "</" `S.isInfixOf` s then mempty else B.fromText (d s)
-    s            -> fromChoiceString d s
-fromChoiceString d (AppendChoiceString x y) =
-    fromChoiceString d x `mappend` fromChoiceString d y
-fromChoiceString _ EmptyChoiceString = mempty
-{-# INLINE fromChoiceString #-}
-
--- | Render HTML to a text builder
-renderHtmlBuilder :: Html
-                  -> Builder
-renderHtmlBuilder = renderHtmlBuilderWith decodeUtf8
-{-# INLINE renderHtmlBuilder #-}
-
--- | Render some 'Html' to a Text 'Builder'.
---
-renderHtmlBuilderWith :: (ByteString -> Text)  -- ^ Decoder for bytestrings
-                      -> Html                  -- ^ HTML to render
-                      -> Builder               -- ^ Resulting builder
-renderHtmlBuilderWith d = go mempty
-  where
-    go :: Builder -> HtmlM b -> Builder
-    go attrs (Parent _ open close content) =
-        B.fromText (getText open)
-            `mappend` attrs
-            `mappend` B.singleton '>'
-            `mappend` go mempty content
-            `mappend` B.fromText (getText close)
-    go attrs (Leaf _ begin end) =
-        B.fromText (getText begin)
-            `mappend` attrs
-            `mappend` B.fromText (getText end)
-    go attrs (AddAttribute _ key value h) =
-        go (B.fromText (getText key)
-            `mappend` fromChoiceString d value
-            `mappend` B.singleton '"'
-            `mappend` attrs) h
-    go attrs (AddCustomAttribute _ key value h) =
-        go (fromChoiceString d key
-            `mappend` fromChoiceString d value
-            `mappend` B.singleton '"'
-            `mappend` attrs) h
-    go _ (Content content)  = fromChoiceString d content
-    go attrs (Append h1 h2) = go attrs h1 `mappend` go attrs h2
-    go _ Empty              = mempty
-    {-# NOINLINE go #-}
-{-# INLINE renderHtmlBuilderWith #-}
-
--- | Render HTML to a lazy Text value. If there are any ByteString's in the
--- input HTML, this function will consider them as UTF-8 encoded values and
--- decode them that way.
---
-renderHtml :: Html    -- ^ HTML to render
-           -> L.Text  -- ^ Resulting 'L.Text'
-renderHtml = renderHtmlWith decodeUtf8
-{-# INLINE renderHtml #-}
-
--- | Render HTML to a lazy Text value. This function allows you to specify what
--- should happen with ByteString's in the input HTML. You can decode them or
--- drop them, this depends on the application...
---
-renderHtmlWith :: (ByteString -> Text)  -- ^ Decoder for ByteString's.
-               -> Html                  -- ^ HTML to render
-               -> L.Text                -- Resulting lazy text
-renderHtmlWith d = B.toLazyText . renderHtmlBuilderWith d
diff --git a/Text/Blaze/Renderer/Utf8.hs b/Text/Blaze/Renderer/Utf8.hs
deleted file mode 100644
--- a/Text/Blaze/Renderer/Utf8.hs
+++ /dev/null
@@ -1,91 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-module Text.Blaze.Renderer.Utf8
-    ( renderHtmlBuilder
-    , renderHtml
-    , renderHtmlToByteStringIO
-    ) where
-
-import Data.Monoid (mappend, mempty)
-import Data.List (isInfixOf)
-
-import qualified Data.ByteString.Lazy as L
-import qualified Data.Text as T (isInfixOf)
-import qualified Data.ByteString as S (ByteString, isInfixOf)
-
-import Text.Blaze.Internal
-import Blaze.ByteString.Builder (Builder)
-import qualified Blaze.ByteString.Builder           as B
-import qualified Blaze.ByteString.Builder.Html.Utf8 as B
-
--- | Render a 'ChoiceString'.
---
-fromChoiceString :: ChoiceString  -- ^ String to render
-                 -> Builder       -- ^ Resulting builder
-fromChoiceString (Static s)     = B.copyByteString $ getUtf8ByteString s
-fromChoiceString (String s)     = B.fromHtmlEscapedString s
-fromChoiceString (Text s)       = B.fromHtmlEscapedText s
-fromChoiceString (ByteString s) = B.fromByteString s
-fromChoiceString (PreEscaped x) = case x of
-    String s -> B.fromString s
-    Text   s -> B.fromText s
-    s        -> fromChoiceString s
-fromChoiceString (External x) = case x of
-    -- Check that the sequence "</" is *not* in the external data.
-    String s     -> if "</" `isInfixOf` s then mempty else B.fromString s
-    Text   s     -> if "</" `T.isInfixOf` s then mempty else B.fromText s
-    ByteString s -> if "</" `S.isInfixOf` s then mempty else B.fromByteString s
-    s            -> fromChoiceString s
-fromChoiceString (AppendChoiceString x y) =
-    fromChoiceString x `mappend` fromChoiceString y
-fromChoiceString EmptyChoiceString = mempty
-{-# INLINE fromChoiceString #-}
-
--- | Render some 'Html' to a 'Builder'.
---
-renderHtmlBuilder :: Html     -- ^ HTML to render
-                  -> Builder  -- ^ Resulting builder
-renderHtmlBuilder = go mempty
-  where
-    go :: Builder -> HtmlM b -> Builder
-    go attrs (Parent _ open close content) =
-        B.copyByteString (getUtf8ByteString open)
-            `mappend` attrs
-            `mappend` B.fromChar '>'
-            `mappend` go mempty content
-            `mappend` B.copyByteString (getUtf8ByteString close)
-    go attrs (Leaf _ begin end) =
-        B.copyByteString (getUtf8ByteString begin)
-            `mappend` attrs
-            `mappend` B.copyByteString (getUtf8ByteString end)
-    go attrs (AddAttribute _ key value h) =
-        go (B.copyByteString (getUtf8ByteString key)
-            `mappend` fromChoiceString value
-            `mappend` B.fromChar '"'
-            `mappend` attrs) h
-    go attrs (AddCustomAttribute _ key value h) =
-        go (fromChoiceString key
-            `mappend` fromChoiceString value
-            `mappend` B.fromChar '"'
-            `mappend` attrs) h
-    go _ (Content content)  = fromChoiceString content
-    go attrs (Append h1 h2) = go attrs h1 `mappend` go attrs h2
-    go _ Empty              = mempty
-    {-# NOINLINE go #-}
-{-# INLINE renderHtmlBuilder #-}
-
--- | Render HTML to a lazy UTF-8 encoded 'L.ByteString.'
---
-renderHtml :: Html          -- ^ HTML to render
-           -> L.ByteString  -- ^ Resulting 'L.ByteString'
-renderHtml = B.toLazyByteString . renderHtmlBuilder
-{-# INLINE renderHtml #-}
-
--- | Repeatedly render HTML to a buffer and process this buffer using the given
--- IO action.
---
-renderHtmlToByteStringIO :: (S.ByteString -> IO ())
-                                          -- ^ IO action to execute per rendered buffer
-                         -> Html          -- ^ HTML to render
-                         -> IO ()         -- ^ Resulting IO action
-renderHtmlToByteStringIO io = B.toByteStringIO io . renderHtmlBuilder
-{-# INLINE renderHtmlToByteStringIO #-}
diff --git a/Text/Blaze/XHtml1/FrameSet.hs b/Text/Blaze/XHtml1/FrameSet.hs
deleted file mode 100644
--- a/Text/Blaze/XHtml1/FrameSet.hs
+++ /dev/null
@@ -1,1739 +0,0 @@
--- 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
deleted file mode 100644
--- a/Text/Blaze/XHtml1/FrameSet/Attributes.hs
+++ /dev/null
@@ -1,1992 +0,0 @@
--- 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
deleted file mode 100644
--- a/Text/Blaze/XHtml1/Strict.hs
+++ /dev/null
@@ -1,1494 +0,0 @@
--- 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
deleted file mode 100644
--- a/Text/Blaze/XHtml1/Strict/Attributes.hs
+++ /dev/null
@@ -1,1745 +0,0 @@
--- 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
deleted file mode 100644
--- a/Text/Blaze/XHtml1/Transitional.hs
+++ /dev/null
@@ -1,1702 +0,0 @@
--- 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
deleted file mode 100644
--- a/Text/Blaze/XHtml1/Transitional/Attributes.hs
+++ /dev/null
@@ -1,1954 +0,0 @@
--- 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
deleted file mode 100644
--- a/Util/GenerateHtmlCombinators.hs
+++ /dev/null
@@ -1,469 +0,0 @@
-{-# LANGUAGE CPP #-}
-
-#define DO_NOT_EDIT (doNotEdit __FILE__ __LINE__)
-
--- | Generates code for HTML tags.
---
-module Util.GenerateHtmlCombinators where
-
-import Control.Arrow ((&&&))
-import Data.List (sort, sortBy, intersperse, intercalate)
-import Data.Ord (comparing)
-import System.Directory (createDirectoryIfMissing)
-import System.FilePath ((</>), (<.>))
-import Data.Map (Map)
-import qualified Data.Map as M
-import Data.Char (toLower)
-import qualified Data.Set as S
-
-import Util.Sanitize (sanitize, prelude)
-
--- | Datatype for an HTML variant.
---
-data HtmlVariant = HtmlVariant
-    { version     :: [String]
-    , docType     :: [String]
-    , parents     :: [String]
-    , leafs       :: [String]
-    , attributes  :: [String]
-    , selfClosing :: Bool
-    } deriving (Eq)
-
-instance Show HtmlVariant where
-    show = map toLower . intercalate "-" . version
-
--- | Get the full module name for an HTML variant.
---
-getModuleName :: HtmlVariant -> String
-getModuleName = ("Text.Blaze." ++) . intercalate "." . version
-
--- | Get the attribute module name for an HTML variant.
---
-getAttributeModuleName :: HtmlVariant -> String
-getAttributeModuleName = (++ ".Attributes") . getModuleName
-
--- | Check if a given name causes a name clash.
---
-isNameClash :: HtmlVariant -> String -> Bool
-isNameClash v t
-    -- Both an element and an attribute
-    | (t `elem` parents v || t `elem` leafs v) && t `elem` attributes v = True
-    -- Already a prelude function
-    | sanitize t `S.member` prelude = True
-    | otherwise = False
-
--- | Write an HTML variant.
---
-writeHtmlVariant :: HtmlVariant -> IO ()
-writeHtmlVariant htmlVariant = do
-    -- Make a directory.
-    createDirectoryIfMissing True basePath
-
-    let tags =  zip parents' (repeat makeParent)
-             ++ zip leafs' (repeat (makeLeaf $ selfClosing htmlVariant))
-        sortedTags = sortBy (comparing fst) tags
-        appliedTags = map (\(x, f) -> f x) sortedTags
-
-    -- Write the main module.
-    writeFile' (basePath <.> "hs") $ removeTrailingNewlines $ unlines
-        [ DO_NOT_EDIT
-        , "{-# LANGUAGE OverloadedStrings #-}"
-        , "-- | This module exports HTML combinators used to create documents."
-        , "--"
-        , exportList modulName $ "module Text.Blaze"
-                                : "docType"
-                                : "docTypeHtml"
-                                : map (sanitize . fst) sortedTags
-        , DO_NOT_EDIT
-        , "import Prelude ((>>), (.))"
-        , ""
-        , "import Text.Blaze"
-        , "import Text.Blaze.Internal"
-        , ""
-        , makeDocType $ docType htmlVariant
-        , makeDocTypeHtml $ docType htmlVariant
-        , unlines appliedTags
-        ]
-
-    let sortedAttributes = sort attributes'
-
-    -- Write the attribute module.
-    writeFile' (basePath </> "Attributes.hs") $ removeTrailingNewlines $ unlines
-        [ DO_NOT_EDIT
-        , "-- | This module exports combinators that provide you with the"
-        , "-- ability to set attributes on HTML elements."
-        , "--"
-        , "{-# LANGUAGE OverloadedStrings #-}"
-        , exportList attributeModuleName $ map sanitize sortedAttributes
-        , DO_NOT_EDIT
-        , "import Prelude ()"
-        , ""
-        , "import Text.Blaze.Internal (Attribute, AttributeValue, attribute)"
-        , ""
-        , unlines (map makeAttribute sortedAttributes)
-        ]
-  where
-    basePath = "Text" </> "Blaze" </> foldl1 (</>) version'
-    modulName = getModuleName htmlVariant
-    attributeModuleName = getAttributeModuleName htmlVariant
-    attributes' = attributes htmlVariant
-    parents'    = parents htmlVariant
-    leafs'      = leafs htmlVariant
-    version'    = version htmlVariant
-    removeTrailingNewlines = reverse . drop 2 . reverse
-    writeFile' file content = do
-        putStrLn ("Generating " ++ file)
-        writeFile file content
-
--- | Create a string, consisting of @x@ spaces, where @x@ is the length of the
--- argument.
---
-spaces :: String -> String
-spaces = flip replicate ' ' . length
-
--- | Join blocks of code with a newline in between.
---
-unblocks :: [String] -> String
-unblocks = unlines . intersperse "\n"
-
--- | A warning to not edit the generated code.
---
-doNotEdit :: FilePath -> Int -> String
-doNotEdit fileName lineNumber = init $ unlines
-    [ "-- WARNING: The next block of code was automatically generated by"
-    , "-- " ++ fileName ++ ":" ++ show lineNumber
-    , "--"
-    ]
-
--- | Generate an export list for a Haskell module.
---
-exportList :: String   -- ^ Module name.
-           -> [String] -- ^ List of functions.
-           -> String   -- ^ Resulting string.
-exportList _    []            = error "exportList without functions."
-exportList name (f:functions) = unlines $
-    [ "module " ++ name
-    , "    ( " ++ f
-    ] ++
-    map ("    , " ++) functions ++
-    [ "    ) where"]
-
--- | Generate a function for a doctype.
---
-makeDocType :: [String] -> String
-makeDocType lines' = unlines
-    [ DO_NOT_EDIT
-    , "-- | Combinator for the document type. This should be placed at the top"
-    , "-- of every HTML page."
-    , "--"
-    , "-- Example:"
-    , "--"
-    , "-- > docType"
-    , "--"
-    , "-- Result:"
-    , "--"
-    , unlines (map ("-- > " ++) lines') ++ "--"
-    , "docType :: Html  -- ^ The document type HTML."
-    , "docType = preEscapedText " ++ show (unlines lines')
-    , "{-# INLINE docType #-}"
-    ]
-
--- | Generate a function for the HTML tag (including the doctype).
---
-makeDocTypeHtml :: [String]  -- ^ The doctype.
-                -> String    -- ^ Resulting combinator function.
-makeDocTypeHtml lines' = unlines
-    [ DO_NOT_EDIT
-    , "-- | Combinator for the @\\<html>@ element. This combinator will also"
-    , "-- insert the correct doctype."
-    , "--"
-    , "-- Example:"
-    , "--"
-    , "-- > docTypeHtml $ span $ text \"foo\""
-    , "--"
-    , "-- Result:"
-    , "--"
-    , unlines (map ("-- > " ++) lines') ++ "-- > <html><span>foo</span></html>"
-    , "--"
-    , "docTypeHtml :: Html  -- ^ Inner HTML."
-    , "            -> Html  -- ^ Resulting HTML."
-    , "docTypeHtml inner = docType >> html inner"
-    , "{-# INLINE docTypeHtml #-}"
-    ]
-
--- | Generate a function for an HTML tag that can be a parent.
---
-makeParent :: String -> String
-makeParent tag = unlines
-    [ DO_NOT_EDIT
-    , "-- | Combinator for the @\\<" ++ tag ++ ">@ element."
-    , "--"
-    , "-- Example:"
-    , "--"
-    , "-- > " ++ function ++ " $ span $ text \"foo\""
-    , "--"
-    , "-- Result:"
-    , "--"
-    , "-- > <" ++ tag ++ "><span>foo</span></" ++ tag ++ ">"
-    , "--"
-    , function        ++ " :: Html  -- ^ Inner HTML."
-    , spaces function ++ " -> Html  -- ^ Resulting HTML."
-    , function        ++ " = Parent \"" ++ tag ++ "\" \"<" ++ tag
-                      ++ "\" \"</" ++ tag ++ ">\"" ++ modifier
-    , "{-# INLINE " ++ function ++ " #-}"
-    ]
-  where
-    function = sanitize tag
-    modifier = if tag `elem` ["style", "script"] then " . external" else ""
-
--- | Generate a function for an HTML tag that must be a leaf.
---
-makeLeaf :: Bool    -- ^ Make leaf tags self-closing
-         -> String  -- ^ Tag for the combinator
-         -> String  -- ^ Combinator code
-makeLeaf selfClosing tag = unlines
-    [ DO_NOT_EDIT
-    , "-- | Combinator for the @\\<" ++ tag ++ " />@ element."
-    , "--"
-    , "-- Example:"
-    , "--"
-    , "-- > " ++ function
-    , "--"
-    , "-- Result:"
-    , "--"
-    , "-- > <" ++ tag ++ " />"
-    , "--"
-    , function ++ " :: Html  -- ^ Resulting HTML."
-    , function ++ " = Leaf \"" ++ tag ++ "\" \"<" ++ tag ++ "\" " ++ "\""
-               ++ (if selfClosing then " /" else "") ++ ">\""
-    , "{-# INLINE " ++ function ++ " #-}"
-    ]
-  where
-    function = sanitize tag
-
--- | Generate a function for an HTML attribute.
---
-makeAttribute :: String -> String
-makeAttribute name = unlines
-    [ DO_NOT_EDIT
-    , "-- | Combinator for the @" ++ name ++ "@ attribute."
-    , "--"
-    , "-- Example:"
-    , "--"
-    , "-- > div ! " ++ function ++ " \"bar\" $ \"Hello.\""
-    , "--"
-    , "-- Result:"
-    , "--"
-    , "-- > <div " ++ name ++ "=\"bar\">Hello.</div>"
-    , "--"
-    , function        ++ " :: AttributeValue  -- ^ Attribute value."
-    , spaces function ++ " -> Attribute       -- ^ Resulting attribute."
-    , function        ++ " = attribute \"" ++ name ++ "\" \" "
-                      ++ name ++ "=\\\"\""
-    , "{-# INLINE " ++ function ++ " #-}"
-    ]
-  where
-    function = sanitize name
-
--- | HTML 4.01 Strict.
--- A good reference can be found here: http://www.w3schools.com/tags/default.asp
---
-html4Strict :: HtmlVariant
-html4Strict = HtmlVariant
-    { version = ["Html4", "Strict"]
-    , docType =
-        [ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\""
-        , "    \"http://www.w3.org/TR/html4/strict.dtd\">"
-        ]
-    , parents =
-        [ "a", "abbr", "acronym", "address", "b", "bdo", "big", "blockquote"
-        , "body" , "button", "caption", "cite", "code", "colgroup", "dd", "del"
-        , "dfn", "div" , "dl", "dt", "em", "fieldset", "form", "h1", "h2", "h3"
-        , "h4", "h5", "h6", "head", "html", "i", "ins" , "kbd", "label"
-        , "legend", "li", "map", "noscript", "object", "ol", "optgroup"
-        , "option", "p", "pre", "q", "samp", "script", "select", "small"
-        , "span", "strong", "style", "sub", "sup", "table", "tbody", "td"
-        , "textarea", "tfoot", "th", "thead", "title", "tr", "tt", "ul", "var"
-        ]
-    , leafs =
-        [ "area", "br", "col", "hr", "link", "img", "input",  "meta", "param"
-        ]
-    , 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", "http-equiv", "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"
-        ]
-    , selfClosing = False
-    }
-
--- | HTML 4.0 Transitional
---
-html4Transitional :: HtmlVariant
-html4Transitional = HtmlVariant
-    { version = ["Html4", "Transitional"]
-    , docType =
-        [ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\""
-        , "    \"http://www.w3.org/TR/html4/loose.dtd\">"
-        ]
-    , parents = parents html4Strict ++
-        [ "applet", "center", "dir", "font", "iframe", "isindex", "menu"
-        , "noframes", "s", "u"
-        ]
-    , leafs = leafs html4Strict ++ ["basefont"]
-    , attributes = attributes html4Strict ++
-        [ "background", "bgcolor", "clear", "compact", "hspace", "language"
-        , "noshade", "nowrap", "start", "target", "vspace"
-        ]
-    , selfClosing = False
-    }
-
--- | HTML 4.0 FrameSet
---
-html4FrameSet :: HtmlVariant
-html4FrameSet = HtmlVariant
-    { version = ["Html4", "FrameSet"]
-    , docType =
-        [ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 FrameSet//EN\""
-        , "    \"http://www.w3.org/TR/html4/frameset.dtd\">"
-        ]
-    , parents = parents html4Transitional ++ ["frameset"]
-    , leafs = leafs html4Transitional ++ ["frame"]
-    , 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
---
-html5 :: HtmlVariant
-html5 = HtmlVariant
-    { version = ["Html5"]
-    , docType = ["<!DOCTYPE HTML>"]
-    , parents =
-        [ "a", "abbr", "address", "article", "aside", "audio", "b", "base"
-        , "bdo", "blockquote", "body", "button", "canvas", "caption", "cite"
-        , "code", "colgroup", "command", "datalist", "dd", "del", "details"
-        , "dfn", "div", "dl", "dt", "em", "fieldset", "figcaption", "figure"
-        , "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header"
-        , "hgroup", "html", "i", "iframe", "ins", "keygen", "kbd", "label"
-        , "legend", "li", "map", "mark", "menu", "meter", "nav", "noscript"
-        , "object", "ol", "optgroup", "option", "output", "p", "pre", "progress"
-        , "q", "rp", "rt", "ruby", "samp", "script", "section", "select"
-        , "small", "source", "span", "strong", "style", "sub", "summary", "sup"
-        , "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time"
-        , "title", "tr", "ul", "var", "video"
-        ]
-    , leafs =
-        [ "area", "br", "col", "embed", "hr", "img", "input", "meta", "link"
-        , "param"
-        ]
-    , attributes =
-        [ "accept", "accept-charset", "accesskey", "action", "alt", "async"
-        , "autocomplete", "autofocus", "autoplay", "challenge", "charset"
-        , "checked", "cite", "class", "cols", "colspan", "content"
-        , "contenteditable", "contextmenu", "controls", "coords", "data"
-        , "datetime", "defer", "dir", "disabled", "draggable", "enctype", "for"
-        , "form", "formaction", "formenctype", "formmethod", "formnovalidate"
-        , "formtarget", "headers", "height", "hidden", "high", "href"
-        , "hreflang", "http-equiv", "icon", "id", "ismap", "item", "itemprop"
-        , "keytype", "label", "lang", "list", "loop", "low", "manifest", "max"
-        , "maxlength", "media", "method", "min", "multiple", "name"
-        , "novalidate", "onbeforeonload", "onbeforeprint", "onblur", "oncanplay"
-        , "oncanplaythrough", "onchange", "oncontextmenu", "onclick"
-        , "ondblclick", "ondrag", "ondragend", "ondragenter", "ondragleave"
-        , "ondragover", "ondragstart", "ondrop", "ondurationchange", "onemptied"
-        , "onended", "onerror", "onfocus", "onformchange", "onforminput"
-        , "onhaschange", "oninput", "oninvalid", "onkeydown", "onkeyup"
-        , "onload", "onloadeddata", "onloadedmetadata", "onloadstart"
-        , "onmessage", "onmousedown", "onmousemove", "onmouseout", "onmouseover"
-        , "onmouseup", "onmousewheel", "ononline", "onpagehide", "onpageshow"
-        , "onpause", "onplay", "onplaying", "onprogress", "onpropstate"
-        , "onratechange", "onreadystatechange", "onredo", "onresize", "onscroll"
-        , "onseeked", "onseeking", "onselect", "onstalled", "onstorage"
-        , "onsubmit", "onsuspend", "ontimeupdate", "onundo", "onunload"
-        , "onvolumechange", "onwaiting", "open", "optimum", "pattern", "ping"
-        , "placeholder", "preload", "pubdate", "radiogroup", "readonly", "rel"
-        , "required", "reversed", "rows", "rowspan", "sandbox", "scope"
-        , "scoped", "seamless", "selected", "shape", "size", "sizes", "span"
-        , "spellcheck", "src", "srcdoc", "start", "step", "style", "subject"
-        , "summary", "tabindex", "target", "title", "type", "usemap", "value"
-        , "width", "wrap", "xmlns"
-        ]
-    , selfClosing = False
-    }
-
--- | A map of HTML variants, per version, lowercase.
---
-htmlVariants :: Map String HtmlVariant
-htmlVariants = M.fromList $ map (show &&& id)
-    [ html4Strict
-    , html4Transitional
-    , html4FrameSet
-    , xhtml1Strict
-    , xhtml1Transitional
-    , xhtml1FrameSet
-    , html5
-    ]
-
-main :: IO ()
-main = mapM_ (writeHtmlVariant . snd) $ M.toList htmlVariants
diff --git a/Util/Sanitize.hs b/Util/Sanitize.hs
deleted file mode 100644
--- a/Util/Sanitize.hs
+++ /dev/null
@@ -1,76 +0,0 @@
--- | A program to sanitize an HTML tag to a Haskell function.
---
-module Util.Sanitize
-    ( sanitize
-    , keywords
-    , prelude
-    ) where
-
-import Data.Char (toLower, toUpper)
-import Data.Set (Set)
-import qualified Data.Set as S
-
--- | Sanitize a tag. This function returns a name that can be used as
--- combinator in haskell source code.
---
--- Examples:
---
--- > sanitize "class" == "class_"
--- > sanitize "http-equiv" == "httpEquiv"
---
-sanitize :: String -> String
-sanitize = appendUnderscore . removeDash . map toLower
-  where
-    -- Remove a dash, replacing it by camelcase notation
-    --
-    -- Example:
-    --
-    -- > removeDash "foo-bar" == "fooBar"
-    --
-    removeDash ('-' : x : xs) = toUpper x : removeDash xs
-    removeDash (x : xs) = x : removeDash xs
-    removeDash [] = []
-
-    appendUnderscore t | t `S.member` keywords = t ++ "_"
-                       | otherwise             = t
-
--- | A set of standard Haskell keywords, which cannot be used as combinators.
---
-keywords :: Set String
-keywords = S.fromList
-    [ "case", "class", "data", "default", "deriving", "do", "else", "if"
-    , "import", "in", "infix", "infixl", "infixr", "instance" , "let", "module"
-    , "newtype", "of", "then", "type", "where"
-    ]
-
--- | Set of functions from the Prelude, which we do not use as combinators.
---
-prelude :: Set String
-prelude = S.fromList
-    [ "abs", "acos", "acosh", "all", "and", "any", "appendFile", "asTypeOf"
-    , "asin", "asinh", "atan", "atan2", "atanh", "break", "catch", "ceiling"
-    , "compare", "concat", "concatMap", "const", "cos", "cosh", "curry", "cycle"
-    , "decodeFloat", "div", "divMod", "drop", "dropWhile", "either", "elem"
-    , "encodeFloat", "enumFrom", "enumFromThen", "enumFromThenTo", "enumFromTo"
-    , "error", "even", "exp", "exponent", "fail", "filter", "flip"
-    , "floatDigits", "floatRadix", "floatRange", "floor", "fmap", "foldl"
-    , "foldl1", "foldr", "foldr1", "fromEnum", "fromInteger", "fromIntegral"
-    , "fromRational", "fst", "gcd", "getChar", "getContents", "getLine", "head"
-    , "id", "init", "interact", "ioError", "isDenormalized", "isIEEE"
-    , "isInfinite", "isNaN", "isNegativeZero", "iterate", "last", "lcm"
-    , "length", "lex", "lines", "log", "logBase", "lookup", "map", "mapM"
-    , "mapM_", "max", "maxBound", "maximum", "maybe", "min", "minBound"
-    , "minimum", "mod", "negate", "not", "notElem", "null", "odd", "or"
-    , "otherwise", "pi", "pred", "print", "product", "properFraction", "putChar"
-    , "putStr", "putStrLn", "quot", "quotRem", "read", "readFile", "readIO"
-    , "readList", "readLn", "readParen", "reads", "readsPrec", "realToFrac"
-    , "recip", "rem", "repeat", "replicate", "return", "reverse", "round"
-    , "scaleFloat", "scanl", "scanl1", "scanr", "scanr1", "seq", "sequence"
-    , "sequence_", "show", "showChar", "showList", "showParen", "showString"
-    , "shows", "showsPrec", "significand", "signum", "sin", "sinh", "snd"
-    , "span", "splitAt", "sqrt", "subtract", "succ", "sum", "tail", "take"
-    , "takeWhile", "tan", "tanh", "toEnum", "toInteger", "toRational"
-    , "truncate", "uncurry", "undefined", "unlines", "until", "unwords", "unzip"
-    , "unzip3", "userError", "words", "writeFile", "zip", "zip3", "zipWith"
-    , "zipWith3"
-    ]
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.3.1
+Version:      0.4.3.2
 Homepage:     http://jaspervdj.be/blaze
 Bug-Reports:  http://github.com/jaspervdj/blaze-html/issues
 License:      BSD3
@@ -15,19 +15,16 @@
   starting point, as well as this tutorial:
   <http://jaspervdj.be/blaze/tutorial.html>.
 
-Build-type:          Simple
-Cabal-version:       >=1.6
+Build-type:    Simple
+Cabal-version: >= 1.8
 
 Extra-source-files:  
-  Util/Sanitize.hs
-  Util/GenerateHtmlCombinators.hs
-
-Source-repository head
-  Type:              git
-  Location:          http://github.com/jaspervdj/blaze-html.git
+  src/Util/Sanitize.hs
+  src/Util/GenerateHtmlCombinators.hs
 
 Library
-  Ghc-Options:       -Wall
+  Hs-source-dirs: src
+  Ghc-Options:    -Wall
 
   Exposed-modules:
     Text.Blaze
@@ -52,7 +49,30 @@
     Text.Blaze.XHtml1.Transitional.Attributes
   
   Build-depends:
-    base          >= 4 && < 5,
-    blaze-builder >= 0.2 && < 0.4,
-    text          >= 0.10,
-    bytestring    >= 0.9
+    base          >= 4    && < 5,
+    blaze-builder >= 0.2  && < 0.4,
+    text          >= 0.10 && < 0.12,
+    bytestring    >= 0.9  && < 0.10
+
+Test-suite blaze-html-tests
+  Type:           exitcode-stdio-1.0
+  Hs-source-dirs: src tests
+  Main-is:        TestSuite.hs
+  Ghc-options:    -Wall
+
+  Build-depends:
+    HUnit                      >= 1.2 && < 1.3,
+    QuickCheck                 >= 2.4 && < 2.5,
+    containers                 >= 0.3 && < 0.5,
+    test-framework             >= 0.4 && < 0.7,
+    test-framework-hunit       >= 0.2 && < 0.3,
+    test-framework-quickcheck2 >= 0.2 && < 0.3,
+    -- Copied from regular dependencies...
+    base          >= 4    && < 5,
+    blaze-builder >= 0.2  && < 0.4,
+    text          >= 0.10 && < 0.12,
+    bytestring    >= 0.9  && < 0.10
+
+Source-repository head
+  Type:     git
+  Location: http://github.com/jaspervdj/blaze-html.git
diff --git a/src/Text/Blaze.hs b/src/Text/Blaze.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze.hs
@@ -0,0 +1,179 @@
+{-# LANGUAGE FlexibleInstances, TypeSynonymInstances #-}
+-- | BlazeHtml is an HTML combinator library. It provides a way to embed HTML in
+-- Haskell in an efficient and convenient way, with a light-weight syntax.
+--
+-- To use the library, one needs to import a set of HTML combinators. For
+-- example, you can use HTML 4 Strict.
+--
+-- > {-# LANGUAGE OverloadedStrings #-}
+-- > import Prelude hiding (head, id, div)
+-- > import Text.Blaze.Html4.Strict hiding (map)
+-- > import Text.Blaze.Html4.Strict.Attributes hiding (title)
+--
+-- To render the page later on, you need a so called Renderer. The recommended
+-- renderer is an UTF-8 renderer which produces a lazy bytestring.
+--
+-- > import Text.Blaze.Renderer.Utf8 (renderHtml)
+--
+-- Now, you can describe pages using the imported combinators.
+--
+-- > page1 :: Html
+-- > page1 = html $ do
+-- >     head $ do
+-- >         title "Introduction page."
+-- >         link ! rel "stylesheet" ! type_ "text/css" ! href "screen.css"
+-- >     body $ do
+-- >         div ! id "header" $ "Syntax"
+-- >         p "This is an example of BlazeHtml syntax."
+-- >         ul $ mapM_ (li . toHtml . show) [1, 2, 3]
+--
+-- The resulting HTML can now be extracted using:
+--
+-- > renderHtml page1
+--
+module Text.Blaze
+    (
+      -- * Important types.
+      Html
+    , Tag
+    , Attribute
+    , AttributeValue
+
+      -- * Creating attributes.
+    , dataAttribute
+    , customAttribute
+
+      -- * Converting values to HTML.
+    , ToHtml (..)
+    , text
+    , preEscapedText
+    , lazyText
+    , preEscapedLazyText
+    , string
+    , preEscapedString
+    , unsafeByteString
+    , unsafeLazyByteString
+
+      -- * Creating tags.
+    , textTag
+    , stringTag
+
+      -- * Converting values to attribute values.
+    , ToValue (..)
+    , textValue
+    , preEscapedTextValue
+    , lazyTextValue
+    , preEscapedLazyTextValue
+    , stringValue
+    , preEscapedStringValue
+    , unsafeByteStringValue
+    , unsafeLazyByteStringValue
+
+      -- * Setting attributes
+    , (!)
+    ) where
+
+import Data.Monoid (mconcat)
+
+import Data.Text (Text)
+import qualified Data.Text.Lazy as LT
+
+import Text.Blaze.Internal
+
+-- | Class allowing us to use a single function for HTML values
+--
+class ToHtml a where
+    -- | Convert a value to HTML.
+    --
+    toHtml :: a -> Html
+
+instance ToHtml Html where
+    toHtml = id
+    {-# INLINE toHtml #-}
+
+instance ToHtml [Html] where
+    toHtml = mconcat
+    {-# INLINE toHtml #-}
+
+instance ToHtml Text where
+    toHtml = text
+    {-# INLINE toHtml #-}
+
+instance ToHtml LT.Text where
+    toHtml = lazyText
+    {-# INLINE toHtml #-}
+
+instance ToHtml String where
+    toHtml = string
+    {-# INLINE toHtml #-}
+
+instance ToHtml Int where
+    toHtml = string . show
+    {-# INLINE toHtml #-}
+
+instance ToHtml Char where
+    toHtml = string . return
+    {-# INLINE toHtml #-}
+
+instance ToHtml Bool where
+    toHtml = string . show
+    {-# INLINE toHtml #-}
+
+instance ToHtml Integer where
+    toHtml = string . show
+    {-# INLINE toHtml #-}
+
+instance ToHtml Float where
+    toHtml = string . show
+    {-# INLINE toHtml #-}
+
+instance ToHtml Double where
+    toHtml = string . show
+    {-# INLINE toHtml #-}
+
+-- | Class allowing us to use a single function for attribute values
+--
+class ToValue a where
+    -- | Convert a value to an HTML attribute value
+    --
+    toValue :: a -> AttributeValue
+
+instance ToValue AttributeValue where
+    toValue = id
+    {-# INLINE toValue #-}
+
+instance ToValue Text where
+    toValue = textValue
+    {-# INLINE toValue #-}
+
+instance ToValue LT.Text where
+    toValue = lazyTextValue
+    {-# INLINE toValue #-}
+
+instance ToValue String where
+    toValue = stringValue
+    {-# INLINE toValue #-}
+
+instance ToValue Int where
+    toValue = stringValue . show
+    {-# INLINE toValue #-}
+
+instance ToValue Char where
+    toValue = stringValue . return
+    {-# INLINE toValue #-}
+
+instance ToValue Bool where
+    toValue = stringValue . show
+    {-# INLINE toValue #-}
+
+instance ToValue Integer where
+    toValue = stringValue . show
+    {-# INLINE toValue #-}
+
+instance ToValue Float where
+    toValue = stringValue . show
+    {-# INLINE toValue #-}
+
+instance ToValue Double where
+    toValue = stringValue . show
+    {-# INLINE toValue #-}
diff --git a/src/Text/Blaze/Html4/FrameSet.hs b/src/Text/Blaze/Html4/FrameSet.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/Html4/FrameSet.hs
@@ -0,0 +1,1739 @@
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:69
+--
+{-# LANGUAGE OverloadedStrings #-}
+-- | This module exports HTML combinators used to create documents.
+--
+module Text.Blaze.Html4.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
+-- src/Util/GenerateHtmlCombinators.hs:77
+--
+import Prelude ((>>), (.))
+
+import Text.Blaze
+import Text.Blaze.Internal
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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 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"
+{-# INLINE docType #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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 HTML 4.01 FrameSet//EN"
+-- >     "http://www.w3.org/TR/html4/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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/src/Text/Blaze/Html4/FrameSet/Attributes.hs b/src/Text/Blaze/Html4/FrameSet/Attributes.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/Html4/FrameSet/Attributes.hs
@@ -0,0 +1,1992 @@
+-- WARNING: The next block of code was automatically generated by
+-- src/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.Html4.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
+-- src/Util/GenerateHtmlCombinators.hs:98
+--
+import Prelude ()
+
+import Text.Blaze.Internal (Attribute, AttributeValue, attribute)
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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/src/Text/Blaze/Html4/Strict.hs b/src/Text/Blaze/Html4/Strict.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/Html4/Strict.hs
@@ -0,0 +1,1494 @@
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:69
+--
+{-# LANGUAGE OverloadedStrings #-}
+-- | This module exports HTML combinators used to create documents.
+--
+module Text.Blaze.Html4.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
+-- src/Util/GenerateHtmlCombinators.hs:77
+--
+import Prelude ((>>), (.))
+
+import Text.Blaze
+import Text.Blaze.Internal
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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 HTML 4.01//EN"
+-- >     "http://www.w3.org/TR/html4/strict.dtd">
+--
+docType :: Html  -- ^ The document type HTML.
+docType = preEscapedText "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\n    \"http://www.w3.org/TR/html4/strict.dtd\">\n"
+{-# INLINE docType #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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 HTML 4.01//EN"
+-- >     "http://www.w3.org/TR/html4/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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/src/Text/Blaze/Html4/Strict/Attributes.hs b/src/Text/Blaze/Html4/Strict/Attributes.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/Html4/Strict/Attributes.hs
@@ -0,0 +1,1745 @@
+-- WARNING: The next block of code was automatically generated by
+-- src/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.Html4.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
+-- src/Util/GenerateHtmlCombinators.hs:98
+--
+import Prelude ()
+
+import Text.Blaze.Internal (Attribute, AttributeValue, attribute)
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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/src/Text/Blaze/Html4/Transitional.hs b/src/Text/Blaze/Html4/Transitional.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/Html4/Transitional.hs
@@ -0,0 +1,1702 @@
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:69
+--
+{-# LANGUAGE OverloadedStrings #-}
+-- | This module exports HTML combinators used to create documents.
+--
+module Text.Blaze.Html4.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
+-- src/Util/GenerateHtmlCombinators.hs:77
+--
+import Prelude ((>>), (.))
+
+import Text.Blaze
+import Text.Blaze.Internal
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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 HTML 4.01 Transitional//EN"
+-- >     "http://www.w3.org/TR/html4/loose.dtd">
+--
+docType :: Html  -- ^ The document type HTML.
+docType = preEscapedText "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n    \"http://www.w3.org/TR/html4/loose.dtd\">\n"
+{-# INLINE docType #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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 HTML 4.01 Transitional//EN"
+-- >     "http://www.w3.org/TR/html4/loose.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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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/src/Text/Blaze/Html4/Transitional/Attributes.hs b/src/Text/Blaze/Html4/Transitional/Attributes.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/Html4/Transitional/Attributes.hs
@@ -0,0 +1,1954 @@
+-- WARNING: The next block of code was automatically generated by
+-- src/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.Html4.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
+-- src/Util/GenerateHtmlCombinators.hs:98
+--
+import Prelude ()
+
+import Text.Blaze.Internal (Attribute, AttributeValue, attribute)
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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/src/Text/Blaze/Html5.hs b/src/Text/Blaze/Html5.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/Html5.hs
@@ -0,0 +1,2004 @@
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:69
+--
+{-# LANGUAGE OverloadedStrings #-}
+-- | This module exports HTML combinators used to create documents.
+--
+module Text.Blaze.Html5
+    ( module Text.Blaze
+    , docType
+    , docTypeHtml
+    , a
+    , abbr
+    , address
+    , area
+    , article
+    , aside
+    , audio
+    , b
+    , base
+    , bdo
+    , blockquote
+    , body
+    , br
+    , button
+    , canvas
+    , caption
+    , cite
+    , code
+    , col
+    , colgroup
+    , command
+    , datalist
+    , dd
+    , del
+    , details
+    , dfn
+    , div
+    , dl
+    , dt
+    , em
+    , embed
+    , fieldset
+    , figcaption
+    , figure
+    , footer
+    , form
+    , h1
+    , h2
+    , h3
+    , h4
+    , h5
+    , h6
+    , head
+    , header
+    , hgroup
+    , hr
+    , html
+    , i
+    , iframe
+    , img
+    , input
+    , ins
+    , kbd
+    , keygen
+    , label
+    , legend
+    , li
+    , link
+    , map
+    , mark
+    , menu
+    , meta
+    , meter
+    , nav
+    , noscript
+    , object
+    , ol
+    , optgroup
+    , option
+    , output
+    , p
+    , param
+    , pre
+    , progress
+    , q
+    , rp
+    , rt
+    , ruby
+    , samp
+    , script
+    , section
+    , select
+    , small
+    , source
+    , span
+    , strong
+    , style
+    , sub
+    , summary
+    , sup
+    , table
+    , tbody
+    , td
+    , textarea
+    , tfoot
+    , th
+    , thead
+    , time
+    , title
+    , tr
+    , ul
+    , var
+    , video
+    ) where
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:77
+--
+import Prelude ((>>), (.))
+
+import Text.Blaze
+import Text.Blaze.Internal
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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>
+--
+docType :: Html  -- ^ The document type HTML.
+docType = preEscapedText "<!DOCTYPE HTML>\n"
+{-# INLINE docType #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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>
+-- > <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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<article>@ element.
+--
+-- Example:
+--
+-- > article $ span $ text "foo"
+--
+-- Result:
+--
+-- > <article><span>foo</span></article>
+--
+article :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+article = Parent "article" "<article" "</article>"
+{-# INLINE article #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<aside>@ element.
+--
+-- Example:
+--
+-- > aside $ span $ text "foo"
+--
+-- Result:
+--
+-- > <aside><span>foo</span></aside>
+--
+aside :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+aside = Parent "aside" "<aside" "</aside>"
+{-# INLINE aside #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<audio>@ element.
+--
+-- Example:
+--
+-- > audio $ span $ text "foo"
+--
+-- Result:
+--
+-- > <audio><span>foo</span></audio>
+--
+audio :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+audio = Parent "audio" "<audio" "</audio>"
+{-# INLINE audio #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<base>@ element.
+--
+-- Example:
+--
+-- > base $ span $ text "foo"
+--
+-- Result:
+--
+-- > <base><span>foo</span></base>
+--
+base :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+base = Parent "base" "<base" "</base>"
+{-# INLINE base #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<canvas>@ element.
+--
+-- Example:
+--
+-- > canvas $ span $ text "foo"
+--
+-- Result:
+--
+-- > <canvas><span>foo</span></canvas>
+--
+canvas :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+canvas = Parent "canvas" "<canvas" "</canvas>"
+{-# INLINE canvas #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<command>@ element.
+--
+-- Example:
+--
+-- > command $ span $ text "foo"
+--
+-- Result:
+--
+-- > <command><span>foo</span></command>
+--
+command :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+command = Parent "command" "<command" "</command>"
+{-# INLINE command #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<datalist>@ element.
+--
+-- Example:
+--
+-- > datalist $ span $ text "foo"
+--
+-- Result:
+--
+-- > <datalist><span>foo</span></datalist>
+--
+datalist :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+datalist = Parent "datalist" "<datalist" "</datalist>"
+{-# INLINE datalist #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<details>@ element.
+--
+-- Example:
+--
+-- > details $ span $ text "foo"
+--
+-- Result:
+--
+-- > <details><span>foo</span></details>
+--
+details :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+details = Parent "details" "<details" "</details>"
+{-# INLINE details #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:225
+--
+-- | Combinator for the @\<embed />@ element.
+--
+-- Example:
+--
+-- > embed
+--
+-- Result:
+--
+-- > <embed />
+--
+embed :: Html  -- ^ Resulting HTML.
+embed = Leaf "embed" "<embed" ">"
+{-# INLINE embed #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<figcaption>@ element.
+--
+-- Example:
+--
+-- > figcaption $ span $ text "foo"
+--
+-- Result:
+--
+-- > <figcaption><span>foo</span></figcaption>
+--
+figcaption :: Html  -- ^ Inner HTML.
+           -> Html  -- ^ Resulting HTML.
+figcaption = Parent "figcaption" "<figcaption" "</figcaption>"
+{-# INLINE figcaption #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<figure>@ element.
+--
+-- Example:
+--
+-- > figure $ span $ text "foo"
+--
+-- Result:
+--
+-- > <figure><span>foo</span></figure>
+--
+figure :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+figure = Parent "figure" "<figure" "</figure>"
+{-# INLINE figure #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<footer>@ element.
+--
+-- Example:
+--
+-- > footer $ span $ text "foo"
+--
+-- Result:
+--
+-- > <footer><span>foo</span></footer>
+--
+footer :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+footer = Parent "footer" "<footer" "</footer>"
+{-# INLINE footer #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<header>@ element.
+--
+-- Example:
+--
+-- > header $ span $ text "foo"
+--
+-- Result:
+--
+-- > <header><span>foo</span></header>
+--
+header :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+header = Parent "header" "<header" "</header>"
+{-# INLINE header #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<hgroup>@ element.
+--
+-- Example:
+--
+-- > hgroup $ span $ text "foo"
+--
+-- Result:
+--
+-- > <hgroup><span>foo</span></hgroup>
+--
+hgroup :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+hgroup = Parent "hgroup" "<hgroup" "</hgroup>"
+{-# INLINE hgroup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<keygen>@ element.
+--
+-- Example:
+--
+-- > keygen $ span $ text "foo"
+--
+-- Result:
+--
+-- > <keygen><span>foo</span></keygen>
+--
+keygen :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+keygen = Parent "keygen" "<keygen" "</keygen>"
+{-# INLINE keygen #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<mark>@ element.
+--
+-- Example:
+--
+-- > mark $ span $ text "foo"
+--
+-- Result:
+--
+-- > <mark><span>foo</span></mark>
+--
+mark :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+mark = Parent "mark" "<mark" "</mark>"
+{-# INLINE mark #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<meter>@ element.
+--
+-- Example:
+--
+-- > meter $ span $ text "foo"
+--
+-- Result:
+--
+-- > <meter><span>foo</span></meter>
+--
+meter :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+meter = Parent "meter" "<meter" "</meter>"
+{-# INLINE meter #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<nav>@ element.
+--
+-- Example:
+--
+-- > nav $ span $ text "foo"
+--
+-- Result:
+--
+-- > <nav><span>foo</span></nav>
+--
+nav :: Html  -- ^ Inner HTML.
+    -> Html  -- ^ Resulting HTML.
+nav = Parent "nav" "<nav" "</nav>"
+{-# INLINE nav #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<output>@ element.
+--
+-- Example:
+--
+-- > output $ span $ text "foo"
+--
+-- Result:
+--
+-- > <output><span>foo</span></output>
+--
+output :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+output = Parent "output" "<output" "</output>"
+{-# INLINE output #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<progress>@ element.
+--
+-- Example:
+--
+-- > progress $ span $ text "foo"
+--
+-- Result:
+--
+-- > <progress><span>foo</span></progress>
+--
+progress :: Html  -- ^ Inner HTML.
+         -> Html  -- ^ Resulting HTML.
+progress = Parent "progress" "<progress" "</progress>"
+{-# INLINE progress #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<rp>@ element.
+--
+-- Example:
+--
+-- > rp $ span $ text "foo"
+--
+-- Result:
+--
+-- > <rp><span>foo</span></rp>
+--
+rp :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+rp = Parent "rp" "<rp" "</rp>"
+{-# INLINE rp #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<rt>@ element.
+--
+-- Example:
+--
+-- > rt $ span $ text "foo"
+--
+-- Result:
+--
+-- > <rt><span>foo</span></rt>
+--
+rt :: Html  -- ^ Inner HTML.
+   -> Html  -- ^ Resulting HTML.
+rt = Parent "rt" "<rt" "</rt>"
+{-# INLINE rt #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<ruby>@ element.
+--
+-- Example:
+--
+-- > ruby $ span $ text "foo"
+--
+-- Result:
+--
+-- > <ruby><span>foo</span></ruby>
+--
+ruby :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+ruby = Parent "ruby" "<ruby" "</ruby>"
+{-# INLINE ruby #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<section>@ element.
+--
+-- Example:
+--
+-- > section $ span $ text "foo"
+--
+-- Result:
+--
+-- > <section><span>foo</span></section>
+--
+section :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+section = Parent "section" "<section" "</section>"
+{-# INLINE section #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<source>@ element.
+--
+-- Example:
+--
+-- > source $ span $ text "foo"
+--
+-- Result:
+--
+-- > <source><span>foo</span></source>
+--
+source :: Html  -- ^ Inner HTML.
+       -> Html  -- ^ Resulting HTML.
+source = Parent "source" "<source" "</source>"
+{-# INLINE source #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<summary>@ element.
+--
+-- Example:
+--
+-- > summary $ span $ text "foo"
+--
+-- Result:
+--
+-- > <summary><span>foo</span></summary>
+--
+summary :: Html  -- ^ Inner HTML.
+        -> Html  -- ^ Resulting HTML.
+summary = Parent "summary" "<summary" "</summary>"
+{-# INLINE summary #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<time>@ element.
+--
+-- Example:
+--
+-- > time $ span $ text "foo"
+--
+-- Result:
+--
+-- > <time><span>foo</span></time>
+--
+time :: Html  -- ^ Inner HTML.
+     -> Html  -- ^ Resulting HTML.
+time = Parent "time" "<time" "</time>"
+{-# INLINE time #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:198
+--
+-- | Combinator for the @\<video>@ element.
+--
+-- Example:
+--
+-- > video $ span $ text "foo"
+--
+-- Result:
+--
+-- > <video><span>foo</span></video>
+--
+video :: Html  -- ^ Inner HTML.
+      -> Html  -- ^ Resulting HTML.
+video = Parent "video" "<video" "</video>"
+{-# INLINE video #-}
diff --git a/src/Text/Blaze/Html5/Attributes.hs b/src/Text/Blaze/Html5/Attributes.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/Html5/Attributes.hs
@@ -0,0 +1,3170 @@
+-- WARNING: The next block of code was automatically generated by
+-- src/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.Html5.Attributes
+    ( accept
+    , acceptCharset
+    , accesskey
+    , action
+    , alt
+    , async
+    , autocomplete
+    , autofocus
+    , autoplay
+    , challenge
+    , charset
+    , checked
+    , cite
+    , class_
+    , cols
+    , colspan
+    , content
+    , contenteditable
+    , contextmenu
+    , controls
+    , coords
+    , data_
+    , datetime
+    , defer
+    , dir
+    , disabled
+    , draggable
+    , enctype
+    , for
+    , form
+    , formaction
+    , formenctype
+    , formmethod
+    , formnovalidate
+    , formtarget
+    , headers
+    , height
+    , hidden
+    , high
+    , href
+    , hreflang
+    , httpEquiv
+    , icon
+    , id
+    , ismap
+    , item
+    , itemprop
+    , keytype
+    , label
+    , lang
+    , list
+    , loop
+    , low
+    , manifest
+    , max
+    , maxlength
+    , media
+    , method
+    , min
+    , multiple
+    , name
+    , novalidate
+    , onbeforeonload
+    , onbeforeprint
+    , onblur
+    , oncanplay
+    , oncanplaythrough
+    , onchange
+    , onclick
+    , oncontextmenu
+    , ondblclick
+    , ondrag
+    , ondragend
+    , ondragenter
+    , ondragleave
+    , ondragover
+    , ondragstart
+    , ondrop
+    , ondurationchange
+    , onemptied
+    , onended
+    , onerror
+    , onfocus
+    , onformchange
+    , onforminput
+    , onhaschange
+    , oninput
+    , oninvalid
+    , onkeydown
+    , onkeyup
+    , onload
+    , onloadeddata
+    , onloadedmetadata
+    , onloadstart
+    , onmessage
+    , onmousedown
+    , onmousemove
+    , onmouseout
+    , onmouseover
+    , onmouseup
+    , onmousewheel
+    , ononline
+    , onpagehide
+    , onpageshow
+    , onpause
+    , onplay
+    , onplaying
+    , onprogress
+    , onpropstate
+    , onratechange
+    , onreadystatechange
+    , onredo
+    , onresize
+    , onscroll
+    , onseeked
+    , onseeking
+    , onselect
+    , onstalled
+    , onstorage
+    , onsubmit
+    , onsuspend
+    , ontimeupdate
+    , onundo
+    , onunload
+    , onvolumechange
+    , onwaiting
+    , open
+    , optimum
+    , pattern
+    , ping
+    , placeholder
+    , preload
+    , pubdate
+    , radiogroup
+    , readonly
+    , rel
+    , required
+    , reversed
+    , rows
+    , rowspan
+    , sandbox
+    , scope
+    , scoped
+    , seamless
+    , selected
+    , shape
+    , size
+    , sizes
+    , span
+    , spellcheck
+    , src
+    , srcdoc
+    , start
+    , step
+    , style
+    , subject
+    , summary
+    , tabindex
+    , target
+    , title
+    , type_
+    , usemap
+    , value
+    , width
+    , wrap
+    , xmlns
+    ) where
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:98
+--
+import Prelude ()
+
+import Text.Blaze.Internal (Attribute, AttributeValue, attribute)
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @accept-charset@ attribute.
+--
+-- Example:
+--
+-- > div ! acceptCharset "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div accept-charset="bar">Hello.</div>
+--
+acceptCharset :: AttributeValue  -- ^ Attribute value.
+              -> Attribute       -- ^ Resulting attribute.
+acceptCharset = attribute "accept-charset" " accept-charset=\""
+{-# INLINE acceptCharset #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @async@ attribute.
+--
+-- Example:
+--
+-- > div ! async "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div async="bar">Hello.</div>
+--
+async :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+async = attribute "async" " async=\""
+{-# INLINE async #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @autocomplete@ attribute.
+--
+-- Example:
+--
+-- > div ! autocomplete "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div autocomplete="bar">Hello.</div>
+--
+autocomplete :: AttributeValue  -- ^ Attribute value.
+             -> Attribute       -- ^ Resulting attribute.
+autocomplete = attribute "autocomplete" " autocomplete=\""
+{-# INLINE autocomplete #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @autofocus@ attribute.
+--
+-- Example:
+--
+-- > div ! autofocus "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div autofocus="bar">Hello.</div>
+--
+autofocus :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+autofocus = attribute "autofocus" " autofocus=\""
+{-# INLINE autofocus #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @autoplay@ attribute.
+--
+-- Example:
+--
+-- > div ! autoplay "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div autoplay="bar">Hello.</div>
+--
+autoplay :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+autoplay = attribute "autoplay" " autoplay=\""
+{-# INLINE autoplay #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @challenge@ attribute.
+--
+-- Example:
+--
+-- > div ! challenge "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div challenge="bar">Hello.</div>
+--
+challenge :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+challenge = attribute "challenge" " challenge=\""
+{-# INLINE challenge #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @contenteditable@ attribute.
+--
+-- Example:
+--
+-- > div ! contenteditable "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div contenteditable="bar">Hello.</div>
+--
+contenteditable :: AttributeValue  -- ^ Attribute value.
+                -> Attribute       -- ^ Resulting attribute.
+contenteditable = attribute "contenteditable" " contenteditable=\""
+{-# INLINE contenteditable #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @contextmenu@ attribute.
+--
+-- Example:
+--
+-- > div ! contextmenu "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div contextmenu="bar">Hello.</div>
+--
+contextmenu :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+contextmenu = attribute "contextmenu" " contextmenu=\""
+{-# INLINE contextmenu #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @controls@ attribute.
+--
+-- Example:
+--
+-- > div ! controls "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div controls="bar">Hello.</div>
+--
+controls :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+controls = attribute "controls" " controls=\""
+{-# INLINE controls #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @draggable@ attribute.
+--
+-- Example:
+--
+-- > div ! draggable "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div draggable="bar">Hello.</div>
+--
+draggable :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+draggable = attribute "draggable" " draggable=\""
+{-# INLINE draggable #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @form@ attribute.
+--
+-- Example:
+--
+-- > div ! form "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div form="bar">Hello.</div>
+--
+form :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+form = attribute "form" " form=\""
+{-# INLINE form #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @formaction@ attribute.
+--
+-- Example:
+--
+-- > div ! formaction "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div formaction="bar">Hello.</div>
+--
+formaction :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+formaction = attribute "formaction" " formaction=\""
+{-# INLINE formaction #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @formenctype@ attribute.
+--
+-- Example:
+--
+-- > div ! formenctype "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div formenctype="bar">Hello.</div>
+--
+formenctype :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+formenctype = attribute "formenctype" " formenctype=\""
+{-# INLINE formenctype #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @formmethod@ attribute.
+--
+-- Example:
+--
+-- > div ! formmethod "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div formmethod="bar">Hello.</div>
+--
+formmethod :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+formmethod = attribute "formmethod" " formmethod=\""
+{-# INLINE formmethod #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @formnovalidate@ attribute.
+--
+-- Example:
+--
+-- > div ! formnovalidate "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div formnovalidate="bar">Hello.</div>
+--
+formnovalidate :: AttributeValue  -- ^ Attribute value.
+               -> Attribute       -- ^ Resulting attribute.
+formnovalidate = attribute "formnovalidate" " formnovalidate=\""
+{-# INLINE formnovalidate #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @formtarget@ attribute.
+--
+-- Example:
+--
+-- > div ! formtarget "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div formtarget="bar">Hello.</div>
+--
+formtarget :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+formtarget = attribute "formtarget" " formtarget=\""
+{-# INLINE formtarget #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @hidden@ attribute.
+--
+-- Example:
+--
+-- > div ! hidden "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div hidden="bar">Hello.</div>
+--
+hidden :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+hidden = attribute "hidden" " hidden=\""
+{-# INLINE hidden #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @high@ attribute.
+--
+-- Example:
+--
+-- > div ! high "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div high="bar">Hello.</div>
+--
+high :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+high = attribute "high" " high=\""
+{-# INLINE high #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @icon@ attribute.
+--
+-- Example:
+--
+-- > div ! icon "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div icon="bar">Hello.</div>
+--
+icon :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+icon = attribute "icon" " icon=\""
+{-# INLINE icon #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ismap@ attribute.
+--
+-- Example:
+--
+-- > div ! ismap "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ismap="bar">Hello.</div>
+--
+ismap :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+ismap = attribute "ismap" " ismap=\""
+{-# INLINE ismap #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @item@ attribute.
+--
+-- Example:
+--
+-- > div ! item "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div item="bar">Hello.</div>
+--
+item :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+item = attribute "item" " item=\""
+{-# INLINE item #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @itemprop@ attribute.
+--
+-- Example:
+--
+-- > div ! itemprop "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div itemprop="bar">Hello.</div>
+--
+itemprop :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+itemprop = attribute "itemprop" " itemprop=\""
+{-# INLINE itemprop #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @keytype@ attribute.
+--
+-- Example:
+--
+-- > div ! keytype "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div keytype="bar">Hello.</div>
+--
+keytype :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+keytype = attribute "keytype" " keytype=\""
+{-# INLINE keytype #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @list@ attribute.
+--
+-- Example:
+--
+-- > div ! list "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div list="bar">Hello.</div>
+--
+list :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+list = attribute "list" " list=\""
+{-# INLINE list #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @loop@ attribute.
+--
+-- Example:
+--
+-- > div ! loop "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div loop="bar">Hello.</div>
+--
+loop :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+loop = attribute "loop" " loop=\""
+{-# INLINE loop #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @low@ attribute.
+--
+-- Example:
+--
+-- > div ! low "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div low="bar">Hello.</div>
+--
+low :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+low = attribute "low" " low=\""
+{-# INLINE low #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @manifest@ attribute.
+--
+-- Example:
+--
+-- > div ! manifest "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div manifest="bar">Hello.</div>
+--
+manifest :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+manifest = attribute "manifest" " manifest=\""
+{-# INLINE manifest #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @max@ attribute.
+--
+-- Example:
+--
+-- > div ! max "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div max="bar">Hello.</div>
+--
+max :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+max = attribute "max" " max=\""
+{-# INLINE max #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @min@ attribute.
+--
+-- Example:
+--
+-- > div ! min "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div min="bar">Hello.</div>
+--
+min :: AttributeValue  -- ^ Attribute value.
+    -> Attribute       -- ^ Resulting attribute.
+min = attribute "min" " min=\""
+{-# INLINE min #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @novalidate@ attribute.
+--
+-- Example:
+--
+-- > div ! novalidate "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div novalidate="bar">Hello.</div>
+--
+novalidate :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+novalidate = attribute "novalidate" " novalidate=\""
+{-# INLINE novalidate #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onbeforeonload@ attribute.
+--
+-- Example:
+--
+-- > div ! onbeforeonload "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onbeforeonload="bar">Hello.</div>
+--
+onbeforeonload :: AttributeValue  -- ^ Attribute value.
+               -> Attribute       -- ^ Resulting attribute.
+onbeforeonload = attribute "onbeforeonload" " onbeforeonload=\""
+{-# INLINE onbeforeonload #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onbeforeprint@ attribute.
+--
+-- Example:
+--
+-- > div ! onbeforeprint "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onbeforeprint="bar">Hello.</div>
+--
+onbeforeprint :: AttributeValue  -- ^ Attribute value.
+              -> Attribute       -- ^ Resulting attribute.
+onbeforeprint = attribute "onbeforeprint" " onbeforeprint=\""
+{-# INLINE onbeforeprint #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @oncanplay@ attribute.
+--
+-- Example:
+--
+-- > div ! oncanplay "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div oncanplay="bar">Hello.</div>
+--
+oncanplay :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+oncanplay = attribute "oncanplay" " oncanplay=\""
+{-# INLINE oncanplay #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @oncanplaythrough@ attribute.
+--
+-- Example:
+--
+-- > div ! oncanplaythrough "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div oncanplaythrough="bar">Hello.</div>
+--
+oncanplaythrough :: AttributeValue  -- ^ Attribute value.
+                 -> Attribute       -- ^ Resulting attribute.
+oncanplaythrough = attribute "oncanplaythrough" " oncanplaythrough=\""
+{-# INLINE oncanplaythrough #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @oncontextmenu@ attribute.
+--
+-- Example:
+--
+-- > div ! oncontextmenu "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div oncontextmenu="bar">Hello.</div>
+--
+oncontextmenu :: AttributeValue  -- ^ Attribute value.
+              -> Attribute       -- ^ Resulting attribute.
+oncontextmenu = attribute "oncontextmenu" " oncontextmenu=\""
+{-# INLINE oncontextmenu #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ondrag@ attribute.
+--
+-- Example:
+--
+-- > div ! ondrag "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ondrag="bar">Hello.</div>
+--
+ondrag :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+ondrag = attribute "ondrag" " ondrag=\""
+{-# INLINE ondrag #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ondragend@ attribute.
+--
+-- Example:
+--
+-- > div ! ondragend "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ondragend="bar">Hello.</div>
+--
+ondragend :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+ondragend = attribute "ondragend" " ondragend=\""
+{-# INLINE ondragend #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ondragenter@ attribute.
+--
+-- Example:
+--
+-- > div ! ondragenter "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ondragenter="bar">Hello.</div>
+--
+ondragenter :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+ondragenter = attribute "ondragenter" " ondragenter=\""
+{-# INLINE ondragenter #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ondragleave@ attribute.
+--
+-- Example:
+--
+-- > div ! ondragleave "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ondragleave="bar">Hello.</div>
+--
+ondragleave :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+ondragleave = attribute "ondragleave" " ondragleave=\""
+{-# INLINE ondragleave #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ondragover@ attribute.
+--
+-- Example:
+--
+-- > div ! ondragover "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ondragover="bar">Hello.</div>
+--
+ondragover :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+ondragover = attribute "ondragover" " ondragover=\""
+{-# INLINE ondragover #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ondragstart@ attribute.
+--
+-- Example:
+--
+-- > div ! ondragstart "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ondragstart="bar">Hello.</div>
+--
+ondragstart :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+ondragstart = attribute "ondragstart" " ondragstart=\""
+{-# INLINE ondragstart #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ondrop@ attribute.
+--
+-- Example:
+--
+-- > div ! ondrop "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ondrop="bar">Hello.</div>
+--
+ondrop :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+ondrop = attribute "ondrop" " ondrop=\""
+{-# INLINE ondrop #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ondurationchange@ attribute.
+--
+-- Example:
+--
+-- > div ! ondurationchange "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ondurationchange="bar">Hello.</div>
+--
+ondurationchange :: AttributeValue  -- ^ Attribute value.
+                 -> Attribute       -- ^ Resulting attribute.
+ondurationchange = attribute "ondurationchange" " ondurationchange=\""
+{-# INLINE ondurationchange #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onemptied@ attribute.
+--
+-- Example:
+--
+-- > div ! onemptied "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onemptied="bar">Hello.</div>
+--
+onemptied :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+onemptied = attribute "onemptied" " onemptied=\""
+{-# INLINE onemptied #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onended@ attribute.
+--
+-- Example:
+--
+-- > div ! onended "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onended="bar">Hello.</div>
+--
+onended :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onended = attribute "onended" " onended=\""
+{-# INLINE onended #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onerror@ attribute.
+--
+-- Example:
+--
+-- > div ! onerror "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onerror="bar">Hello.</div>
+--
+onerror :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onerror = attribute "onerror" " onerror=\""
+{-# INLINE onerror #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onformchange@ attribute.
+--
+-- Example:
+--
+-- > div ! onformchange "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onformchange="bar">Hello.</div>
+--
+onformchange :: AttributeValue  -- ^ Attribute value.
+             -> Attribute       -- ^ Resulting attribute.
+onformchange = attribute "onformchange" " onformchange=\""
+{-# INLINE onformchange #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onforminput@ attribute.
+--
+-- Example:
+--
+-- > div ! onforminput "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onforminput="bar">Hello.</div>
+--
+onforminput :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+onforminput = attribute "onforminput" " onforminput=\""
+{-# INLINE onforminput #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onhaschange@ attribute.
+--
+-- Example:
+--
+-- > div ! onhaschange "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onhaschange="bar">Hello.</div>
+--
+onhaschange :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+onhaschange = attribute "onhaschange" " onhaschange=\""
+{-# INLINE onhaschange #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @oninput@ attribute.
+--
+-- Example:
+--
+-- > div ! oninput "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div oninput="bar">Hello.</div>
+--
+oninput :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+oninput = attribute "oninput" " oninput=\""
+{-# INLINE oninput #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @oninvalid@ attribute.
+--
+-- Example:
+--
+-- > div ! oninvalid "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div oninvalid="bar">Hello.</div>
+--
+oninvalid :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+oninvalid = attribute "oninvalid" " oninvalid=\""
+{-# INLINE oninvalid #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onloadeddata@ attribute.
+--
+-- Example:
+--
+-- > div ! onloadeddata "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onloadeddata="bar">Hello.</div>
+--
+onloadeddata :: AttributeValue  -- ^ Attribute value.
+             -> Attribute       -- ^ Resulting attribute.
+onloadeddata = attribute "onloadeddata" " onloadeddata=\""
+{-# INLINE onloadeddata #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onloadedmetadata@ attribute.
+--
+-- Example:
+--
+-- > div ! onloadedmetadata "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onloadedmetadata="bar">Hello.</div>
+--
+onloadedmetadata :: AttributeValue  -- ^ Attribute value.
+                 -> Attribute       -- ^ Resulting attribute.
+onloadedmetadata = attribute "onloadedmetadata" " onloadedmetadata=\""
+{-# INLINE onloadedmetadata #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onloadstart@ attribute.
+--
+-- Example:
+--
+-- > div ! onloadstart "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onloadstart="bar">Hello.</div>
+--
+onloadstart :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+onloadstart = attribute "onloadstart" " onloadstart=\""
+{-# INLINE onloadstart #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmessage@ attribute.
+--
+-- Example:
+--
+-- > div ! onmessage "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmessage="bar">Hello.</div>
+--
+onmessage :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+onmessage = attribute "onmessage" " onmessage=\""
+{-# INLINE onmessage #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onmousewheel@ attribute.
+--
+-- Example:
+--
+-- > div ! onmousewheel "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onmousewheel="bar">Hello.</div>
+--
+onmousewheel :: AttributeValue  -- ^ Attribute value.
+             -> Attribute       -- ^ Resulting attribute.
+onmousewheel = attribute "onmousewheel" " onmousewheel=\""
+{-# INLINE onmousewheel #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ononline@ attribute.
+--
+-- Example:
+--
+-- > div ! ononline "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ononline="bar">Hello.</div>
+--
+ononline :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+ononline = attribute "ononline" " ononline=\""
+{-# INLINE ononline #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onpagehide@ attribute.
+--
+-- Example:
+--
+-- > div ! onpagehide "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onpagehide="bar">Hello.</div>
+--
+onpagehide :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+onpagehide = attribute "onpagehide" " onpagehide=\""
+{-# INLINE onpagehide #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onpageshow@ attribute.
+--
+-- Example:
+--
+-- > div ! onpageshow "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onpageshow="bar">Hello.</div>
+--
+onpageshow :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+onpageshow = attribute "onpageshow" " onpageshow=\""
+{-# INLINE onpageshow #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onpause@ attribute.
+--
+-- Example:
+--
+-- > div ! onpause "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onpause="bar">Hello.</div>
+--
+onpause :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+onpause = attribute "onpause" " onpause=\""
+{-# INLINE onpause #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onplay@ attribute.
+--
+-- Example:
+--
+-- > div ! onplay "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onplay="bar">Hello.</div>
+--
+onplay :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+onplay = attribute "onplay" " onplay=\""
+{-# INLINE onplay #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onplaying@ attribute.
+--
+-- Example:
+--
+-- > div ! onplaying "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onplaying="bar">Hello.</div>
+--
+onplaying :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+onplaying = attribute "onplaying" " onplaying=\""
+{-# INLINE onplaying #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onprogress@ attribute.
+--
+-- Example:
+--
+-- > div ! onprogress "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onprogress="bar">Hello.</div>
+--
+onprogress :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+onprogress = attribute "onprogress" " onprogress=\""
+{-# INLINE onprogress #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onpropstate@ attribute.
+--
+-- Example:
+--
+-- > div ! onpropstate "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onpropstate="bar">Hello.</div>
+--
+onpropstate :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+onpropstate = attribute "onpropstate" " onpropstate=\""
+{-# INLINE onpropstate #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onratechange@ attribute.
+--
+-- Example:
+--
+-- > div ! onratechange "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onratechange="bar">Hello.</div>
+--
+onratechange :: AttributeValue  -- ^ Attribute value.
+             -> Attribute       -- ^ Resulting attribute.
+onratechange = attribute "onratechange" " onratechange=\""
+{-# INLINE onratechange #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onreadystatechange@ attribute.
+--
+-- Example:
+--
+-- > div ! onreadystatechange "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onreadystatechange="bar">Hello.</div>
+--
+onreadystatechange :: AttributeValue  -- ^ Attribute value.
+                   -> Attribute       -- ^ Resulting attribute.
+onreadystatechange = attribute "onreadystatechange" " onreadystatechange=\""
+{-# INLINE onreadystatechange #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onredo@ attribute.
+--
+-- Example:
+--
+-- > div ! onredo "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onredo="bar">Hello.</div>
+--
+onredo :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+onredo = attribute "onredo" " onredo=\""
+{-# INLINE onredo #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onresize@ attribute.
+--
+-- Example:
+--
+-- > div ! onresize "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onresize="bar">Hello.</div>
+--
+onresize :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onresize = attribute "onresize" " onresize=\""
+{-# INLINE onresize #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onscroll@ attribute.
+--
+-- Example:
+--
+-- > div ! onscroll "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onscroll="bar">Hello.</div>
+--
+onscroll :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onscroll = attribute "onscroll" " onscroll=\""
+{-# INLINE onscroll #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onseeked@ attribute.
+--
+-- Example:
+--
+-- > div ! onseeked "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onseeked="bar">Hello.</div>
+--
+onseeked :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+onseeked = attribute "onseeked" " onseeked=\""
+{-# INLINE onseeked #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onseeking@ attribute.
+--
+-- Example:
+--
+-- > div ! onseeking "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onseeking="bar">Hello.</div>
+--
+onseeking :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+onseeking = attribute "onseeking" " onseeking=\""
+{-# INLINE onseeking #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onstalled@ attribute.
+--
+-- Example:
+--
+-- > div ! onstalled "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onstalled="bar">Hello.</div>
+--
+onstalled :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+onstalled = attribute "onstalled" " onstalled=\""
+{-# INLINE onstalled #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onstorage@ attribute.
+--
+-- Example:
+--
+-- > div ! onstorage "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onstorage="bar">Hello.</div>
+--
+onstorage :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+onstorage = attribute "onstorage" " onstorage=\""
+{-# INLINE onstorage #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onsuspend@ attribute.
+--
+-- Example:
+--
+-- > div ! onsuspend "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onsuspend="bar">Hello.</div>
+--
+onsuspend :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+onsuspend = attribute "onsuspend" " onsuspend=\""
+{-# INLINE onsuspend #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ontimeupdate@ attribute.
+--
+-- Example:
+--
+-- > div ! ontimeupdate "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ontimeupdate="bar">Hello.</div>
+--
+ontimeupdate :: AttributeValue  -- ^ Attribute value.
+             -> Attribute       -- ^ Resulting attribute.
+ontimeupdate = attribute "ontimeupdate" " ontimeupdate=\""
+{-# INLINE ontimeupdate #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onundo@ attribute.
+--
+-- Example:
+--
+-- > div ! onundo "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onundo="bar">Hello.</div>
+--
+onundo :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+onundo = attribute "onundo" " onundo=\""
+{-# INLINE onundo #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onvolumechange@ attribute.
+--
+-- Example:
+--
+-- > div ! onvolumechange "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onvolumechange="bar">Hello.</div>
+--
+onvolumechange :: AttributeValue  -- ^ Attribute value.
+               -> Attribute       -- ^ Resulting attribute.
+onvolumechange = attribute "onvolumechange" " onvolumechange=\""
+{-# INLINE onvolumechange #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @onwaiting@ attribute.
+--
+-- Example:
+--
+-- > div ! onwaiting "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div onwaiting="bar">Hello.</div>
+--
+onwaiting :: AttributeValue  -- ^ Attribute value.
+          -> Attribute       -- ^ Resulting attribute.
+onwaiting = attribute "onwaiting" " onwaiting=\""
+{-# INLINE onwaiting #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @open@ attribute.
+--
+-- Example:
+--
+-- > div ! open "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div open="bar">Hello.</div>
+--
+open :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+open = attribute "open" " open=\""
+{-# INLINE open #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @optimum@ attribute.
+--
+-- Example:
+--
+-- > div ! optimum "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div optimum="bar">Hello.</div>
+--
+optimum :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+optimum = attribute "optimum" " optimum=\""
+{-# INLINE optimum #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @pattern@ attribute.
+--
+-- Example:
+--
+-- > div ! pattern "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div pattern="bar">Hello.</div>
+--
+pattern :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+pattern = attribute "pattern" " pattern=\""
+{-# INLINE pattern #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @ping@ attribute.
+--
+-- Example:
+--
+-- > div ! ping "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div ping="bar">Hello.</div>
+--
+ping :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+ping = attribute "ping" " ping=\""
+{-# INLINE ping #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @placeholder@ attribute.
+--
+-- Example:
+--
+-- > div ! placeholder "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div placeholder="bar">Hello.</div>
+--
+placeholder :: AttributeValue  -- ^ Attribute value.
+            -> Attribute       -- ^ Resulting attribute.
+placeholder = attribute "placeholder" " placeholder=\""
+{-# INLINE placeholder #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @preload@ attribute.
+--
+-- Example:
+--
+-- > div ! preload "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div preload="bar">Hello.</div>
+--
+preload :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+preload = attribute "preload" " preload=\""
+{-# INLINE preload #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @pubdate@ attribute.
+--
+-- Example:
+--
+-- > div ! pubdate "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div pubdate="bar">Hello.</div>
+--
+pubdate :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+pubdate = attribute "pubdate" " pubdate=\""
+{-# INLINE pubdate #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @radiogroup@ attribute.
+--
+-- Example:
+--
+-- > div ! radiogroup "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div radiogroup="bar">Hello.</div>
+--
+radiogroup :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+radiogroup = attribute "radiogroup" " radiogroup=\""
+{-# INLINE radiogroup #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @required@ attribute.
+--
+-- Example:
+--
+-- > div ! required "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div required="bar">Hello.</div>
+--
+required :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+required = attribute "required" " required=\""
+{-# INLINE required #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @reversed@ attribute.
+--
+-- Example:
+--
+-- > div ! reversed "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div reversed="bar">Hello.</div>
+--
+reversed :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+reversed = attribute "reversed" " reversed=\""
+{-# INLINE reversed #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @sandbox@ attribute.
+--
+-- Example:
+--
+-- > div ! sandbox "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div sandbox="bar">Hello.</div>
+--
+sandbox :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+sandbox = attribute "sandbox" " sandbox=\""
+{-# INLINE sandbox #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @scoped@ attribute.
+--
+-- Example:
+--
+-- > div ! scoped "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div scoped="bar">Hello.</div>
+--
+scoped :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+scoped = attribute "scoped" " scoped=\""
+{-# INLINE scoped #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @seamless@ attribute.
+--
+-- Example:
+--
+-- > div ! seamless "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div seamless="bar">Hello.</div>
+--
+seamless :: AttributeValue  -- ^ Attribute value.
+         -> Attribute       -- ^ Resulting attribute.
+seamless = attribute "seamless" " seamless=\""
+{-# INLINE seamless #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @sizes@ attribute.
+--
+-- Example:
+--
+-- > div ! sizes "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div sizes="bar">Hello.</div>
+--
+sizes :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+sizes = attribute "sizes" " sizes=\""
+{-# INLINE sizes #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @spellcheck@ attribute.
+--
+-- Example:
+--
+-- > div ! spellcheck "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div spellcheck="bar">Hello.</div>
+--
+spellcheck :: AttributeValue  -- ^ Attribute value.
+           -> Attribute       -- ^ Resulting attribute.
+spellcheck = attribute "spellcheck" " spellcheck=\""
+{-# INLINE spellcheck #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @srcdoc@ attribute.
+--
+-- Example:
+--
+-- > div ! srcdoc "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div srcdoc="bar">Hello.</div>
+--
+srcdoc :: AttributeValue  -- ^ Attribute value.
+       -> Attribute       -- ^ Resulting attribute.
+srcdoc = attribute "srcdoc" " srcdoc=\""
+{-# INLINE srcdoc #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @step@ attribute.
+--
+-- Example:
+--
+-- > div ! step "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div step="bar">Hello.</div>
+--
+step :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+step = attribute "step" " step=\""
+{-# INLINE step #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @subject@ attribute.
+--
+-- Example:
+--
+-- > div ! subject "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div subject="bar">Hello.</div>
+--
+subject :: AttributeValue  -- ^ Attribute value.
+        -> Attribute       -- ^ Resulting attribute.
+subject = attribute "subject" " subject=\""
+{-# INLINE subject #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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 #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @wrap@ attribute.
+--
+-- Example:
+--
+-- > div ! wrap "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div wrap="bar">Hello.</div>
+--
+wrap :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+wrap = attribute "wrap" " wrap=\""
+{-# INLINE wrap #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:248
+--
+-- | Combinator for the @xmlns@ attribute.
+--
+-- Example:
+--
+-- > div ! xmlns "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div xmlns="bar">Hello.</div>
+--
+xmlns :: AttributeValue  -- ^ Attribute value.
+      -> Attribute       -- ^ Resulting attribute.
+xmlns = attribute "xmlns" " xmlns=\""
+{-# INLINE xmlns #-}
diff --git a/src/Text/Blaze/Internal.hs b/src/Text/Blaze/Internal.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/Internal.hs
@@ -0,0 +1,426 @@
+{-# LANGUAGE OverloadedStrings, GeneralizedNewtypeDeriving, Rank2Types,
+             FlexibleInstances, ExistentialQuantification, DeriveDataTypeable #-}
+-- | The BlazeHtml core, consisting of functions that offer the power to
+-- generate custom HTML elements. It also offers user-centric functions, which
+-- are exposed through 'Text.Blaze'.
+--
+-- While this module is exported, usage of it is not recommended, unless you
+-- know what you are doing. This module might undergo changes at any time.
+--
+module Text.Blaze.Internal
+    (
+      -- * Important types.
+      ChoiceString (..)
+    , StaticString (..)
+    , HtmlM (..)
+    , Html
+    , Tag
+    , Attribute
+    , AttributeValue
+
+      -- * Creating custom tags and attributes.
+    , attribute
+    , dataAttribute
+    , customAttribute
+
+      -- * Converting values to HTML.
+    , text
+    , preEscapedText
+    , lazyText
+    , preEscapedLazyText
+    , string
+    , preEscapedString
+    , unsafeByteString
+    , unsafeLazyByteString
+
+      -- * Converting values to tags.
+    , textTag
+    , stringTag
+
+      -- * Converting values to attribute values.
+    , textValue
+    , preEscapedTextValue
+    , lazyTextValue
+    , preEscapedLazyTextValue
+    , stringValue
+    , preEscapedStringValue
+    , unsafeByteStringValue
+    , unsafeLazyByteStringValue
+
+      -- * Setting attributes
+    , Attributable
+    , (!)
+
+      -- * Modifying HTML elements
+    , external
+    ) where
+
+import Data.Monoid (Monoid, mappend, mempty, mconcat)
+import Unsafe.Coerce (unsafeCoerce)
+
+import Data.ByteString.Char8 (ByteString)
+import Data.Text (Text)
+import Data.Typeable (Typeable)
+import GHC.Exts (IsString (..))
+import qualified Data.ByteString as B
+import qualified Data.ByteString.Lazy as BL
+import qualified Data.Text as T
+import qualified Data.Text.Encoding as T
+import qualified Data.Text.Lazy as LT
+
+-- | A static string that supports efficient output to all possible backends.
+--
+data StaticString = StaticString
+    { getString         :: String -> String  -- ^ Appending haskell string
+    , getUtf8ByteString :: B.ByteString      -- ^ UTF-8 encoded bytestring
+    , getText           :: Text              -- ^ Text value
+    }
+
+-- 'StaticString's should only be converted from string literals, as far as I
+-- can see.
+--
+instance IsString StaticString where
+    fromString s = let t = T.pack s
+                   in StaticString (s ++) (T.encodeUtf8 t) t
+
+-- | A string denoting input from different string representations.
+--
+data ChoiceString
+    -- | Static data
+    = Static {-# UNPACK #-} !StaticString
+    -- | A Haskell String
+    | String String
+    -- | A Text value
+    | Text Text
+    -- | An encoded bytestring
+    | ByteString B.ByteString
+    -- | A pre-escaped string
+    | PreEscaped ChoiceString
+    -- | External data in style/script tags, should be checked for validity
+    | External ChoiceString
+    -- | Concatenation
+    | AppendChoiceString ChoiceString ChoiceString
+    -- | Empty string
+    | EmptyChoiceString
+
+instance Monoid ChoiceString where
+    mempty = EmptyChoiceString
+    {-# INLINE mempty #-}
+    mappend = AppendChoiceString
+    {-# INLINE mappend #-}
+
+instance IsString ChoiceString where
+    fromString = String
+    {-# INLINE fromString #-}
+
+-- | The core HTML datatype.
+--
+data HtmlM a
+    -- | Tag, open tag, end tag, content
+    = forall b. Parent StaticString StaticString StaticString (HtmlM b)
+    -- | Tag, open tag, end tag
+    | Leaf StaticString StaticString StaticString
+    -- | HTML content
+    | Content ChoiceString
+    -- | Concatenation of two HTML pieces
+    | forall b c. Append (HtmlM b) (HtmlM c)
+    -- | Add an attribute to the inner HTML. Raw key, key, value, HTML to
+    -- receive the attribute.
+    | AddAttribute StaticString StaticString ChoiceString (HtmlM a)
+    -- | Add a custom attribute to the inner HTML.
+    | AddCustomAttribute ChoiceString ChoiceString ChoiceString (HtmlM a)
+    -- | Empty HTML.
+    | Empty
+    deriving (Typeable)
+
+-- | Simplification of the 'HtmlM' datatype.
+--
+type Html = HtmlM ()
+
+instance Monoid a => Monoid (HtmlM a) where
+    mempty = Empty
+    {-# INLINE mempty #-}
+    mappend x y = Append x y
+    {-# INLINE mappend #-}
+    mconcat = foldr Append Empty
+    {-# INLINE mconcat #-}
+
+instance Functor HtmlM where
+    -- Safe because it does not contain a value anyway
+    fmap _ = unsafeCoerce
+
+instance Monad HtmlM where
+    return _ = Empty
+    {-# INLINE return #-}
+    (>>) = Append
+    {-# INLINE (>>) #-}
+    h1 >>= f = h1 >> f
+        (error "Text.Blaze.Internal.HtmlM: invalid use of monadic bind")
+    {-# INLINE (>>=) #-}
+
+instance IsString (HtmlM a) where
+    fromString = Content . fromString
+    {-# INLINE fromString #-}
+
+-- | Type for an HTML tag. This can be seen as an internal string type used by
+-- BlazeHtml.
+--
+newtype Tag = Tag { unTag :: StaticString }
+    deriving (IsString)
+
+-- | Type for an attribute.
+--
+newtype Attribute = Attribute (forall a. HtmlM a -> HtmlM a)
+
+instance Monoid Attribute where
+    -- Usually function composition does not form a monoid because we can't
+    -- prove that
+    --
+    -- > f . (g . h) == (f . g) . h
+    --
+    -- but since the functions in 'Attribute' can only apply attributes, this
+    -- is not a problem here.
+    mempty                            = Attribute id
+    Attribute f `mappend` Attribute g = Attribute (g . f)
+
+-- | The type for the value part of an attribute.
+--
+newtype AttributeValue = AttributeValue { unAttributeValue :: ChoiceString }
+    deriving (IsString, Monoid)
+
+-- | Create an HTML attribute that can be applied to an HTML element later using
+-- the '!' operator.
+--
+attribute :: Tag             -- ^ Raw key
+          -> Tag             -- ^ Shared key string for the HTML attribute.
+          -> AttributeValue  -- ^ Value for the HTML attribute.
+          -> Attribute       -- ^ Resulting HTML attribute.
+attribute rawKey key value = Attribute $
+    AddAttribute (unTag rawKey) (unTag key) (unAttributeValue value)
+{-# INLINE attribute #-}
+
+-- | From HTML 5 onwards, the user is able to specify custom data attributes.
+--
+-- An example:
+--
+-- > <p data-foo="bar">Hello.</p>
+--
+-- We support this in BlazeHtml using this funcion. The above fragment could
+-- be described using BlazeHtml with:
+--
+-- > p ! dataAttribute "foo" "bar" $ "Hello."
+--
+dataAttribute :: Tag             -- ^ Name of the attribute.
+              -> AttributeValue  -- ^ Value for the attribute.
+              -> Attribute       -- ^ Resulting HTML attribute.
+dataAttribute tag value = Attribute $ AddCustomAttribute
+    (Static "data-" `mappend` Static (unTag tag))
+    (Static " data-" `mappend` Static (unTag tag) `mappend` Static "=\"")
+    (unAttributeValue value)
+{-# INLINE dataAttribute #-}
+
+-- | Create a custom attribute. This is not specified in the HTML spec, but some
+-- JavaScript libraries rely on it.
+--
+-- An example:
+--
+-- > <select dojoType="select">foo</select>
+--
+-- Can be produced using:
+--
+-- > select ! customAttribute "dojoType" "select" $ "foo"
+--
+customAttribute :: Tag             -- ^ Name of the attribute
+                -> AttributeValue  -- ^ Value for the attribute
+                -> Attribute       -- ^ Resulting HTML attribtue
+customAttribute tag value = Attribute $ AddCustomAttribute
+    (Static $ unTag tag)
+    (Static " " `mappend` Static (unTag tag) `mappend` Static "=\"")
+    (unAttributeValue value)
+{-# INLINE customAttribute #-}
+
+-- | Render text. Functions like these can be used to supply content in HTML.
+--
+text :: Text  -- ^ Text to render.
+     -> Html  -- ^ Resulting HTML fragment.
+text = Content . Text
+{-# DEPRECATED text "Use Blaze.Html.toHtml" #-}
+{-# INLINE text #-}
+
+-- | Render text without escaping.
+--
+preEscapedText :: Text  -- ^ Text to insert
+               -> Html  -- ^ Resulting HTML fragment
+preEscapedText = Content . PreEscaped . Text
+{-# INLINE preEscapedText #-}
+
+-- | A variant of 'text' for lazy 'LT.Text'.
+--
+lazyText :: LT.Text  -- ^ Text to insert
+         -> Html     -- ^ Resulting HTML fragment
+lazyText = mconcat . map text . LT.toChunks
+{-# DEPRECATED lazyText "Use Blaze.Html.toHtml" #-}
+{-# INLINE lazyText #-}
+
+-- | A variant of 'preEscapedText' for lazy 'LT.Text'
+--
+preEscapedLazyText :: LT.Text  -- ^ Text to insert
+                   -> Html     -- ^ Resulting HTML fragment
+preEscapedLazyText = mconcat . map preEscapedText . LT.toChunks
+
+-- | Create an HTML snippet from a 'String'.
+--
+string :: String  -- ^ String to insert.
+       -> Html    -- ^ Resulting HTML fragment.
+string = Content . String
+{-# DEPRECATED string "Use Blaze.Html.toHtml" #-}
+{-# INLINE string #-}
+
+-- | Create an HTML snippet from a 'String' without escaping
+--
+preEscapedString :: String  -- ^ String to insert.
+                 -> Html    -- ^ Resulting HTML fragment.
+preEscapedString = Content . PreEscaped . String
+{-# INLINE preEscapedString #-}
+
+-- | Insert a 'ByteString'. This is an unsafe operation:
+--
+-- * The 'ByteString' could have the wrong encoding.
+--
+-- * The 'ByteString' might contain illegal HTML characters (no escaping is
+--   done).
+--
+unsafeByteString :: ByteString  -- ^ Value to insert.
+                 -> Html        -- ^ Resulting HTML fragment.
+unsafeByteString = Content . ByteString
+{-# INLINE unsafeByteString #-}
+
+-- | Insert a lazy 'BL.ByteString'. See 'unsafeByteString' for reasons why this
+-- is an unsafe operation.
+--
+unsafeLazyByteString :: BL.ByteString  -- ^ Value to insert
+                     -> Html           -- ^ Resulting HTML fragment
+unsafeLazyByteString = mconcat . map unsafeByteString . BL.toChunks
+{-# INLINE unsafeLazyByteString #-}
+
+-- | Create a 'Tag' from some 'Text'.
+--
+textTag :: Text  -- ^ Text to create a tag from
+        -> Tag   -- ^ Resulting tag
+textTag t = Tag $ StaticString (T.unpack t ++) (T.encodeUtf8 t) t
+
+-- | Create a 'Tag' from a 'String'.
+--
+stringTag :: String  -- ^ String to create a tag from
+          -> Tag     -- ^ Resulting tag
+stringTag = Tag . fromString
+
+-- | Render an attribute value from 'Text'.
+--
+textValue :: Text            -- ^ The actual value.
+          -> AttributeValue  -- ^ Resulting attribute value.
+textValue = AttributeValue . Text
+{-# DEPRECATED textValue "Use Blaze.Html.toValue" #-}
+{-# INLINE textValue #-}
+
+-- | Render an attribute value from 'Text' without escaping.
+--
+preEscapedTextValue :: Text            -- ^ The actual value
+                    -> AttributeValue  -- ^ Resulting attribute value
+preEscapedTextValue = AttributeValue . PreEscaped . Text
+{-# INLINE preEscapedTextValue #-}
+
+-- | A variant of 'textValue' for lazy 'LT.Text'
+--
+lazyTextValue :: LT.Text         -- ^ The actual value
+              -> AttributeValue  -- ^ Resulting attribute value
+lazyTextValue = mconcat . map textValue . LT.toChunks
+{-# DEPRECATED lazyTextValue "Use Blaze.Html.toValue" #-}
+{-# INLINE lazyTextValue #-}
+
+-- | A variant of 'preEscapedTextValue' for lazy 'LT.Text'
+--
+preEscapedLazyTextValue :: LT.Text         -- ^ The actual value
+                        -> AttributeValue  -- ^ Resulting attribute value
+preEscapedLazyTextValue = mconcat . map preEscapedTextValue . LT.toChunks
+{-# INLINE preEscapedLazyTextValue #-}
+
+-- | Create an attribute value from a 'String'.
+--
+stringValue :: String -> AttributeValue
+stringValue = AttributeValue . String
+{-# DEPRECATED stringValue "Use Blaze.Html.toValue" #-}
+{-# INLINE stringValue #-}
+
+-- | Create an attribute value from a 'String' without escaping.
+--
+preEscapedStringValue :: String -> AttributeValue
+preEscapedStringValue = AttributeValue . PreEscaped . String
+{-# INLINE preEscapedStringValue #-}
+
+-- | Create an attribute value from a 'ByteString'. See 'unsafeByteString'
+-- for reasons why this might not be a good idea.
+--
+unsafeByteStringValue :: ByteString      -- ^ ByteString value
+                      -> AttributeValue  -- ^ Resulting attribute value
+unsafeByteStringValue = AttributeValue . ByteString
+{-# INLINE unsafeByteStringValue #-}
+
+-- | Create an attribute value from a lazy 'BL.ByteString'. See
+-- 'unsafeByteString' for reasons why this might not be a good idea.
+--
+unsafeLazyByteStringValue :: BL.ByteString   -- ^ ByteString value
+                          -> AttributeValue  -- ^ Resulting attribute value
+unsafeLazyByteStringValue = mconcat . map unsafeByteStringValue . BL.toChunks
+{-# INLINE unsafeLazyByteStringValue #-}
+
+-- | Used for applying attributes. You should not define your own instances of
+-- this class.
+class Attributable h where
+    -- | Apply an attribute to an element.
+    --
+    -- Example:
+    --
+    -- > img ! src "foo.png"
+    --
+    -- Result:
+    --
+    -- > <img src="foo.png" />
+    --
+    -- This can be used on nested elements as well.
+    --
+    -- Example:
+    --
+    -- > p ! style "float: right" $ "Hello!"
+    --
+    -- Result:
+    --
+    -- > <p style="float: right">Hello!</p>
+    --
+    (!) :: h -> Attribute -> h
+
+instance Attributable (HtmlM a) where
+    h ! (Attribute f) = f h
+    {-# INLINE (!) #-}
+
+instance Attributable (HtmlM a -> HtmlM b) where
+    h ! f = (! f) . h
+    {-# INLINE (!) #-}
+
+-- | Mark HTML as external data. External data can be:
+--
+-- * CSS data in a @<style>@ tag;
+--
+-- * Script data in a @<script>@ tag.
+--
+-- This function is applied automatically when using the @style@ or @script@
+-- combinators.
+--
+external :: HtmlM a -> HtmlM a
+external (Content x) = Content $ External x
+external (Append x y) = Append (external x) (external y)
+external (Parent x y z i) = Parent x y z $ external i
+external (AddAttribute x y z i) = AddAttribute x y z $ external i
+external (AddCustomAttribute x y z i) = AddCustomAttribute x y z $ external i
+external x = x
+{-# INLINE external #-}
diff --git a/src/Text/Blaze/Renderer/Pretty.hs b/src/Text/Blaze/Renderer/Pretty.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/Renderer/Pretty.hs
@@ -0,0 +1,44 @@
+-- | A renderer that produces pretty HTML, mostly meant for debugging purposes.
+--
+module Text.Blaze.Renderer.Pretty
+    ( renderHtml
+    ) where
+
+import Text.Blaze.Internal
+import Text.Blaze.Renderer.String (fromChoiceString)
+
+-- | Render some 'Html' to an appending 'String'.
+--
+renderString :: Html    -- ^ HTML to render
+             -> String  -- ^ String to append
+             -> String  -- ^ Resulting String
+renderString = go 0 id
+  where
+    go :: Int -> (String -> String) -> HtmlM b -> String -> String
+    go i attrs (Parent _ open close content) =
+        ind i . getString open . attrs . (">\n" ++) . go (inc i) id content
+              . ind i . getString close .  ('\n' :)
+    go i attrs (Leaf _ begin end) =
+        ind i . getString begin . attrs . getString end . ('\n' :)
+    go i attrs (AddAttribute _ key value h) = flip (go i) h $
+        getString key . fromChoiceString value . ('"' :) . attrs
+    go i attrs (AddCustomAttribute _ key value h) = flip (go i) h $
+        fromChoiceString key . fromChoiceString value . ('"' :) . attrs
+    go i _ (Content content) = ind i . fromChoiceString content . ('\n' :)
+    go i attrs (Append h1 h2) = go i attrs h1 . go i attrs h2
+    go _ _ Empty = id
+    {-# NOINLINE go #-}
+
+    -- Increase the indentation
+    inc = (+) 4
+
+    -- Produce appending indentation
+    ind i = (replicate i ' ' ++)
+{-# INLINE renderString #-}
+
+-- | Render HTML to a lazy 'String'. The result is prettified.
+--
+renderHtml :: Html    -- ^ HTML to render
+           -> String  -- ^ Resulting 'String'.
+renderHtml html = renderString html ""
+{-# INLINE renderHtml #-}
diff --git a/src/Text/Blaze/Renderer/String.hs b/src/Text/Blaze/Renderer/String.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/Renderer/String.hs
@@ -0,0 +1,82 @@
+-- | A renderer that produces a native Haskell 'String', mostly meant for
+-- debugging purposes.
+--
+{-# LANGUAGE OverloadedStrings #-}
+module Text.Blaze.Renderer.String
+    ( fromChoiceString
+    , renderHtml
+    ) where
+
+import Data.List (isInfixOf)
+
+import qualified Data.ByteString.Char8 as SBC
+import qualified Data.Text as T
+import qualified Data.ByteString as S
+
+import Text.Blaze.Internal
+
+-- | Escape HTML entities in a string
+--
+escapeHtmlEntities :: String  -- ^ String to escape
+                   -> String  -- ^ String to append
+                   -> String  -- ^ Resulting string
+escapeHtmlEntities []     k = k
+escapeHtmlEntities (c:cs) k = case c of
+    '<'  -> '&' : 'l' : 't' : ';'             : escapeHtmlEntities cs k
+    '>'  -> '&' : 'g' : 't' : ';'             : escapeHtmlEntities cs k
+    '&'  -> '&' : 'a' : 'm' : 'p' : ';'       : escapeHtmlEntities cs k
+    '"'  -> '&' : 'q' : 'u' : 'o' : 't' : ';' : escapeHtmlEntities cs k
+    '\'' -> '&' : '#' : '3' : '9' : ';'       : escapeHtmlEntities cs k
+    x    -> x                                 : escapeHtmlEntities cs k
+
+-- | Render a 'ChoiceString'.
+--
+fromChoiceString :: ChoiceString  -- ^ String to render
+                 -> String        -- ^ String to append
+                 -> String        -- ^ Resulting string
+fromChoiceString (Static s)     = getString s
+fromChoiceString (String s)     = escapeHtmlEntities s
+fromChoiceString (Text s)       = escapeHtmlEntities $ T.unpack s
+fromChoiceString (ByteString s) = (SBC.unpack s ++)
+fromChoiceString (PreEscaped x) = case x of
+    String s -> (s ++)
+    Text   s -> (\k -> T.foldr (:) k s)
+    s        -> fromChoiceString s
+fromChoiceString (External x) = case x of
+    -- Check that the sequence "</" is *not* in the external data.
+    String s     -> if "</" `isInfixOf` s then id else (s ++)
+    Text   s     -> if "</" `T.isInfixOf` s then id else (\k -> T.foldr (:) k s)
+    ByteString s -> if "</" `S.isInfixOf` s then id else (SBC.unpack s ++)
+    s            -> fromChoiceString s
+fromChoiceString (AppendChoiceString x y) =
+    fromChoiceString x . fromChoiceString y
+fromChoiceString EmptyChoiceString = id
+{-# INLINE fromChoiceString #-}
+
+-- | Render some 'Html' to an appending 'String'.
+--
+renderString :: Html    -- ^ HTML to render
+             -> String  -- ^ String to append
+             -> String  -- ^ Resulting String
+renderString = go id 
+  where
+    go :: (String -> String) -> HtmlM b -> String -> String
+    go attrs (Parent _ open close content) =
+        getString open . attrs . ('>' :) . go id content . getString close
+    go attrs (Leaf _ begin end) = getString begin . attrs . getString end
+    go attrs (AddAttribute _ key value h) = flip go h $
+        getString key . fromChoiceString value . ('"' :) . attrs
+    go attrs (AddCustomAttribute _ key value h) = flip go h $
+        fromChoiceString key . fromChoiceString value . ('"' :) . attrs
+    go _ (Content content) = fromChoiceString content
+    go attrs (Append h1 h2) = go attrs h1 . go attrs h2
+    go _ Empty = id
+    {-# NOINLINE go #-}
+{-# INLINE renderString #-}
+
+-- | Render HTML to a lazy 'String'.
+--
+renderHtml :: Html    -- ^ HTML to render
+           -> String  -- ^ Resulting 'String'
+renderHtml html = renderString html ""
+{-# INLINE renderHtml #-}
diff --git a/src/Text/Blaze/Renderer/Text.hs b/src/Text/Blaze/Renderer/Text.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/Renderer/Text.hs
@@ -0,0 +1,120 @@
+{-# LANGUAGE OverloadedStrings #-}
+-- | A renderer that produces a lazy 'L.Text' value, using the Text Builder.
+--
+module Text.Blaze.Renderer.Text
+    ( renderHtmlBuilder
+    , renderHtmlBuilderWith
+    , renderHtml
+    , renderHtmlWith
+    ) where
+
+import Data.Monoid (mappend, mempty)
+import Data.List (isInfixOf)
+
+import Data.Text (Text)
+import qualified Data.Text as T
+import Data.Text.Encoding (decodeUtf8)
+import qualified Data.Text.Lazy as L
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as S (isInfixOf)
+
+import Text.Blaze.Internal
+import Data.Text.Lazy.Builder (Builder)
+import qualified Data.Text.Lazy.Builder as B
+
+-- | Escape HTML entities in a text value
+--
+escapeHtmlEntities :: Text     -- ^ Text to escape
+                   -> Builder  -- ^ Resulting text builder
+escapeHtmlEntities = T.foldr escape mempty
+  where
+    escape :: Char -> Builder -> Builder
+    escape '<'  b = B.fromText "&lt;"   `mappend` b
+    escape '>'  b = B.fromText "&gt;"   `mappend` b
+    escape '&'  b = B.fromText "&amp;"  `mappend` b
+    escape '"'  b = B.fromText "&quot;" `mappend` b
+    escape '\'' b = B.fromText "&#39;"  `mappend` b
+    escape x    b = B.singleton x       `mappend` b
+
+-- | Render a 'ChoiceString'. TODO: Optimization possibility, apply static
+-- argument transformation.
+--
+fromChoiceString :: (ByteString -> Text)  -- ^ Decoder for bytestrings
+                 -> ChoiceString          -- ^ String to render
+                 -> Builder               -- ^ Resulting builder
+fromChoiceString _ (Static s)     = B.fromText $ getText s
+fromChoiceString _ (String s)     = escapeHtmlEntities $ T.pack s
+fromChoiceString _ (Text s)       = escapeHtmlEntities s
+fromChoiceString d (ByteString s) = B.fromText $ d s
+fromChoiceString d (PreEscaped x) = case x of
+    String s -> B.fromText $ T.pack s
+    Text   s -> B.fromText s
+    s        -> fromChoiceString d s
+fromChoiceString d (External x) = case x of
+    -- Check that the sequence "</" is *not* in the external data.
+    String s     -> if "</" `isInfixOf` s then mempty else B.fromText (T.pack s)
+    Text   s     -> if "</" `T.isInfixOf` s then mempty else B.fromText s
+    ByteString s -> if "</" `S.isInfixOf` s then mempty else B.fromText (d s)
+    s            -> fromChoiceString d s
+fromChoiceString d (AppendChoiceString x y) =
+    fromChoiceString d x `mappend` fromChoiceString d y
+fromChoiceString _ EmptyChoiceString = mempty
+{-# INLINE fromChoiceString #-}
+
+-- | Render HTML to a text builder
+renderHtmlBuilder :: Html
+                  -> Builder
+renderHtmlBuilder = renderHtmlBuilderWith decodeUtf8
+{-# INLINE renderHtmlBuilder #-}
+
+-- | Render some 'Html' to a Text 'Builder'.
+--
+renderHtmlBuilderWith :: (ByteString -> Text)  -- ^ Decoder for bytestrings
+                      -> Html                  -- ^ HTML to render
+                      -> Builder               -- ^ Resulting builder
+renderHtmlBuilderWith d = go mempty
+  where
+    go :: Builder -> HtmlM b -> Builder
+    go attrs (Parent _ open close content) =
+        B.fromText (getText open)
+            `mappend` attrs
+            `mappend` B.singleton '>'
+            `mappend` go mempty content
+            `mappend` B.fromText (getText close)
+    go attrs (Leaf _ begin end) =
+        B.fromText (getText begin)
+            `mappend` attrs
+            `mappend` B.fromText (getText end)
+    go attrs (AddAttribute _ key value h) =
+        go (B.fromText (getText key)
+            `mappend` fromChoiceString d value
+            `mappend` B.singleton '"'
+            `mappend` attrs) h
+    go attrs (AddCustomAttribute _ key value h) =
+        go (fromChoiceString d key
+            `mappend` fromChoiceString d value
+            `mappend` B.singleton '"'
+            `mappend` attrs) h
+    go _ (Content content)  = fromChoiceString d content
+    go attrs (Append h1 h2) = go attrs h1 `mappend` go attrs h2
+    go _ Empty              = mempty
+    {-# NOINLINE go #-}
+{-# INLINE renderHtmlBuilderWith #-}
+
+-- | Render HTML to a lazy Text value. If there are any ByteString's in the
+-- input HTML, this function will consider them as UTF-8 encoded values and
+-- decode them that way.
+--
+renderHtml :: Html    -- ^ HTML to render
+           -> L.Text  -- ^ Resulting 'L.Text'
+renderHtml = renderHtmlWith decodeUtf8
+{-# INLINE renderHtml #-}
+
+-- | Render HTML to a lazy Text value. This function allows you to specify what
+-- should happen with ByteString's in the input HTML. You can decode them or
+-- drop them, this depends on the application...
+--
+renderHtmlWith :: (ByteString -> Text)  -- ^ Decoder for ByteString's.
+               -> Html                  -- ^ HTML to render
+               -> L.Text                -- Resulting lazy text
+renderHtmlWith d = B.toLazyText . renderHtmlBuilderWith d
diff --git a/src/Text/Blaze/Renderer/Utf8.hs b/src/Text/Blaze/Renderer/Utf8.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/Renderer/Utf8.hs
@@ -0,0 +1,91 @@
+{-# LANGUAGE OverloadedStrings #-}
+module Text.Blaze.Renderer.Utf8
+    ( renderHtmlBuilder
+    , renderHtml
+    , renderHtmlToByteStringIO
+    ) where
+
+import Data.Monoid (mappend, mempty)
+import Data.List (isInfixOf)
+
+import qualified Data.ByteString.Lazy as L
+import qualified Data.Text as T (isInfixOf)
+import qualified Data.ByteString as S (ByteString, isInfixOf)
+
+import Text.Blaze.Internal
+import Blaze.ByteString.Builder (Builder)
+import qualified Blaze.ByteString.Builder           as B
+import qualified Blaze.ByteString.Builder.Html.Utf8 as B
+
+-- | Render a 'ChoiceString'.
+--
+fromChoiceString :: ChoiceString  -- ^ String to render
+                 -> Builder       -- ^ Resulting builder
+fromChoiceString (Static s)     = B.copyByteString $ getUtf8ByteString s
+fromChoiceString (String s)     = B.fromHtmlEscapedString s
+fromChoiceString (Text s)       = B.fromHtmlEscapedText s
+fromChoiceString (ByteString s) = B.fromByteString s
+fromChoiceString (PreEscaped x) = case x of
+    String s -> B.fromString s
+    Text   s -> B.fromText s
+    s        -> fromChoiceString s
+fromChoiceString (External x) = case x of
+    -- Check that the sequence "</" is *not* in the external data.
+    String s     -> if "</" `isInfixOf` s then mempty else B.fromString s
+    Text   s     -> if "</" `T.isInfixOf` s then mempty else B.fromText s
+    ByteString s -> if "</" `S.isInfixOf` s then mempty else B.fromByteString s
+    s            -> fromChoiceString s
+fromChoiceString (AppendChoiceString x y) =
+    fromChoiceString x `mappend` fromChoiceString y
+fromChoiceString EmptyChoiceString = mempty
+{-# INLINE fromChoiceString #-}
+
+-- | Render some 'Html' to a 'Builder'.
+--
+renderHtmlBuilder :: Html     -- ^ HTML to render
+                  -> Builder  -- ^ Resulting builder
+renderHtmlBuilder = go mempty
+  where
+    go :: Builder -> HtmlM b -> Builder
+    go attrs (Parent _ open close content) =
+        B.copyByteString (getUtf8ByteString open)
+            `mappend` attrs
+            `mappend` B.fromChar '>'
+            `mappend` go mempty content
+            `mappend` B.copyByteString (getUtf8ByteString close)
+    go attrs (Leaf _ begin end) =
+        B.copyByteString (getUtf8ByteString begin)
+            `mappend` attrs
+            `mappend` B.copyByteString (getUtf8ByteString end)
+    go attrs (AddAttribute _ key value h) =
+        go (B.copyByteString (getUtf8ByteString key)
+            `mappend` fromChoiceString value
+            `mappend` B.fromChar '"'
+            `mappend` attrs) h
+    go attrs (AddCustomAttribute _ key value h) =
+        go (fromChoiceString key
+            `mappend` fromChoiceString value
+            `mappend` B.fromChar '"'
+            `mappend` attrs) h
+    go _ (Content content)  = fromChoiceString content
+    go attrs (Append h1 h2) = go attrs h1 `mappend` go attrs h2
+    go _ Empty              = mempty
+    {-# NOINLINE go #-}
+{-# INLINE renderHtmlBuilder #-}
+
+-- | Render HTML to a lazy UTF-8 encoded 'L.ByteString.'
+--
+renderHtml :: Html          -- ^ HTML to render
+           -> L.ByteString  -- ^ Resulting 'L.ByteString'
+renderHtml = B.toLazyByteString . renderHtmlBuilder
+{-# INLINE renderHtml #-}
+
+-- | Repeatedly render HTML to a buffer and process this buffer using the given
+-- IO action.
+--
+renderHtmlToByteStringIO :: (S.ByteString -> IO ())
+                                          -- ^ IO action to execute per rendered buffer
+                         -> Html          -- ^ HTML to render
+                         -> IO ()         -- ^ Resulting IO action
+renderHtmlToByteStringIO io = B.toByteStringIO io . renderHtmlBuilder
+{-# INLINE renderHtmlToByteStringIO #-}
diff --git a/src/Text/Blaze/XHtml1/FrameSet.hs b/src/Text/Blaze/XHtml1/FrameSet.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/XHtml1/FrameSet.hs
@@ -0,0 +1,1739 @@
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:77
+--
+import Prelude ((>>), (.))
+
+import Text.Blaze
+import Text.Blaze.Internal
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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/src/Text/Blaze/XHtml1/FrameSet/Attributes.hs b/src/Text/Blaze/XHtml1/FrameSet/Attributes.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/XHtml1/FrameSet/Attributes.hs
@@ -0,0 +1,1992 @@
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:98
+--
+import Prelude ()
+
+import Text.Blaze.Internal (Attribute, AttributeValue, attribute)
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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/src/Text/Blaze/XHtml1/Strict.hs b/src/Text/Blaze/XHtml1/Strict.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/XHtml1/Strict.hs
@@ -0,0 +1,1494 @@
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:77
+--
+import Prelude ((>>), (.))
+
+import Text.Blaze
+import Text.Blaze.Internal
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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/src/Text/Blaze/XHtml1/Strict/Attributes.hs b/src/Text/Blaze/XHtml1/Strict/Attributes.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/XHtml1/Strict/Attributes.hs
@@ -0,0 +1,1745 @@
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:98
+--
+import Prelude ()
+
+import Text.Blaze.Internal (Attribute, AttributeValue, attribute)
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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/src/Text/Blaze/XHtml1/Transitional.hs b/src/Text/Blaze/XHtml1/Transitional.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/XHtml1/Transitional.hs
@@ -0,0 +1,1702 @@
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:77
+--
+import Prelude ((>>), (.))
+
+import Text.Blaze
+import Text.Blaze.Internal
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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/src/Text/Blaze/XHtml1/Transitional/Attributes.hs b/src/Text/Blaze/XHtml1/Transitional/Attributes.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Blaze/XHtml1/Transitional/Attributes.hs
@@ -0,0 +1,1954 @@
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/Util/GenerateHtmlCombinators.hs:98
+--
+import Prelude ()
+
+import Text.Blaze.Internal (Attribute, AttributeValue, attribute)
+
+-- WARNING: The next block of code was automatically generated by
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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
+-- src/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/src/Util/GenerateHtmlCombinators.hs b/src/Util/GenerateHtmlCombinators.hs
new file mode 100644
--- /dev/null
+++ b/src/Util/GenerateHtmlCombinators.hs
@@ -0,0 +1,469 @@
+{-# LANGUAGE CPP #-}
+
+#define DO_NOT_EDIT (doNotEdit __FILE__ __LINE__)
+
+-- | Generates code for HTML tags.
+--
+module Util.GenerateHtmlCombinators where
+
+import Control.Arrow ((&&&))
+import Data.List (sort, sortBy, intersperse, intercalate)
+import Data.Ord (comparing)
+import System.Directory (createDirectoryIfMissing)
+import System.FilePath ((</>), (<.>))
+import Data.Map (Map)
+import qualified Data.Map as M
+import Data.Char (toLower)
+import qualified Data.Set as S
+
+import Util.Sanitize (sanitize, prelude)
+
+-- | Datatype for an HTML variant.
+--
+data HtmlVariant = HtmlVariant
+    { version     :: [String]
+    , docType     :: [String]
+    , parents     :: [String]
+    , leafs       :: [String]
+    , attributes  :: [String]
+    , selfClosing :: Bool
+    } deriving (Eq)
+
+instance Show HtmlVariant where
+    show = map toLower . intercalate "-" . version
+
+-- | Get the full module name for an HTML variant.
+--
+getModuleName :: HtmlVariant -> String
+getModuleName = ("Text.Blaze." ++) . intercalate "." . version
+
+-- | Get the attribute module name for an HTML variant.
+--
+getAttributeModuleName :: HtmlVariant -> String
+getAttributeModuleName = (++ ".Attributes") . getModuleName
+
+-- | Check if a given name causes a name clash.
+--
+isNameClash :: HtmlVariant -> String -> Bool
+isNameClash v t
+    -- Both an element and an attribute
+    | (t `elem` parents v || t `elem` leafs v) && t `elem` attributes v = True
+    -- Already a prelude function
+    | sanitize t `S.member` prelude = True
+    | otherwise = False
+
+-- | Write an HTML variant.
+--
+writeHtmlVariant :: HtmlVariant -> IO ()
+writeHtmlVariant htmlVariant = do
+    -- Make a directory.
+    createDirectoryIfMissing True basePath
+
+    let tags =  zip parents' (repeat makeParent)
+             ++ zip leafs' (repeat (makeLeaf $ selfClosing htmlVariant))
+        sortedTags = sortBy (comparing fst) tags
+        appliedTags = map (\(x, f) -> f x) sortedTags
+
+    -- Write the main module.
+    writeFile' (basePath <.> "hs") $ removeTrailingNewlines $ unlines
+        [ DO_NOT_EDIT
+        , "{-# LANGUAGE OverloadedStrings #-}"
+        , "-- | This module exports HTML combinators used to create documents."
+        , "--"
+        , exportList modulName $ "module Text.Blaze"
+                                : "docType"
+                                : "docTypeHtml"
+                                : map (sanitize . fst) sortedTags
+        , DO_NOT_EDIT
+        , "import Prelude ((>>), (.))"
+        , ""
+        , "import Text.Blaze"
+        , "import Text.Blaze.Internal"
+        , ""
+        , makeDocType $ docType htmlVariant
+        , makeDocTypeHtml $ docType htmlVariant
+        , unlines appliedTags
+        ]
+
+    let sortedAttributes = sort attributes'
+
+    -- Write the attribute module.
+    writeFile' (basePath </> "Attributes.hs") $ removeTrailingNewlines $ unlines
+        [ DO_NOT_EDIT
+        , "-- | This module exports combinators that provide you with the"
+        , "-- ability to set attributes on HTML elements."
+        , "--"
+        , "{-# LANGUAGE OverloadedStrings #-}"
+        , exportList attributeModuleName $ map sanitize sortedAttributes
+        , DO_NOT_EDIT
+        , "import Prelude ()"
+        , ""
+        , "import Text.Blaze.Internal (Attribute, AttributeValue, attribute)"
+        , ""
+        , unlines (map makeAttribute sortedAttributes)
+        ]
+  where
+    basePath  = "src" </> "Text" </> "Blaze" </> foldl1 (</>) version'
+    modulName = getModuleName htmlVariant
+    attributeModuleName = getAttributeModuleName htmlVariant
+    attributes' = attributes htmlVariant
+    parents'    = parents htmlVariant
+    leafs'      = leafs htmlVariant
+    version'    = version htmlVariant
+    removeTrailingNewlines = reverse . drop 2 . reverse
+    writeFile' file content = do
+        putStrLn ("Generating " ++ file)
+        writeFile file content
+
+-- | Create a string, consisting of @x@ spaces, where @x@ is the length of the
+-- argument.
+--
+spaces :: String -> String
+spaces = flip replicate ' ' . length
+
+-- | Join blocks of code with a newline in between.
+--
+unblocks :: [String] -> String
+unblocks = unlines . intersperse "\n"
+
+-- | A warning to not edit the generated code.
+--
+doNotEdit :: FilePath -> Int -> String
+doNotEdit fileName lineNumber = init $ unlines
+    [ "-- WARNING: The next block of code was automatically generated by"
+    , "-- " ++ fileName ++ ":" ++ show lineNumber
+    , "--"
+    ]
+
+-- | Generate an export list for a Haskell module.
+--
+exportList :: String   -- ^ Module name.
+           -> [String] -- ^ List of functions.
+           -> String   -- ^ Resulting string.
+exportList _    []            = error "exportList without functions."
+exportList name (f:functions) = unlines $
+    [ "module " ++ name
+    , "    ( " ++ f
+    ] ++
+    map ("    , " ++) functions ++
+    [ "    ) where"]
+
+-- | Generate a function for a doctype.
+--
+makeDocType :: [String] -> String
+makeDocType lines' = unlines
+    [ DO_NOT_EDIT
+    , "-- | Combinator for the document type. This should be placed at the top"
+    , "-- of every HTML page."
+    , "--"
+    , "-- Example:"
+    , "--"
+    , "-- > docType"
+    , "--"
+    , "-- Result:"
+    , "--"
+    , unlines (map ("-- > " ++) lines') ++ "--"
+    , "docType :: Html  -- ^ The document type HTML."
+    , "docType = preEscapedText " ++ show (unlines lines')
+    , "{-# INLINE docType #-}"
+    ]
+
+-- | Generate a function for the HTML tag (including the doctype).
+--
+makeDocTypeHtml :: [String]  -- ^ The doctype.
+                -> String    -- ^ Resulting combinator function.
+makeDocTypeHtml lines' = unlines
+    [ DO_NOT_EDIT
+    , "-- | Combinator for the @\\<html>@ element. This combinator will also"
+    , "-- insert the correct doctype."
+    , "--"
+    , "-- Example:"
+    , "--"
+    , "-- > docTypeHtml $ span $ text \"foo\""
+    , "--"
+    , "-- Result:"
+    , "--"
+    , unlines (map ("-- > " ++) lines') ++ "-- > <html><span>foo</span></html>"
+    , "--"
+    , "docTypeHtml :: Html  -- ^ Inner HTML."
+    , "            -> Html  -- ^ Resulting HTML."
+    , "docTypeHtml inner = docType >> html inner"
+    , "{-# INLINE docTypeHtml #-}"
+    ]
+
+-- | Generate a function for an HTML tag that can be a parent.
+--
+makeParent :: String -> String
+makeParent tag = unlines
+    [ DO_NOT_EDIT
+    , "-- | Combinator for the @\\<" ++ tag ++ ">@ element."
+    , "--"
+    , "-- Example:"
+    , "--"
+    , "-- > " ++ function ++ " $ span $ text \"foo\""
+    , "--"
+    , "-- Result:"
+    , "--"
+    , "-- > <" ++ tag ++ "><span>foo</span></" ++ tag ++ ">"
+    , "--"
+    , function        ++ " :: Html  -- ^ Inner HTML."
+    , spaces function ++ " -> Html  -- ^ Resulting HTML."
+    , function        ++ " = Parent \"" ++ tag ++ "\" \"<" ++ tag
+                      ++ "\" \"</" ++ tag ++ ">\"" ++ modifier
+    , "{-# INLINE " ++ function ++ " #-}"
+    ]
+  where
+    function = sanitize tag
+    modifier = if tag `elem` ["style", "script"] then " . external" else ""
+
+-- | Generate a function for an HTML tag that must be a leaf.
+--
+makeLeaf :: Bool    -- ^ Make leaf tags self-closing
+         -> String  -- ^ Tag for the combinator
+         -> String  -- ^ Combinator code
+makeLeaf closing tag = unlines
+    [ DO_NOT_EDIT
+    , "-- | Combinator for the @\\<" ++ tag ++ " />@ element."
+    , "--"
+    , "-- Example:"
+    , "--"
+    , "-- > " ++ function
+    , "--"
+    , "-- Result:"
+    , "--"
+    , "-- > <" ++ tag ++ " />"
+    , "--"
+    , function ++ " :: Html  -- ^ Resulting HTML."
+    , function ++ " = Leaf \"" ++ tag ++ "\" \"<" ++ tag ++ "\" " ++ "\""
+               ++ (if closing then " /" else "") ++ ">\""
+    , "{-# INLINE " ++ function ++ " #-}"
+    ]
+  where
+    function = sanitize tag
+
+-- | Generate a function for an HTML attribute.
+--
+makeAttribute :: String -> String
+makeAttribute name = unlines
+    [ DO_NOT_EDIT
+    , "-- | Combinator for the @" ++ name ++ "@ attribute."
+    , "--"
+    , "-- Example:"
+    , "--"
+    , "-- > div ! " ++ function ++ " \"bar\" $ \"Hello.\""
+    , "--"
+    , "-- Result:"
+    , "--"
+    , "-- > <div " ++ name ++ "=\"bar\">Hello.</div>"
+    , "--"
+    , function        ++ " :: AttributeValue  -- ^ Attribute value."
+    , spaces function ++ " -> Attribute       -- ^ Resulting attribute."
+    , function        ++ " = attribute \"" ++ name ++ "\" \" "
+                      ++ name ++ "=\\\"\""
+    , "{-# INLINE " ++ function ++ " #-}"
+    ]
+  where
+    function = sanitize name
+
+-- | HTML 4.01 Strict.
+-- A good reference can be found here: http://www.w3schools.com/tags/default.asp
+--
+html4Strict :: HtmlVariant
+html4Strict = HtmlVariant
+    { version = ["Html4", "Strict"]
+    , docType =
+        [ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\""
+        , "    \"http://www.w3.org/TR/html4/strict.dtd\">"
+        ]
+    , parents =
+        [ "a", "abbr", "acronym", "address", "b", "bdo", "big", "blockquote"
+        , "body" , "button", "caption", "cite", "code", "colgroup", "dd", "del"
+        , "dfn", "div" , "dl", "dt", "em", "fieldset", "form", "h1", "h2", "h3"
+        , "h4", "h5", "h6", "head", "html", "i", "ins" , "kbd", "label"
+        , "legend", "li", "map", "noscript", "object", "ol", "optgroup"
+        , "option", "p", "pre", "q", "samp", "script", "select", "small"
+        , "span", "strong", "style", "sub", "sup", "table", "tbody", "td"
+        , "textarea", "tfoot", "th", "thead", "title", "tr", "tt", "ul", "var"
+        ]
+    , leafs =
+        [ "area", "br", "col", "hr", "link", "img", "input",  "meta", "param"
+        ]
+    , 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", "http-equiv", "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"
+        ]
+    , selfClosing = False
+    }
+
+-- | HTML 4.0 Transitional
+--
+html4Transitional :: HtmlVariant
+html4Transitional = HtmlVariant
+    { version = ["Html4", "Transitional"]
+    , docType =
+        [ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\""
+        , "    \"http://www.w3.org/TR/html4/loose.dtd\">"
+        ]
+    , parents = parents html4Strict ++
+        [ "applet", "center", "dir", "font", "iframe", "isindex", "menu"
+        , "noframes", "s", "u"
+        ]
+    , leafs = leafs html4Strict ++ ["basefont"]
+    , attributes = attributes html4Strict ++
+        [ "background", "bgcolor", "clear", "compact", "hspace", "language"
+        , "noshade", "nowrap", "start", "target", "vspace"
+        ]
+    , selfClosing = False
+    }
+
+-- | HTML 4.0 FrameSet
+--
+html4FrameSet :: HtmlVariant
+html4FrameSet = HtmlVariant
+    { version = ["Html4", "FrameSet"]
+    , docType =
+        [ "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 FrameSet//EN\""
+        , "    \"http://www.w3.org/TR/html4/frameset.dtd\">"
+        ]
+    , parents = parents html4Transitional ++ ["frameset"]
+    , leafs = leafs html4Transitional ++ ["frame"]
+    , 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
+--
+html5 :: HtmlVariant
+html5 = HtmlVariant
+    { version = ["Html5"]
+    , docType = ["<!DOCTYPE HTML>"]
+    , parents =
+        [ "a", "abbr", "address", "article", "aside", "audio", "b", "base"
+        , "bdo", "blockquote", "body", "button", "canvas", "caption", "cite"
+        , "code", "colgroup", "command", "datalist", "dd", "del", "details"
+        , "dfn", "div", "dl", "dt", "em", "fieldset", "figcaption", "figure"
+        , "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header"
+        , "hgroup", "html", "i", "iframe", "ins", "keygen", "kbd", "label"
+        , "legend", "li", "map", "mark", "menu", "meter", "nav", "noscript"
+        , "object", "ol", "optgroup", "option", "output", "p", "pre", "progress"
+        , "q", "rp", "rt", "ruby", "samp", "script", "section", "select"
+        , "small", "source", "span", "strong", "style", "sub", "summary", "sup"
+        , "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time"
+        , "title", "tr", "ul", "var", "video"
+        ]
+    , leafs =
+        [ "area", "br", "col", "embed", "hr", "img", "input", "meta", "link"
+        , "param"
+        ]
+    , attributes =
+        [ "accept", "accept-charset", "accesskey", "action", "alt", "async"
+        , "autocomplete", "autofocus", "autoplay", "challenge", "charset"
+        , "checked", "cite", "class", "cols", "colspan", "content"
+        , "contenteditable", "contextmenu", "controls", "coords", "data"
+        , "datetime", "defer", "dir", "disabled", "draggable", "enctype", "for"
+        , "form", "formaction", "formenctype", "formmethod", "formnovalidate"
+        , "formtarget", "headers", "height", "hidden", "high", "href"
+        , "hreflang", "http-equiv", "icon", "id", "ismap", "item", "itemprop"
+        , "keytype", "label", "lang", "list", "loop", "low", "manifest", "max"
+        , "maxlength", "media", "method", "min", "multiple", "name"
+        , "novalidate", "onbeforeonload", "onbeforeprint", "onblur", "oncanplay"
+        , "oncanplaythrough", "onchange", "oncontextmenu", "onclick"
+        , "ondblclick", "ondrag", "ondragend", "ondragenter", "ondragleave"
+        , "ondragover", "ondragstart", "ondrop", "ondurationchange", "onemptied"
+        , "onended", "onerror", "onfocus", "onformchange", "onforminput"
+        , "onhaschange", "oninput", "oninvalid", "onkeydown", "onkeyup"
+        , "onload", "onloadeddata", "onloadedmetadata", "onloadstart"
+        , "onmessage", "onmousedown", "onmousemove", "onmouseout", "onmouseover"
+        , "onmouseup", "onmousewheel", "ononline", "onpagehide", "onpageshow"
+        , "onpause", "onplay", "onplaying", "onprogress", "onpropstate"
+        , "onratechange", "onreadystatechange", "onredo", "onresize", "onscroll"
+        , "onseeked", "onseeking", "onselect", "onstalled", "onstorage"
+        , "onsubmit", "onsuspend", "ontimeupdate", "onundo", "onunload"
+        , "onvolumechange", "onwaiting", "open", "optimum", "pattern", "ping"
+        , "placeholder", "preload", "pubdate", "radiogroup", "readonly", "rel"
+        , "required", "reversed", "rows", "rowspan", "sandbox", "scope"
+        , "scoped", "seamless", "selected", "shape", "size", "sizes", "span"
+        , "spellcheck", "src", "srcdoc", "start", "step", "style", "subject"
+        , "summary", "tabindex", "target", "title", "type", "usemap", "value"
+        , "width", "wrap", "xmlns"
+        ]
+    , selfClosing = False
+    }
+
+-- | A map of HTML variants, per version, lowercase.
+--
+htmlVariants :: Map String HtmlVariant
+htmlVariants = M.fromList $ map (show &&& id)
+    [ html4Strict
+    , html4Transitional
+    , html4FrameSet
+    , xhtml1Strict
+    , xhtml1Transitional
+    , xhtml1FrameSet
+    , html5
+    ]
+
+main :: IO ()
+main = mapM_ (writeHtmlVariant . snd) $ M.toList htmlVariants
diff --git a/src/Util/Sanitize.hs b/src/Util/Sanitize.hs
new file mode 100644
--- /dev/null
+++ b/src/Util/Sanitize.hs
@@ -0,0 +1,76 @@
+-- | A program to sanitize an HTML tag to a Haskell function.
+--
+module Util.Sanitize
+    ( sanitize
+    , keywords
+    , prelude
+    ) where
+
+import Data.Char (toLower, toUpper)
+import Data.Set (Set)
+import qualified Data.Set as S
+
+-- | Sanitize a tag. This function returns a name that can be used as
+-- combinator in haskell source code.
+--
+-- Examples:
+--
+-- > sanitize "class" == "class_"
+-- > sanitize "http-equiv" == "httpEquiv"
+--
+sanitize :: String -> String
+sanitize = appendUnderscore . removeDash . map toLower
+  where
+    -- Remove a dash, replacing it by camelcase notation
+    --
+    -- Example:
+    --
+    -- > removeDash "foo-bar" == "fooBar"
+    --
+    removeDash ('-' : x : xs) = toUpper x : removeDash xs
+    removeDash (x : xs) = x : removeDash xs
+    removeDash [] = []
+
+    appendUnderscore t | t `S.member` keywords = t ++ "_"
+                       | otherwise             = t
+
+-- | A set of standard Haskell keywords, which cannot be used as combinators.
+--
+keywords :: Set String
+keywords = S.fromList
+    [ "case", "class", "data", "default", "deriving", "do", "else", "if"
+    , "import", "in", "infix", "infixl", "infixr", "instance" , "let", "module"
+    , "newtype", "of", "then", "type", "where"
+    ]
+
+-- | Set of functions from the Prelude, which we do not use as combinators.
+--
+prelude :: Set String
+prelude = S.fromList
+    [ "abs", "acos", "acosh", "all", "and", "any", "appendFile", "asTypeOf"
+    , "asin", "asinh", "atan", "atan2", "atanh", "break", "catch", "ceiling"
+    , "compare", "concat", "concatMap", "const", "cos", "cosh", "curry", "cycle"
+    , "decodeFloat", "div", "divMod", "drop", "dropWhile", "either", "elem"
+    , "encodeFloat", "enumFrom", "enumFromThen", "enumFromThenTo", "enumFromTo"
+    , "error", "even", "exp", "exponent", "fail", "filter", "flip"
+    , "floatDigits", "floatRadix", "floatRange", "floor", "fmap", "foldl"
+    , "foldl1", "foldr", "foldr1", "fromEnum", "fromInteger", "fromIntegral"
+    , "fromRational", "fst", "gcd", "getChar", "getContents", "getLine", "head"
+    , "id", "init", "interact", "ioError", "isDenormalized", "isIEEE"
+    , "isInfinite", "isNaN", "isNegativeZero", "iterate", "last", "lcm"
+    , "length", "lex", "lines", "log", "logBase", "lookup", "map", "mapM"
+    , "mapM_", "max", "maxBound", "maximum", "maybe", "min", "minBound"
+    , "minimum", "mod", "negate", "not", "notElem", "null", "odd", "or"
+    , "otherwise", "pi", "pred", "print", "product", "properFraction", "putChar"
+    , "putStr", "putStrLn", "quot", "quotRem", "read", "readFile", "readIO"
+    , "readList", "readLn", "readParen", "reads", "readsPrec", "realToFrac"
+    , "recip", "rem", "repeat", "replicate", "return", "reverse", "round"
+    , "scaleFloat", "scanl", "scanl1", "scanr", "scanr1", "seq", "sequence"
+    , "sequence_", "show", "showChar", "showList", "showParen", "showString"
+    , "shows", "showsPrec", "significand", "signum", "sin", "sinh", "snd"
+    , "span", "splitAt", "sqrt", "subtract", "succ", "sum", "tail", "take"
+    , "takeWhile", "tan", "tanh", "toEnum", "toInteger", "toRational"
+    , "truncate", "uncurry", "undefined", "unlines", "until", "unwords", "unzip"
+    , "unzip3", "userError", "words", "writeFile", "zip", "zip3", "zipWith"
+    , "zipWith3"
+    ]
diff --git a/tests/TestSuite.hs b/tests/TestSuite.hs
new file mode 100644
--- /dev/null
+++ b/tests/TestSuite.hs
@@ -0,0 +1,16 @@
+-- | Main module to run all tests.
+--
+module Main where
+
+import Test.Framework (defaultMain, testGroup)
+
+import qualified Text.Blaze.Tests
+import qualified Text.Blaze.Tests.Cases
+import qualified Util.Tests
+
+main :: IO ()
+main = defaultMain
+    [ testGroup "Text.Blaze.Tests"       Text.Blaze.Tests.tests
+    , testGroup "Text.Blaze.Tests.Cases" Text.Blaze.Tests.Cases.tests
+    , testGroup "Util.Tests"             Util.Tests.tests
+    ]
