diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+## 2.6
+
+* Restrict monoid instance's a to ~ () (means you can use mempty
+  without inference errors)
+
 ## 2.2
 
 * Export renderToFile from top-level Lucid module.
diff --git a/lucid.cabal b/lucid.cabal
--- a/lucid.cabal
+++ b/lucid.cabal
@@ -1,5 +1,5 @@
 name:                lucid
-version:             2.5
+version:             2.6.0
 synopsis:            Clear to write, read and edit DSL for HTML
 description:         Clear to write, read and edit DSL for HTML. See the 'Lucid' module
                      for description and documentation.
diff --git a/src/Lucid/Base.hs b/src/Lucid/Base.hs
--- a/src/Lucid/Base.hs
+++ b/src/Lucid/Base.hs
@@ -78,7 +78,7 @@
          }
 
 -- | Monoid is right-associative, a la the 'Builder' in it.
-instance (Monoid a,Monad m) => Monoid (HtmlT m a) where
+instance (a ~ (),Monad m) => Monoid (HtmlT m a) where
   mempty = HtmlT (return (\_ _ -> mempty,mempty))
   mappend (HtmlT get_f_a) (HtmlT get_g_b) =
     HtmlT (do ~(f,a) <- get_f_a
