diff --git a/Text/Regex/PCRE/ByteString/Utils.hs b/Text/Regex/PCRE/ByteString/Utils.hs
--- a/Text/Regex/PCRE/ByteString/Utils.hs
+++ b/Text/Regex/PCRE/ByteString/Utils.hs
@@ -33,6 +33,8 @@
 import Control.Monad.Except
 import Data.Attoparsec.ByteString.Char8 as A
 import Control.Applicative
+import Control.Monad
+import Control.Monad.IO.Class
 import Data.Char (digitToInt)
 import System.IO.Unsafe
 import qualified Data.Array as A
diff --git a/pcre-utils.cabal b/pcre-utils.cabal
--- a/pcre-utils.cabal
+++ b/pcre-utils.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                pcre-utils
-version:             0.1.8.2
+version:             0.1.9
 synopsis:            Perl-like substitute and split for PCRE regexps.
 description:         This package introduces split and replace like functions using PCRE regexps.
 license:             BSD3
@@ -32,7 +32,7 @@
                      , regex-pcre-builtin >= 0.94.4.8
                      , bytestring
                      , attoparsec >= 0.11 && <= 0.15
-                     , mtl >= 2.2.1 && < 2.3
+                     , mtl >= 2.2.1 && < 2.4
                      , vector
                      , array
  default-language: Haskell2010
