diff --git a/src/Text/XML/Basic/Entity.hs b/src/Text/XML/Basic/Entity.hs
--- a/src/Text/XML/Basic/Entity.hs
+++ b/src/Text/XML/Basic/Entity.hs
@@ -8,7 +8,9 @@
 import qualified Data.Map as Map
 import qualified Data.Char as Char
 import Control.Monad.Exception.Synchronous (Exceptional, assert, throw, )
+import Control.Monad.HT ((<=<), )
 import Data.Monoid (Monoid(mempty, mappend), mconcat, )
+import Data.Semigroup (Semigroup((<>)), )
 import Data.Tuple.HT (swap, )
 
 
@@ -60,11 +62,12 @@
 
 newtype Update e a = Update {evalUpdate :: a -> Exceptional e a}
 
+instance Semigroup (Update e a) where
+   Update x <> Update y = Update (y <=< x)
+
 instance Monoid (Update e a) where
    mempty = Update return
-   mappend (Update x) (Update y) =
-      Update (\a -> x a >>= y)
---      Update (x>=>y)
+   mappend = (<>)
 
 
 
diff --git a/src/Text/XML/Basic/ProcessingInstruction.hs b/src/Text/XML/Basic/ProcessingInstruction.hs
--- a/src/Text/XML/Basic/ProcessingInstruction.hs
+++ b/src/Text/XML/Basic/ProcessingInstruction.hs
@@ -8,7 +8,7 @@
 import qualified Text.XML.Basic.Name as Name
 import qualified Text.XML.Basic.Format as Fmt
 
-import Data.Monoid (Monoid, mempty, )
+import Data.Monoid (mempty, )
 
 import Data.Foldable (Foldable(foldMap), )
 import Data.Traversable (Traversable(sequenceA), traverse, )
diff --git a/xml-basic.cabal b/xml-basic.cabal
--- a/xml-basic.cabal
+++ b/xml-basic.cabal
@@ -1,5 +1,5 @@
 Name:             xml-basic
-Version:          0.1.2
+Version:          0.1.3
 License:          BSD3
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -24,7 +24,7 @@
 Source-Repository this
   type:     darcs
   location: http://code.haskell.org/~thielema/xml-basic/
-  tag:      0.1.2
+  tag:      0.1.3
 
 Flag splitBase
   description: Choose the new smaller, split-up base package.
@@ -33,6 +33,7 @@
   Build-Depends:
     explicit-exception >=0.1.3 && <0.2,
     data-accessor >=0.2 && <0.3,
+    semigroups >=0.1 && <1.0,
     utility-ht >=0.0.13 && <0.1
   If flag(splitBase)
     Build-Depends:
