diff --git a/src/Quasar/Network/Runtime.hs b/src/Quasar/Network/Runtime.hs
index 473c2ba6b5cb5ac98e5b2e2ef1993e1f33c3a953..707b4cf3827fd21988c5d6b548be0f9faef9f814 100644
--- a/src/Quasar/Network/Runtime.hs
+++ b/src/Quasar/Network/Runtime.hs
@@ -232,7 +232,7 @@ addListener_ :: (HasProtocolImpl p, MonadIO m) => Server p -> Listener -> m ()
 addListener_ server listener = void $ addListener server listener
 
 runServer :: forall p m. (HasProtocolImpl p, MonadResourceManager m) => ProtocolImpl p -> [Listener] -> m ()
-runServer _ [] = throwM $ userError "Tried to start a server without any listeners attached"
+runServer _ [] = throwM $ userError "Tried to start a server without any listeners"
 runServer protocolImpl listener = do
   server <- newServer @p protocolImpl listener
   await $ isDisposed server
@@ -240,7 +240,7 @@ runServer protocolImpl listener = do
 listenTCP :: forall p m. (HasProtocolImpl p, MonadResourceManager m) => ProtocolImpl p -> Maybe Socket.HostName -> Socket.ServiceName -> m ()
 listenTCP impl mhost port = runServer @p impl [TcpPort mhost port]
 
-runTCPListener :: forall p a m. (HasProtocolImpl p, MonadResourceManager m) => Server p -> Maybe Socket.HostName -> Socket.ServiceName -> m a
+runTCPListener :: forall p a m. (HasProtocolImpl p, MonadIO m, MonadMask m) => Server p -> Maybe Socket.HostName -> Socket.ServiceName -> m a
 runTCPListener server mhost port = do
   addr <- liftIO resolve
   bracket (liftIO (open addr)) (liftIO . Socket.close) (runListenerOnBoundSocket server)
@@ -259,7 +259,7 @@ runTCPListener server mhost port = do
 listenUnix :: forall p m. (HasProtocolImpl p, MonadResourceManager m) => ProtocolImpl p -> FilePath -> m ()
 listenUnix impl path = runServer @p impl [UnixSocket path]
 
-runUnixSocketListener :: forall p a m. (HasProtocolImpl p, MonadResourceManager m) => Server p -> FilePath -> m a
+runUnixSocketListener :: forall p a m. (HasProtocolImpl p, MonadIO m, MonadMask m) => Server p -> FilePath -> m a
 runUnixSocketListener server socketPath = do
   bracket create (liftIO . Socket.close) (runListenerOnBoundSocket server)
   where
@@ -281,7 +281,7 @@ runUnixSocketListener server socketPath = do
 listenOnBoundSocket :: forall p m. (HasProtocolImpl p, MonadResourceManager m) => ProtocolImpl p -> Socket.Socket -> m ()
 listenOnBoundSocket protocolImpl socket = runServer @p protocolImpl [ListenSocket socket]
 
-runListenerOnBoundSocket :: forall p a m. (HasProtocolImpl p, MonadResourceManager m) => Server p -> Socket.Socket -> m a
+runListenerOnBoundSocket :: forall p a m. (HasProtocolImpl p, MonadIO m, MonadMask m) => Server p -> Socket.Socket -> m a
 runListenerOnBoundSocket server sock = do
   liftIO $ Socket.listen sock 1024
   forever $ mask_ $ do