diff --git a/Sound/SC3/Server/State/Monad.hs b/Sound/SC3/Server/State/Monad.hs
--- a/Sound/SC3/Server/State/Monad.hs
+++ b/Sound/SC3/Server/State/Monad.hs
@@ -81,13 +81,13 @@
   liftBase = liftIO
 
 instance MonadBaseControl IO Server where
-  newtype StM Server a = StM_Server a
+  type StM Server a = a
   {-# INLINE liftBaseWith #-}
   liftBaseWith f = do
     s <- Server R.ask
-    liftIO $ f $ flip runReaderT s . unServer . fmap StM_Server
+    liftIO $ f $ flip runReaderT s . unServer
   {-# INLINE restoreM #-}
-  restoreM (StM_Server a) = return a
+  restoreM = return
 
 -- | Run a 'Server' computation given a connection and return the result.
 runServer :: Server a -> ServerOptions -> Connection -> IO a
@@ -149,7 +149,7 @@
   sendOSC osc = withConnection (flip C.send osc)
 
 newtype AsTransport a = AsTransport (ReaderT (Connection, Conc.Chan Packet) IO a)
-  deriving (Functor, Monad, MonadIO)
+  deriving (Functor, Applicative, Monad, MonadIO)
 
 instance SendOSC AsTransport where
   sendOSC osc = AsTransport $ R.asks fst >>= liftIO . flip C.send osc
diff --git a/hsc3-server.cabal b/hsc3-server.cabal
--- a/hsc3-server.cabal
+++ b/hsc3-server.cabal
@@ -1,5 +1,5 @@
 Name:               hsc3-server
-Version:            0.9.2
+Version:            0.10.0
 Synopsis:           SuperCollider server resource management and synchronization.
 Description:
     This library provides abstractions for managing SuperCollider server
@@ -57,7 +57,7 @@
       , hsc3-process == 0.10.*
       , lifted-base >= 0.1
       , ListZipper
-      , monad-control >= 0.3
+      , monad-control >= 1.0
       , resourcet >= 0.3
       , transformers >= 0.2
       , transformers-base >= 0.4
