diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+0.1.9
+------
+* Compatibility with QuickCheck 2.9
 0.1.7
 ------
 * Compatibility with QuickCheck 2.7
diff --git a/src/Test/Simple.hs b/src/Test/Simple.hs
--- a/src/Test/Simple.hs
+++ b/src/Test/Simple.hs
@@ -228,14 +228,14 @@
         assert b
 
 -- | Run some 'Testable' monad through 'QuickCheck' function. Exit with failure on error.
-qcTestSimpleWith :: (Testable (m a), Monad m) => (m a -> IO Q.Result) -> m a -> IO ()
+qcTestSimpleWith :: (m a -> IO Q.Result) -> m a -> IO ()
 qcTestSimpleWith qc m = do
     res <- qc m
     unless (isSuccess res) exitFailure
 
 -- | Run some 'Testable' monad through 'QuickCheck'. Exit with failure on error.
 -- Equivalent to 'qcTestSimpleWith' 'quickCheckResult'
-qcTestSimpleMain :: (Testable (m a), Monad m) => m a -> IO ()
+qcTestSimpleMain :: (Testable (m a)) => m a -> IO ()
 qcTestSimpleMain = qcTestSimpleWith quickCheckResult
 
 -- | Generates and logs (through 'diag') arbitrary value. Also outputs current location.
diff --git a/test-simple.cabal b/test-simple.cabal
--- a/test-simple.cabal
+++ b/test-simple.cabal
@@ -1,5 +1,5 @@
 Name:                test-simple
-Version:             0.1.8
+Version:             0.1.9
 License:             BSD3
 License-File:        COPYING
 Copyright:           Boris Sukholitko, 2014
@@ -19,7 +19,7 @@
 
 library 
   build-depends:  base < 5, mtl, template-haskell, state-plus >= 0.1.1 && < 0.2
-                    , QuickCheck >= 2.7.6 && < 2.9
+                    , QuickCheck >= 2.7.6 && < 2.10
   hs-source-dirs:   src
   ghc-options:      -Wall
   exposed-modules:  Test.Simple
@@ -27,7 +27,7 @@
 test-suite Main
   type:            exitcode-stdio-1.0
   build-depends:   base < 5, test-simple, process, executable-path, mtl
-                    , QuickCheck >= 2.7.6 && < 2.9
+                    , QuickCheck >= 2.7.6 && < 2.10
   ghc-options:     -Wall
   hs-source-dirs:  tests
   main-is:         Main.hs
