diff --git a/src/Transient/Internals.hs b/src/Transient/Internals.hs
--- a/src/Transient/Internals.hs
+++ b/src/Transient/Internals.hs
@@ -1489,13 +1489,13 @@
                                                                  -- !> "END RUNCLOSURE"
 
         case mr of
-           Nothing -> return empty                                     --  !> "END EXECUTION"
+           Nothing -> return Nothing                                     --  !> "END EXECUTION"
            Just x -> case back of
                  Nothing -> runContinuation first x                    --  !> "FORWARD EXEC"
                  justreason ->do
                         setData $ Backtrack justreason bs
                         goBackt $ Backtrack justreason bs
-                        empty       --  !> ("BACK AGAIN",back)
+                        return Nothing       --  !> ("BACK AGAIN",back)
 
 backStateOf :: (Monad m, Show a, Typeable a) => a -> m (Backtrack a)
 backStateOf reason= return $ Backtrack (Nothing `asTypeOf` (Just reason)) []
diff --git a/transient.cabal b/transient.cabal
--- a/transient.cabal
+++ b/transient.cabal
@@ -1,5 +1,5 @@
 name: transient
-version: 0.5.9
+version: 0.5.9.1
 author: Alberto G. Corona
 extra-source-files:
     ChangeLog.md README.md
@@ -26,6 +26,7 @@
     -- support GHC 7.10.3 and later; lower bounds below denote GHC 7.10.3's bundled versions
     build-depends:     base          >= 4.8.1  &&  < 5
                      , containers    >= 0.5.6
+                     , transformers  >= 0.4.2
                      , time          >= 1.5
                      , directory     >= 1.2.2
                      , bytestring    >= 0.10.6
@@ -71,6 +72,7 @@
                      , mtl
                      , stm
                      , random
+                     , atomic-primops
     type: exitcode-stdio-1.0
     main-is: TestSuite.hs
     build-depends:
