diff --git a/fadno-xml.cabal b/fadno-xml.cabal
--- a/fadno-xml.cabal
+++ b/fadno-xml.cabal
@@ -1,5 +1,5 @@
 name:                fadno-xml
-version:             1.1.1
+version:             1.1.2
 synopsis:            XML/XSD combinators/schemas/codegen
 description:
             Library for generating code from XML schema files, with
@@ -29,12 +29,12 @@
                    Fadno.MusicXml.MusicXml20
   -- other-modules:
   -- other-extensions:
-  build-depends:       Decimal >= 0.4 && < 0.6
-                     , base >= 4.9 && < 4.11
-                     , containers >= 0.5 && < 0.6
-                     , lens >= 4.15 && < 4.17
-                     , mtl >= 2.2 && < 2.3
-                     , parsec >= 3.1 && < 3.2
-                     , xml >= 1.3 && < 1.4
+  build-depends:       Decimal >= 0.4
+                     , base >= 4.9 && < 4.13
+                     , containers >= 0.5
+                     , lens >= 4.15
+                     , mtl >= 2.2
+                     , parsec >= 3.1
+                     , xml >= 1.3
   hs-source-dirs:      src
   default-language:    Haskell2010
diff --git a/src/Fadno/Xml/EmitTypes.hs b/src/Fadno/Xml/EmitTypes.hs
--- a/src/Fadno/Xml/EmitTypes.hs
+++ b/src/Fadno/Xml/EmitTypes.hs
@@ -177,9 +177,11 @@
 -- | State data.
 data EmitState = EmitState { _types :: M.Map Name Type, _stack :: [Name] }
 $(makeLenses ''EmitState)
+instance Semigroup EmitState where
+  (EmitState a b) <> (EmitState c d) = EmitState (a<>c) (b<>d)
 instance Monoid EmitState where
     mempty = EmitState mempty mempty
-    (EmitState a b) `mappend` (EmitState c d) = EmitState (a<>c) (b<>d)
+
 
 -- | Emit monad.
 type Emit a = ReaderT Env (StateT EmitState IO) a
diff --git a/src/Fadno/Xml/ParseXsd.hs b/src/Fadno/Xml/ParseXsd.hs
--- a/src/Fadno/Xml/ParseXsd.hs
+++ b/src/Fadno/Xml/ParseXsd.hs
@@ -291,10 +291,12 @@
                      ", attributes = " ++ show (length as) ++
                      "}"
 
+instance Semigroup Schema where
+  (Schema a b c d e f) <> (Schema g h i j k l) =
+        Schema (a<>g) (b<>h) (c<>i) (d<>j) (e<>k) (f<>l)
+
 instance Monoid Schema where
     mempty = Schema mempty mempty mempty mempty mempty mempty
-    (Schema a b c d e f) `mappend` (Schema g h i j k l) =
-        Schema (a<>g) (b<>h) (c<>i) (d<>j) (e<>k) (f<>l)
 
 
 
