diff --git a/csound-expression.cabal b/csound-expression.cabal
--- a/csound-expression.cabal
+++ b/csound-expression.cabal
@@ -1,5 +1,5 @@
 Name:          csound-expression
-Version:       5.4.2
+Version:       5.4.3
 cabal-version: >= 1.22
 License:       BSD3
 License-file:  LICENSE
@@ -85,7 +85,7 @@
         colour >= 2.0,
         transformers >= 0.3,
         containers,
-        csound-expression-typed >= 0.2.6,
+        csound-expression-typed >= 0.2.7,
         csound-expression-dynamic >= 0.3.8,
         temporal-media >= 0.6.3,
         csound-expression-opcodes >= 0.0.5.1
diff --git a/src/Csound/Control/Gui/Widget.hs b/src/Csound/Control/Gui/Widget.hs
--- a/src/Csound/Control/Gui/Widget.hs
+++ b/src/Csound/Control/Gui/Widget.hs
@@ -342,7 +342,7 @@
 rangeEvt1 widget isInit range initVal = mapSource (addInit . snaps) $ rangeSig1 widget range initVal
     where
         addInit
-            | isInit    = ((devt (int initVal) loadbang) <> )
+            | isInit    = ((devt (int initVal) loadbang) `mappend` )
             | otherwise = id
 
 -- | 2d range range slider. Outputs a pair of event streams.
diff --git a/src/Csound/IO.hs b/src/Csound/IO.hs
--- a/src/Csound/IO.hs
+++ b/src/Csound/IO.hs
@@ -251,7 +251,7 @@
     writeCsdBy opt "tmp.csd" a
     runWithUserInterrupt (postSetup opt') $ unwords ["csound tmp.csd", logTrace opt']
     where
-      opt = opt' <> withDac <> withAdc
+      opt = mconcat [opt', withDac, withAdc]
 
       withDac
         | hasJackConnections opt' = setDacBy "null"
@@ -282,7 +282,7 @@
 -- | Renders to file @tmp.csd@ and invokes the csound on it.
 csdBy :: (RenderCsd a) => Options -> a -> IO ()
 csdBy options a = do
-    writeCsdBy (setSilent <> options) "tmp.csd" a
+    writeCsdBy (setSilent `mappend` options) "tmp.csd" a
     runWithUserInterrupt (postSetup options) $ unwords ["csound tmp.csd", logTrace options]
 
 postSetup :: Options -> IO ()
@@ -295,7 +295,7 @@
                                          _  -> void $ runCommand $ jackCmd conns
   | otherwise                        = pure ()
   where
-    addSleep = ("sleep 0.1; " <> )
+    addSleep = ("sleep 0.1; " `mappend` )
 
     jackCmd = addSleep . L.intercalate ";" . fmap jackConn
     jackConn (port1, port2) = unwords ["jack_connect", port1, port2]
@@ -351,7 +351,7 @@
 runCabbageBy opt' a = do
     writeCsdBy opt "tmp.csd" a
     runWithUserInterrupt (pure ()) $ "Cabbage tmp.csd"
-    where opt = opt' <> setCabbage
+    where opt = opt' `mappend` setCabbage
 
 ------------------------------
 
diff --git a/src/Csound/Options.hs b/src/Csound/Options.hs
--- a/src/Csound/Options.hs
+++ b/src/Csound/Options.hs
@@ -155,7 +155,7 @@
 
 -- | Provides options for Cabbage VST-engine.
 setCabbage :: Options
-setCabbage = setRates 48000 64 <> setNoRtMidi <> setMidiDevice "0"
+setCabbage = mconcat [setRates 48000 64, setNoRtMidi, setMidiDevice "0"]
     where setNoRtMidi = def { csdFlags = def { rtmidi = Just NoRtmidi, audioFileOutput = def { nosound = True } }}
 
 -- | Defines what ports we should connect after application is launched
