diff --git a/network-transport-zeromq.cabal b/network-transport-zeromq.cabal
--- a/network-transport-zeromq.cabal
+++ b/network-transport-zeromq.cabal
@@ -1,5 +1,5 @@
 name:                network-transport-zeromq
-version:             0.2.1
+version:             0.2.1.1
 synopsis:            ZeroMQ backend for network-transport
 description:
   Implementation of the
@@ -40,7 +40,7 @@
   default:     False
 
 library
-  build-depends:      base >=4.6 && < 4.8,
+  build-depends:      base >=4.6 && < 5,
                       binary >= 0.6,
                       network-transport >= 0.4,
                       zeromq4-haskell >= 0.6,
diff --git a/src/Network/Transport/ZMQ.hs b/src/Network/Transport/ZMQ.hs
--- a/src/Network/Transport/ZMQ.hs
+++ b/src/Network/Transport/ZMQ.hs
@@ -120,7 +120,7 @@
 import           System.ZMQ4
       ( Context )
 import qualified System.ZMQ4 as ZMQ
-import Data.Accessor ((^.), (^=), (^:) ) 
+import Data.Accessor ((^.), (^=), (^:) )
 
 import           Text.Printf
 
@@ -426,7 +426,7 @@
     receiver :: ZMQ.Socket ZMQ.Pull
              -> LocalEndPoint
              -> TMChan Event
-	     -> IO ()
+             -> IO ()
     receiver pull ourEp chan = forever $ mask_ $ do
       (cmd:msgs) <- ZMQ.receiveMulti pull
       case decode' cmd of
@@ -505,10 +505,10 @@
                                ZMQConnectionValid (ValidZMQConnection _ _) -> do
                                   atomically $ writeTMChan chan (ConnectionClosed idx)
                                   connectionCleanup (connectionRemoteEndPoint conn) idx)
-	    LocalEndPointClosed -> return (LocalEndPointClosed, return ())
+            LocalEndPointClosed -> return (LocalEndPointClosed, return ())
         MessageInitConnectionOk theirAddress ourId theirId -> do
           join $ withMVar (localEndPointState ourEp) $ \case
-            LocalEndPointValid v -> 
+            LocalEndPointValid v ->
                 case v ^. localEndPointRemoteAt theirAddress of
                   Nothing  -> return (return ()) -- XXX: send message to the host
                   Just rep -> modifyMVar (remoteEndPointState rep) $ \case
@@ -649,7 +649,7 @@
            -> ConnectHints
            -> IO (Either (TransportError ConnectErrorCode) Connection)
 apiConnect params ctx ourEp theirAddr reliability _hints = fmap (either Left id) $  try $
-    mapZMQException (TransportError ConnectFailed . show) $ do 
+    mapZMQException (TransportError ConnectFailed . show) $ do
       eRep <- createOrGetRemoteEndPoint params ctx ourEp theirAddr
       case eRep of
         Left{} -> return $ Left $ TransportError ConnectFailed "LocalEndPoint is closed."
@@ -736,7 +736,7 @@
       state <- newMVar . RemoteEndPointPending =<< newIORef []
       opened <- newIORef False
       let rep = RemoteEndPoint theirAddr state opened
-      return ( LocalEndPointValid 
+      return ( LocalEndPointValid
              . (localEndPointRemotes ^: (Map.insert theirAddr rep))
              $ v
              , initialize push rep >> return (Right rep))
@@ -959,7 +959,7 @@
 --
 -- >  host:Port:ControlPort
 --
--- where Port is 'hintsPort' and ControlPort is 'hintsControlPort'. If the hint port 
+-- where Port is 'hintsPort' and ControlPort is 'hintsControlPort'. If the hint port
 -- is not specified then random ports will be used.
 apiNewMulticastGroup :: Hints                                   -- ^ Multicast group hints.
                      -> TransportInternals                      -- ^ Internal transport state.
diff --git a/src/Network/Transport/ZMQ/Internal/Types.hs b/src/Network/Transport/ZMQ/Internal/Types.hs
--- a/src/Network/Transport/ZMQ/Internal/Types.hs
+++ b/src/Network/Transport/ZMQ/Internal/Types.hs
@@ -80,6 +80,7 @@
 import qualified System.ZMQ4 as ZMQ
 import Data.Accessor (Accessor, accessor)
 import qualified Data.Accessor.Container as DAC (mapMaybe)
+import Prelude
 
 
 -- | Parameters for ZeroMQ connection.
@@ -296,7 +297,7 @@
 localEndPointRemotes = accessor _localEndPointRemotes (\e t -> t{_localEndPointRemotes = e})
 
 localEndPointRemoteAt :: EndPointAddress -> Accessor ValidLocalEndPoint (Maybe RemoteEndPoint)
-localEndPointRemoteAt addr = localEndPointRemotes >>> DAC.mapMaybe addr 
+localEndPointRemoteAt addr = localEndPointRemotes >>> DAC.mapMaybe addr
 
 localEndPointMulticastGroups :: Accessor ValidLocalEndPoint (Map MulticastAddress ZMQMulticastGroup)
 localEndPointMulticastGroups = accessor _localEndPointMulticastGroups (\e t -> t{_localEndPointMulticastGroups = e})
