diff --git a/stateWriter.cabal b/stateWriter.cabal
--- a/stateWriter.cabal
+++ b/stateWriter.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                stateWriter
-version:             0.3.0
+version:             0.4.0
 synopsis:            A faster variant of the RWS monad transformers.
 description:         This is a version of the RWS monad transformers that should be much faster than what's found in transformers. The writer in the strict version does not leak memory.
 license:             BSD3
@@ -14,7 +14,7 @@
 build-type:          Simple
 -- extra-source-files:
 cabal-version:       >=1.10
-Tested-With:         GHC == 8.8.4, GHC == 8.10.2
+Tested-With:         GHC == 8.8.4, GHC == 8.10.2, GHC == 9.4.5
 
 source-repository head
   type: git
@@ -24,7 +24,7 @@
   exposed-modules:     Control.Monad.Trans.RSS.Lazy, Control.Monad.Trans.RSS.Strict, Control.Monad.RSS.Lazy, Control.Monad.RSS.Strict, Control.Monad.RSS, Control.Monad.Trans.RSS
   ghc-options:         -Wall
   other-extensions:    FlexibleInstances, MultiParamTypeClasses
-  build-depends:       base >= 4.13 && < 5, transformers >=0.3 && <0.6, mtl >=2.1 && <2.3
+  build-depends:       base >= 4.13 && < 5, transformers >=0.3 && <0.7, mtl >=2.1 && <2.4
   default-language:    Haskell2010
 
 test-suite spaceleak
diff --git a/tests/spaceleak.hs b/tests/spaceleak.hs
--- a/tests/spaceleak.hs
+++ b/tests/spaceleak.hs
@@ -1,22 +1,22 @@
-
 module Main where
 
+import Control.Monad
 import qualified Control.Monad.Trans.RSS.Lazy as RSSL
 import qualified Control.Monad.Trans.RSS.Strict as RSSS
-import System.Environment
 import Control.Monad.Writer
+import Data.Monoid (Sum (..))
+import System.Environment
 
 n :: Int
 n = 10000000
 
 main :: IO ()
 main = do
-    print $ RSSS.runRSS (replicateM_ n $ tell $ Sum (1 :: Int)) () ()
-    tryExplode <- fmap (not . null) getArgs
-    if tryExplode
-        then do
-            putStrLn "Strict version ok, the next test should explode the stack."
-            print $ RSSL.runRSS (replicateM_ n $ tell $ Sum (1 :: Int)) () ()
-            putStrLn "Lazy version should have exploded !"
-        else
-            putStrLn "Do not try exploding the stack. Run the test program with any command line argument to test it"
+  print $ RSSS.runRSS (replicateM_ n $ tell $ Sum (1 :: Int)) () ()
+  tryExplode <- fmap (not . null) getArgs
+  if tryExplode
+    then do
+      putStrLn "Strict version ok, the next test should explode the stack."
+      print $ RSSL.runRSS (replicateM_ n $ tell $ Sum (1 :: Int)) () ()
+      putStrLn "Lazy version should have exploded !"
+    else putStrLn "Do not try exploding the stack. Run the test program with any command line argument to test it"
