diff --git a/random.cabal b/random.cabal
--- a/random.cabal
+++ b/random.cabal
@@ -1,6 +1,6 @@
 cabal-version:      >=1.10
 name:               random
-version:            1.2.1
+version:            1.2.1.1
 license:            BSD3
 license-file:       LICENSE
 maintainer:         core-libraries-committee@haskell.org
@@ -101,13 +101,11 @@
         base >=4.8 && <5,
         bytestring >=0.10.4 && <0.12,
         deepseq >=1.1 && <2,
-        mtl >=2.2 && <2.3,
+        mtl >=2.2 && <2.4,
         splitmix >=0.1 && <0.2
     if impl(ghc < 8.0)
        build-depends:
            transformers
-    if impl(ghc < 8.4)
-      build-depends:  ghc-byteorder
 
 test-suite legacy-test
     type:             exitcode-stdio-1.0
@@ -121,7 +119,7 @@
         RangeTest
 
     default-language: Haskell2010
-    ghc-options:      -with-rtsopts=-M4M
+    ghc-options:      -with-rtsopts=-M8M
     if impl(ghc >= 8.0)
         ghc-options:
             -Wno-deprecations
@@ -137,7 +135,7 @@
     default-language: Haskell2010
     build-depends:
         base,
-        doctest >=0.15 && <0.19
+        doctest >=0.15 && <0.21
     if impl(ghc >= 8.2) && impl(ghc < 8.10)
         build-depends:
             mwc-random >=0.13 && <0.16,
@@ -206,7 +204,7 @@
         random,
         rdtsc,
         split >=0.2 && <0.3,
-        time >=1.4 && <1.11
+        time >=1.4 && <1.13
 
 benchmark bench
     type:             exitcode-stdio-1.0
diff --git a/src/System/Random/Stateful.hs b/src/System/Random/Stateful.hs
--- a/src/System/Random/Stateful.hs
+++ b/src/System/Random/Stateful.hs
@@ -105,10 +105,11 @@
   ) where
 
 import Control.DeepSeq
+import Control.Monad (replicateM)
 import Control.Monad.IO.Class
 import Control.Monad.ST
 import GHC.Conc.Sync (STM, TVar, newTVar, newTVarIO, readTVar, writeTVar)
-import Control.Monad.State.Strict
+import Control.Monad.State.Strict (MonadState, state)
 import Data.IORef
 import Data.STRef
 import Foreign.Storable
diff --git a/test-legacy/RangeTest.hs b/test-legacy/RangeTest.hs
--- a/test-legacy/RangeTest.hs
+++ b/test-legacy/RangeTest.hs
@@ -10,7 +10,7 @@
 approxBounds ::
   (RandomGen g, Random a, Ord a, Num a) =>
   (g -> (a,g)) -> Int -> a -> (a,a) -> g -> ((a,a,a),g)
--- Here we do a little hack to essentiall pass in the type in the last argument:
+-- Here we do a little hack to essentially pass in the type in the last argument:
 approxBounds nxt iters unused (explo,exphi) initrng =
    if False
    then ((unused,unused,unused),undefined)
