diff --git a/src/Synthesizer/CausalIO/Gate.hs b/src/Synthesizer/CausalIO/Gate.hs
--- a/src/Synthesizer/CausalIO/Gate.hs
+++ b/src/Synthesizer/CausalIO/Gate.hs
@@ -67,7 +67,6 @@
 
 instance Mn.Monoid (Chunk a) where
    mempty = error "Gate.mempty cannot be defined"
-   mappend = (Sg.<>)
 
 instance CutG.Transform (Chunk a) where
    take n (Chunk dur mrel) =
diff --git a/src/Synthesizer/CausalIO/Process.hs b/src/Synthesizer/CausalIO/Process.hs
--- a/src/Synthesizer/CausalIO/Process.hs
+++ b/src/Synthesizer/CausalIO/Process.hs
@@ -208,7 +208,6 @@
       (\ _a () -> return (mempty, ()))
       (return ())
       (\() -> return ())
-   mappend = append mappend
 
 append ::
    (CutG.Transform a, CutG.Consume b) =>
diff --git a/src/Synthesizer/ChunkySize.hs b/src/Synthesizer/ChunkySize.hs
--- a/src/Synthesizer/ChunkySize.hs
+++ b/src/Synthesizer/ChunkySize.hs
@@ -23,7 +23,7 @@
 import qualified Data.StorableVector.Lazy.Pattern as SigStV
 
 import qualified Data.List as List
-import Data.Monoid (Monoid, mappend, mempty, )
+import Data.Monoid (Monoid, mempty, )
 import Data.Semigroup (Semigroup, (<>), )
 
 import qualified Test.QuickCheck as QC
@@ -54,7 +54,6 @@
 
 instance Monoid LazySize where
    mempty = LazySize 0
-   mappend = (<>)
 
 instance Monoid.C LazySize where
    idt = LazySize 0
diff --git a/src/Synthesizer/Generic/LengthSignal.hs b/src/Synthesizer/Generic/LengthSignal.hs
--- a/src/Synthesizer/Generic/LengthSignal.hs
+++ b/src/Synthesizer/Generic/LengthSignal.hs
@@ -41,8 +41,6 @@
 
 instance (Monoid sig) => Monoid (T sig) where
    mempty = Cons zero mempty
-   mappend (Cons xl xs) (Cons yl ys) =
-      Cons (xl+yl) (mappend xs ys)
 
 splitAt :: (CutG.Transform sig) => Int -> T sig -> (T sig, T sig)
 splitAt n (Cons xl xs) =
diff --git a/src/Synthesizer/Plain/Builder.hs b/src/Synthesizer/Plain/Builder.hs
--- a/src/Synthesizer/Plain/Builder.hs
+++ b/src/Synthesizer/Plain/Builder.hs
@@ -5,7 +5,7 @@
 
 import qualified Synthesizer.Basic.Binary as BinSmp
 
-import Data.Monoid (Monoid, mempty, mappend, mconcat, Endo(Endo), appEndo, )
+import Data.Monoid (Monoid, mempty, mconcat, Endo(Endo), appEndo, )
 import Data.Semigroup (Semigroup, (<>), )
 
 import qualified Algebra.FloatingPoint as Float
@@ -27,7 +27,6 @@
 
 instance Monoid (T a) where
    mempty = Cons mempty
-   mappend = (<>)
 
 put :: Put a
 put = Cons . Endo . (:)
diff --git a/src/Synthesizer/State/Signal.hs b/src/Synthesizer/State/Signal.hs
--- a/src/Synthesizer/State/Signal.hs
+++ b/src/Synthesizer/State/Signal.hs
@@ -92,7 +92,6 @@
    x <*> y = liftA2 ($) x y
 
 instance Monad T where
-   return = singleton
    x >>= k =
       runViewL x $ \f s0 ->
       flip generate (fmap (mapFst k) $ f s0) $ \m ->
@@ -860,7 +859,6 @@
 
 instance Monoid (T y) where
    mempty = empty
-   mappend = (<>)
 
 
 catMaybes :: T (Maybe a) -> T a
diff --git a/src/Synthesizer/Zip.hs b/src/Synthesizer/Zip.hs
--- a/src/Synthesizer/Zip.hs
+++ b/src/Synthesizer/Zip.hs
@@ -5,7 +5,7 @@
 import qualified Control.Arrow as Arrow
 import Control.Arrow (Arrow, (<<<), (^<<), (<<^), )
 
-import Data.Monoid (Monoid, mempty, mappend, )
+import Data.Monoid (Monoid, mempty, )
 import Data.Semigroup (Semigroup, (<>), )
 
 
@@ -115,8 +115,6 @@
 
 instance (Monoid a, Monoid b) => Monoid (T a b) where
    mempty = Cons mempty mempty
-   mappend (Cons a0 b0) (Cons a1 b1) =
-      Cons (mappend a0 a1) (mappend b0 b1)
 
 instance (CutG.Consume a, CutG.Consume b) => CutG.Consume (T a b) where
    {-# INLINE null #-}
diff --git a/synthesizer-core.cabal b/synthesizer-core.cabal
--- a/synthesizer-core.cabal
+++ b/synthesizer-core.cabal
@@ -1,5 +1,5 @@
 Name:           synthesizer-core
-Version:        0.9
+Version:        0.9.0.1
 License:        GPL
 License-File:   LICENSE
 Author:         Henning Thielemann <haskell@henning-thielemann.de>
@@ -39,7 +39,7 @@
 
 
 Source-Repository this
-  Tag:         0.9
+  Tag:         0.9.0.1
   Type:        darcs
   Location:    http://code.haskell.org/synthesizer/core/
 
@@ -72,7 +72,7 @@
     containers >=0.1 && <0.9,
     random >=1.0 && <1.4,
     process >=1.0 && <1.7,
-    base >=4 && <5
+    base >=4.11 && <5
 
   If impl(ghc>=7.0)
 -- also warns about NumericPrelude import:  -fwarn-missing-import-lists
