diff --git a/hspec-core.cabal b/hspec-core.cabal
--- a/hspec-core.cabal
+++ b/hspec-core.cabal
@@ -1,9 +1,9 @@
--- This file has been generated from package.yaml by hpack version 0.8.0.
+-- This file has been generated from package.yaml by hpack version 0.14.1.
 --
 -- see: https://github.com/sol/hpack
 
 name:             hspec-core
-version:          2.2.3
+version:          2.2.4
 license:          MIT
 license-file:     LICENSE
 copyright:        (c) 2011-2015 Simon Hengel,
@@ -61,6 +61,7 @@
       Test.Hspec.FailureReport
       Test.Hspec.Options
       Test.Hspec.Timer
+      Paths_hspec_core
   default-language: Haskell2010
 
 test-suite spec
diff --git a/test/Test/Hspec/Core/ExampleSpec.hs b/test/Test/Hspec/Core/ExampleSpec.hs
--- a/test/Test/Hspec/Core/ExampleSpec.hs
+++ b/test/Test/Hspec/Core/ExampleSpec.hs
@@ -86,7 +86,7 @@
               e
               readIORef ref `shouldReturn` succ n
               modifyIORef ref succ
-        H.Success <- evaluateExampleWith action (property $ modifyIORef ref succ)
+        H.Success <- evaluateExampleWith action (property $ \(_ :: Int) -> modifyIORef ref succ)
         readIORef ref `shouldReturn` 2000
 
       it "pretty-prints exceptions" $ do
diff --git a/test/Test/Hspec/Core/HooksSpec.hs b/test/Test/Hspec/Core/HooksSpec.hs
--- a/test/Test/Hspec/Core/HooksSpec.hs
+++ b/test/Test/Hspec/Core/HooksSpec.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE ScopedTypeVariables #-}
 module Test.Hspec.Core.HooksSpec (main, spec) where
 
 import           Prelude ()
@@ -40,7 +41,7 @@
       it "runs action before every check of the property" $ do
         (rec, retrieve) <- mkAppend
         runSilent $ H.before (rec "before" >> return "value") $ do
-          H.it "foo" $ \value -> property $ rec value
+          H.it "foo" $ \value -> property $ \(_ :: Int) -> rec value
         retrieve `shouldReturn` (take 200 . cycle) ["before", "value"]
 
       context "when used multiple times" $ do
@@ -69,14 +70,14 @@
       it "runs action before every check of the property" $ do
         (rec, retrieve) <- mkAppend
         runSilent $ H.before_ (rec "before") $ do
-          H.it "foo" $ property $ rec "foo"
+          H.it "foo" $ property $ \(_ :: Int) -> rec "foo"
         retrieve `shouldReturn` (take 200 . cycle) ["before", "foo"]
 
       context "when used multiple times" $ do
         it "is evaluated outside in" $ do
           (rec, retrieve) <- mkAppend
           runSilent $ H.before_ (rec "outer") $ H.before_ (rec "inner") $ do
-            H.it "foo" $ property $ rec "foo"
+            H.it "foo" $ property $ \(_ :: Int) -> rec "foo"
           retrieve `shouldReturn` (take 300 . cycle) ["outer", "inner", "foo"]
 
   describe "beforeWith" $ do
diff --git a/test/Test/Hspec/Core/RunnerSpec.hs b/test/Test/Hspec/Core/RunnerSpec.hs
--- a/test/Test/Hspec/Core/RunnerSpec.hs
+++ b/test/Test/Hspec/Core/RunnerSpec.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE ScopedTypeVariables #-}
 module Test.Hspec.Core.RunnerSpec (main, spec) where
 
 import           Prelude ()
@@ -330,7 +331,7 @@
       it "tries QuickCheck properties specified number of times" $ do
         m <- newMock
         silence . withArgs ["--qc-max-success", "23"] . H.hspec $ do
-          H.it "foo" $ property $ do
+          H.it "foo" $ property $ \(_ :: Int) -> do
             mockAction m
         mockCounter m `shouldReturn` 23
 
