diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,9 @@
+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
+
 0.0.16:
 	* Add MaxOS parameter to indicate memory in use by RTS
 	* Add haddock docmentation to the 'Column' type
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# weigh [![Build Status](https://travis-ci.org/fpco/weigh.svg)](https://travis-ci.org/fpco/weigh)
+# weigh [![Tests](https://github.com/fpco/weigh/actions/workflows/tests.yml/badge.svg)](https://github.com/fpco/weigh/actions/workflows/tests.yml)
 
 Measures the memory usage of a Haskell value or function
 
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,7 +74,9 @@
 import Control.Applicative
 import Control.Arrow
 import Control.DeepSeq
-import Control.Monad.State
+import Control.Monad (unless)
+import Control.Monad.State (State, execState, get, gets, modify)
+import Criterion.Measurement
 import qualified Data.Foldable as Foldable
 import qualified Data.List as List
 import Data.List.Split
@@ -107,6 +108,7 @@
   | MaxOS     -- ^ Maximum memory in use by the RTS. Valid only for
               -- GHC >= 8.2.2. For unsupported GHC, this is reported
               -- as 0.
+  | WallTime  -- ^ Rough execution time. For general indication, not a benchmark tool.
   deriving (Show, Eq, Enum)
 
 -- | Weigh configuration.
@@ -132,6 +134,7 @@
          ,weightLiveBytes :: !Word64
          ,weightMaxBytes :: !Word64
          ,weightMaxOSBytes :: !Word64
+         ,weightWallTime :: !Double
          }
   deriving (Read,Show)
 
@@ -251,7 +254,7 @@
 -- Implemented in terms of 'validateAction'.
 io :: (NFData a)
    => String      -- ^ Name of the case.
-   -> (b -> IO a) -- ^ Aciton that does some IO to measure.
+   -> (b -> IO a) -- ^ Action that does some IO to measure.
    -> b           -- ^ Argument to that function.
    -> Weigh ()
 io name !f !x = validateAction name f x (const Nothing)
@@ -339,10 +342,13 @@
         Just act -> do
           case act of
             Action !run arg _ _ -> do
+              initializeTime
+              start <- getTime
               (bytes, gcs, liveBytes, maxByte, maxOSBytes) <-
                 case run of
                   Right f -> weighFunc f arg
                   Left m -> weighAction m arg
+              end <- getTime
               writeFile
                 fp
                 (show
@@ -353,6 +359,7 @@
                     , weightLiveBytes = liveBytes
                     , weightMaxBytes = maxByte
                     , weightMaxOSBytes = maxOSBytes
+                    , weightWallTime = end - start
                     }))
           return Nothing
     _ -> fmap Just (Traversable.traverse (Traversable.traverse fork) cases)
@@ -568,6 +575,7 @@
       , (Check, (True, "Check"))
       , (Max, (False, "Max"))
       , (MaxOS, (False, "MaxOS"))
+      , (WallTime, (False, "Wall Time"))
       ]
     toRow (w, err) =
       [ (Case, (True, takeLastAfterBk $ weightLabel w))
@@ -576,6 +584,7 @@
       , (Live, (False, commas (weightLiveBytes w)))
       , (Max, (False, commas (weightMaxBytes w)))
       , (MaxOS, (False, commas (weightMaxOSBytes w)))
+      , (WallTime, (False, printf "%.3fs" (weightWallTime w)))
       , ( Check
         , ( True
           , case err of
diff --git a/weigh.cabal b/weigh.cabal
--- a/weigh.cabal
+++ b/weigh.cabal
@@ -1,5 +1,5 @@
 name:                weigh
-version:             0.0.16
+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,14 +25,16 @@
                      , 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
   type: exitcode-stdio-1.0
   hs-source-dirs: src/test
-  ghc-options: -O2
+  ghc-options: -O2 -Wall
   main-is: Main.hs
   build-depends: base
                , weigh
