diff --git a/lucid-svg.cabal b/lucid-svg.cabal
--- a/lucid-svg.cabal
+++ b/lucid-svg.cabal
@@ -1,5 +1,5 @@
 name:                lucid-svg
-version:             0.6.0.1
+version:             0.7.0.0
 synopsis:            DSL for SVG using lucid for HTML
 description:         Easy to write SVG in the syle of lucid.
 homepage:            http://github.com/jeffreyrosenbluth/lucid-svg.git
@@ -14,14 +14,14 @@
 cabal-version:       >=1.10
 
 library
-  ghc-options:         -Wall -rtsopts -O2
+  ghc-options:         -Wall
   exposed-modules:     Lucid.Svg,
                        Lucid.Svg.Path,
                        Lucid.Svg.Elements,
                        Lucid.Svg.Attributes
-  build-depends:       base          >= 4.5   && < 4.9,
+  build-depends:       base          >= 4.5   && < 4.10,
                        blaze-builder >= 0.2   && < 0.5,
-                       transformers  >= 0.2   && < 0.5,
+                       transformers  >= 0.2   && < 0.6,
                        text          >= 0.11  && < 1.3,
                        lucid         >= 2.9.2 && < 3.0
   hs-source-dirs:      src
diff --git a/src/Lucid/Svg/Elements.hs b/src/Lucid/Svg/Elements.hs
--- a/src/Lucid/Svg/Elements.hs
+++ b/src/Lucid/Svg/Elements.hs
@@ -83,8 +83,8 @@
 defs_ = term "defs"
 
 -- | @desc@ element
-desc_ :: Monad m => [Attribute] -> SvgT m ()
-desc_ = with $ makeXmlElementNoEnd "desc"
+desc_ :: Term arg result => arg -> result
+desc_ = term "desc"
 
 -- | @ellipse@ element
 ellipse_ :: Monad m => [Attribute] -> SvgT m ()
@@ -327,8 +327,8 @@
 textPath_ = term "textPath"
 
 -- | @title@ element
-title_ :: Monad m => [Attribute] -> SvgT m ()
-title_ = with $ makeXmlElementNoEnd "title"
+title_ :: Term arg result => arg -> result
+title_ = term "title"
 
 -- | @tref@ element
 tref_ :: Monad m => [Attribute] -> SvgT m ()
