diff --git a/library/SlaveThread.hs b/library/SlaveThread.hs
--- a/library/SlaveThread.hs
+++ b/library/SlaveThread.hs
@@ -59,8 +59,8 @@
 -- Fork a slave thread to run a computation on.
 {-# INLINABLE fork #-}
 fork :: IO a -> IO ThreadId
-fork main =
-  forkFinally (return ()) main
+fork =
+  forkFinally $ return ()
 
 -- |
 -- Fork a slave thread with a finalizer action to run a computation on.
@@ -76,7 +76,7 @@
   mask $ \unmask -> do
     masterThread <- myThreadId
     -- Ensures that the thread gets registered before being unregistered
-    registrationPass <- newEmptyMVar
+    registrationGate <- newEmptyMVar
     slaveThread <-
       forkIOWithoutHandler $ do
         slaveThread <- myThreadId
@@ -91,10 +91,10 @@
           PartialHandler.totalizeRethrowingTo_ masterThread $ mempty
         -- Unregister from the global state,
         -- thus informing the master of this thread's death:
-        takeMVar registrationPass
+        takeMVar registrationGate
         atomically $ Multimap.delete slaveThread masterThread slaves
     atomically $ Multimap.insert slaveThread masterThread slaves
-    putMVar registrationPass ()
+    putMVar registrationGate ()
     return slaveThread
 
 killSlaves :: ThreadId -> IO ()
diff --git a/slave-thread.cabal b/slave-thread.cabal
--- a/slave-thread.cabal
+++ b/slave-thread.cabal
@@ -1,7 +1,7 @@
 name:
   slave-thread
 version:
-  0.1.4
+  0.1.5
 synopsis:
   A principal solution to ghost threads and silent exceptions
 description:
@@ -77,7 +77,7 @@
     stm-containers >= 0.2.0 && < 0.3,
     -- control:
     partial-handler >= 0.1.0 && < 0.2,
-    list-t >= 0.2.4 && < 0.4,
+    list-t >= 0.2.4 && < 0.5,
     mmorph >= 1.0.4 && < 1.1,
     transformers >= 0.2 && < 0.5,
     -- general:
