diff --git a/QuickCheck.cabal b/QuickCheck.cabal
--- a/QuickCheck.cabal
+++ b/QuickCheck.cabal
@@ -1,5 +1,5 @@
 Name: QuickCheck
-Version: 2.4.1.1
+Version: 2.4.2
 Cabal-Version: >= 1.6
 Build-type: Simple
 License: BSD3
@@ -29,12 +29,12 @@
 
 source-repository head
   type:     darcs
-  location: http://code.haskell.org/QuickCheck/
+  location: http://code.haskell.org/QuickCheck/devel
 
 source-repository this
   type:     darcs
-  location: http://code.haskell.org/QuickCheck
-  tag:      2.4.1.1
+  location: http://code.haskell.org/QuickCheck/stable
+  tag:      2.4.2
 
 flag base3
   Description: Choose the new smaller, split-up base package.
diff --git a/Test/QuickCheck/All.hs b/Test/QuickCheck/All.hs
--- a/Test/QuickCheck/All.hs
+++ b/Test/QuickCheck/All.hs
@@ -5,9 +5,11 @@
 module Test.QuickCheck.All(
   -- ** Testing all properties in a module.
   quickCheckAll,
+  verboseCheckAll,
   forAllProperties,
   -- ** Testing polymorphic properties.
   polyQuickCheck,
+  polyVerboseCheck,
   mono) where
 
 import Language.Haskell.TH
@@ -25,6 +27,11 @@
 polyQuickCheck :: Name -> ExpQ
 polyQuickCheck x = [| quickCheck $(mono x) |]
 
+-- | Test a polymorphic property, defaulting all type variables to 'Integer'.
+-- This is just a convenience function that combines 'polyQuickCheck' and 'verbose'.
+polyVerboseCheck :: Name -> ExpQ
+polyVerboseCheck x = [| verboseCheck $(mono x) |]
+
 type Error = forall a. String -> a
 
 -- | Monomorphise an arbitrary name by defaulting all type variables to 'Integer'.
@@ -97,6 +104,11 @@
 -- and then execute @runTests@.
 quickCheckAll :: Q Exp
 quickCheckAll = [| $(forAllProperties) quickCheckResult |]
+
+-- | Test all properties in the current module.
+-- This is just a convenience function that combines 'quickCheckAll' and 'verbose'.
+verboseCheckAll :: Q Exp
+verboseCheckAll = [| $(forAllProperties) verboseCheckResult |]
 
 runQuickCheckAll :: [(String, Property)] -> (Property -> IO Result) -> IO Bool
 runQuickCheckAll ps qc =
diff --git a/Test/QuickCheck/Test.hs b/Test/QuickCheck/Test.hs
--- a/Test/QuickCheck/Test.hs
+++ b/Test/QuickCheck/Test.hs
@@ -110,7 +110,7 @@
                  , maxDiscardedTests = maxDiscard a
                  , computeSize       = case replay a of
                                          Nothing    -> computeSize'
-                                         Just (_,s) -> \_ _ -> s
+                                         Just (_,s) -> computeSize' `at0` s
                  , numSuccessTests   = 0
                  , numDiscardedTests = 0
                  , collected         = []
@@ -128,6 +128,8 @@
           | otherwise =
             (n `mod` maxSize a) * maxSize a `div` (maxSuccess a `mod` maxSize a) + d `div` 10
         n `roundTo` m = (n `div` m) * m
+        at0 f s 0 0 = s
+        at0 f s n d = f n d
 
 -- | Tests a property and prints the results and all test cases generated to 'stdout'.
 -- This is just a convenience function that means the same as 'quickCheck' '.' 'verbose'.
diff --git a/Test/QuickCheck/Text.hs b/Test/QuickCheck/Text.hs
--- a/Test/QuickCheck/Text.hs
+++ b/Test/QuickCheck/Text.hs
@@ -40,7 +40,7 @@
 instance Show Str where
   show (MkStr s) = s
 
-ranges :: Integral a => a -> a -> Str
+ranges :: (Show a, Integral a) => a -> a -> Str
 ranges k n = MkStr (show n' ++ " -- " ++ show (n'+k-1))
  where
   n' = k * (n `div` k)
