diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+0.0.18:
+	* Fix compatibility with `mtl`, whenever different version from the one that is wired with ghc is used.
+
 0.0.17:
 	* Changes to make compatible for GHC 9.6
 
diff --git a/src/Weigh.hs b/src/Weigh.hs
--- a/src/Weigh.hs
+++ b/src/Weigh.hs
@@ -3,7 +3,6 @@
 {-# LANGUAGE DeriveTraversable #-}
 {-# LANGUAGE DeriveFoldable #-}
 {-# LANGUAGE DeriveFunctor #-}
-{-# LANGUAGE CPP #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE ExistentialQuantification #-}
 {-# LANGUAGE ViewPatterns #-}
@@ -75,10 +74,8 @@
 import Control.Applicative
 import Control.Arrow
 import Control.DeepSeq
-#if MIN_VERSION_base(4,18,0)
 import Control.Monad (unless)
-#endif
-import Control.Monad.State
+import Control.Monad.State (State, execState, get, gets, modify)
 import Criterion.Measurement
 import qualified Data.Foldable as Foldable
 import qualified Data.List as List
diff --git a/weigh.cabal b/weigh.cabal
--- a/weigh.cabal
+++ b/weigh.cabal
@@ -1,5 +1,5 @@
 name:                weigh
-version:             0.0.17
+version:             0.0.18
 synopsis:            Measure allocations of a Haskell functions/values
 description:         Please see README.md
 homepage:            https://github.com/fpco/weigh#readme
@@ -25,9 +25,10 @@
                      , mtl
                      , split
                      , temporary
-                     , ghc >= 8.2.1
                      , criterion-measurement
   default-language:    Haskell2010
+  if impl(ghc < 8.2.1)
+    buildable: False
 
 test-suite weigh-test
   default-language:    Haskell2010
