diff --git a/Git/Smoke.hs b/Git/Smoke.hs
--- a/Git/Smoke.hs
+++ b/Git/Smoke.hs
@@ -15,6 +15,7 @@
 import           Control.Applicative
 import           Control.Exception
 import           Control.Monad
+import           Control.Monad.IO.Unlift
 import qualified Data.ByteString.Lazy as BL
 import           Data.List (sort)
 import           Data.Monoid
@@ -33,8 +34,8 @@
 sampleCommit tr sig =
     createCommit [] tr sig sig "Sample log message.\n" Nothing
 
-smokeTestSpec :: (MonadGit r m, MonadIO m, MonadBaseControl IO m, MonadThrow m,
-                  MonadGit s n, MonadIO n, MonadBaseControl IO n, MonadThrow n)
+smokeTestSpec :: (MonadGit r m, MonadUnliftIO m, MonadThrow m,
+                  MonadGit s n, MonadUnliftIO n, MonadThrow n)
               => RepositoryFactory m IO r
               -> RepositoryFactory n m s
               -> Spec
@@ -429,8 +430,7 @@
     =<< lift (createBlob $ BlobStream $
                   sourceLazy (BL.fromChunks [path <> "\n"]))
 
-doTreeit :: (MonadBaseControl IO m, MonadIO m,
-             MonadGit r n, MonadBaseControl IO n, MonadIO n)
+doTreeit :: (MonadUnliftIO m, MonadGit r n, MonadUnliftIO n)
        => String -> RepositoryFactory n m r -> [Kind] -> TreeT r n a -> m ()
 doTreeit label pr kinds action = withNewRepository pr fullPath $ do
     tref <- createTree action
@@ -456,12 +456,12 @@
     fullPath  = normalize label <> ".git"
     normalize = map (\x -> if x == ' ' then '-' else x)
 
--- treeit :: (Example (m ()), MonadIO m, MonadBaseControl IO m,
---            MonadGit r n, MonadIO n, MonadBaseControl IO n)
+-- treeit :: (Example (m ()), MonadUnliftIO m
+--            MonadGit r n, MonadUnliftIO n)
 --        => String -> RepositoryFactory n m r -> [Kind] -> TreeT r n a -> Spec
 treeit label pr kinds action = it label $ doTreeit label pr kinds action
 
-treeitFail :: (MonadGit r m, MonadIO m, MonadBaseControl IO m)
+treeitFail :: (MonadGit r m, MonadUnliftIO m)
            => String -> RepositoryFactory m IO r -> [Kind] -> TreeT r m a
            -> Spec
 treeitFail label pr kinds action =
diff --git a/gitlib-test.cabal b/gitlib-test.cabal
--- a/gitlib-test.cabal
+++ b/gitlib-test.cabal
@@ -1,5 +1,5 @@
 Name:                gitlib-test
-Version:             3.1.0.3
+Version:             3.1.1
 Synopsis:            Test library for confirming gitlib backend compliance
 License-file:        LICENSE
 License:             MIT
@@ -29,10 +29,10 @@
         , exceptions           >= 0.5
         , conduit              >= 1.1.0
         , conduit-combinators  >= 1
-        , monad-control        <  1.1
         , tagged               >= 0.4.4
         , text                 >= 0.11.2
         , time                 >= 1.4
         , transformers         >= 0.3
+        , unliftio-core        >= 0.1.1
     exposed-modules:
         Git.Smoke
