diff --git a/Vivid/Actions/Class.hs b/Vivid/Actions/Class.hs
--- a/Vivid/Actions/Class.hs
+++ b/Vivid/Actions/Class.hs
@@ -29,8 +29,9 @@
 
 import Control.Monad.IO.Class (MonadIO)
 import Data.ByteString (ByteString)
+import Data.Kind (Type)
 
-class (Monad m , MonadIO m) => VividAction (m :: * -> *) where
+class (Monad m , MonadIO m) => VividAction (m :: Type -> Type) where
 
    -- | Send an 'OSC' message to the SuperCollider server
    callOSC :: OSC -> m ()
diff --git a/Vivid/GlobalState.hs b/Vivid/GlobalState.hs
--- a/Vivid/GlobalState.hs
+++ b/Vivid/GlobalState.hs
@@ -26,6 +26,7 @@
    , getNextAvailable
    ) where
 
+import Control.Monad (void)
 import Control.Concurrent (ThreadId, forkIO)
 import Control.Concurrent.MVar (MVar)
 import Control.Concurrent.STM
diff --git a/Vivid/SynthDef/FromUA.hs b/Vivid/SynthDef/FromUA.hs
--- a/Vivid/SynthDef/FromUA.hs
+++ b/Vivid/SynthDef/FromUA.hs
@@ -52,10 +52,11 @@
 import Data.Proxy
 import GHC.Exts
 import GHC.TypeLits
+import Data.Kind (Type)
 
 type SDBody a = SDBody' (SDBodyArgs a)
 
-class FromUA (a :: *) where
+class FromUA (a :: Type) where
    type UAsArgs a :: [Symbol]
    type SDBodyArgs a :: [Symbol]
    fromUA :: a -> SDBody a [(String, Signal)]
diff --git a/Vivid/SynthDef/ToSig.hs b/Vivid/SynthDef/ToSig.hs
--- a/Vivid/SynthDef/ToSig.hs
+++ b/Vivid/SynthDef/ToSig.hs
@@ -14,7 +14,7 @@
    , TypeFamilies, NoMonoLocalBinds
    , TypeSynonymInstances
    , UndecidableInstances
-
+   , TypeOperators
    , NoMonomorphismRestriction
    #-}
 
diff --git a/vivid.cabal b/vivid.cabal
--- a/vivid.cabal
+++ b/vivid.cabal
@@ -1,5 +1,5 @@
 name:                vivid
-version:             0.5.2.0
+version:             0.5.2.1
 synopsis:            Sound synthesis with SuperCollider
 description:         
   Music and sound synthesis with SuperCollider.
