diff --git a/http-pony.cabal b/http-pony.cabal
--- a/http-pony.cabal
+++ b/http-pony.cabal
@@ -1,5 +1,5 @@
 name:                http-pony
-version:             0.1.0.5
+version:             0.1.0.6
 synopsis:            A type unsafe http library
 license:             BSD3
 license-file:        LICENSE
diff --git a/src/Network/HTTP/Pony/Serve.hs b/src/Network/HTTP/Pony/Serve.hs
--- a/src/Network/HTTP/Pony/Serve.hs
+++ b/src/Network/HTTP/Pony/Serve.hs
@@ -16,14 +16,14 @@
 import           Pipes.Network.TCP.Safe (fromSocket, toSocket, connect, connectSock
                                         , closeSock)
 import qualified Pipes.Network.TCP.Safe as PipesNetwork
-import           Pipes.Safe (MonadSafe(), runSafeT, SafeT, try, catch, throwM)
+import           Pipes.Safe (MonadSafe(), runSafeT, SafeT, tryP, throwM)
 
 import           Network.HTTP.Pony.Helper ((-), shutdownSend, shutdownReceive)
 import           Network.HTTP.Pony.ServeSafe (serveWithPipe)
 import           Prelude hiding ((-), log)
 
 
-serveWithSocket :: (MonadIO m, MonadCatch m)  => (NS.Socket, NS.SockAddr)
+serveWithSocket :: (MonadSafe m, MonadCatch m)  => (NS.Socket, NS.SockAddr)
                                 -> (Producer ByteString m () -> m (Producer ByteString m ()))
                                 -> m ()
 serveWithSocket (s,_) =
@@ -45,7 +45,7 @@
           --       pure ()
 
           let cont = () <$ await
-          r <- try (shutdownSend s)
+          r <- tryP (shutdownSend s)
           case r of
             Right _ -> cont
             Left e -> do
