diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,16 @@
 # Changelog for hspec-hedgehog
 
+## 0.1.0.0
+
+- [#25](https://github.com/parsonsmatt/hspec-hedgehog/pull/25) @sol
+    - Suppress internal source locations.
+- [#24](https://github.com/parsonsmatt/hspec-hedgehog/pull/24) @sol
+    - Regard `--color` / `--no-color`.
+- [#23](https://github.com/parsonsmatt/hspec-hedgehog/pull/23) @ocharles
+    - Improve type inference by constraining the base monad of `PropertyT` to
+      `IO`.  This makes explicitly using `hedgehog` redundant in many
+      situations.
+
 ## 0.0.1.2
 
 - [#7](https://github.com/parsonsmatt/hspec-hedgehog/pull/7) @parsonsmatt
diff --git a/hspec-hedgehog.cabal b/hspec-hedgehog.cabal
--- a/hspec-hedgehog.cabal
+++ b/hspec-hedgehog.cabal
@@ -1,6 +1,6 @@
 cabal-version: 1.12
 name:           hspec-hedgehog
-version:        0.0.1.2
+version:        0.1.0.0
 description:    Please see the README on GitHub at <https://github.com/parsonsmatt/hspec-hedgehog#readme>
 synopsis:       Integrate Hedgehog and Hspec!
 category:       Testing
@@ -27,10 +27,9 @@
       src
   build-depends:
       base          >= 4.7   && < 5
-    , hspec         >= 2.4.4 && < 3
-    , hspec-core    >= 2.4.4 && < 3
+    , hspec         >= 2.11.0 && < 3
+    , hspec-core    >= 2.11.0 && < 3
     , hedgehog      >= 1.0.2 && < 2
-    , HUnit         >= 1.5   && < 2
     , QuickCheck    >= 2.9.2 && < 3
     , splitmix      >= 0.0.1 && < 1
   default-language: Haskell2010
diff --git a/src/Test/Hspec/Hedgehog.hs b/src/Test/Hspec/Hedgehog.hs
--- a/src/Test/Hspec/Hedgehog.hs
+++ b/src/Test/Hspec/Hedgehog.hs
@@ -94,8 +94,9 @@
 import           Control.Monad.IO.Class     (liftIO)
 import           Data.Coerce                (coerce)
 import           Data.IORef                 (newIORef, readIORef, writeIORef)
+import           GHC.Stack                  (withFrozenCallStack)
 import           Hedgehog
-import           Hedgehog.Internal.Config   (detectColor)
+import           Hedgehog.Internal.Config   (UseColor(..))
 import           Hedgehog.Internal.Property (DiscardLimit (..), Property (..),
                                              PropertyConfig (..),
                                              ShrinkLimit (..),
@@ -112,7 +113,6 @@
 import           Test.Hspec.QuickCheck      (modifyArgs, modifyMaxDiscardRatio,
                                              modifyMaxShrinks, modifyMaxSize,
                                              modifyMaxSuccess)
-import           Test.HUnit.Base            (assertFailure)
 import           Test.QuickCheck.Random     (QCGen (..))
 import           Test.QuickCheck.Test       (Args (..))
 
@@ -142,10 +142,13 @@
 -- of 'Example' for a function for more details.
 --
 -- @since 0.0.0.0
-instance Example (PropertyT IO ()) where
-    type Arg (PropertyT IO ()) = ()
+instance m ~ IO => Example (PropertyT m ()) where
+    type Arg (PropertyT m ()) = ()
     evaluateExample e = evaluateExample (\() -> e)
 
+propertyWithoutCallStack :: PropertyT IO () -> Property
+propertyWithoutCallStack = withFrozenCallStack property
+
 -- | Warning: orphan instance! This instance is used to embed a "Hedgehog"
 -- property seamlessly into the @hspec@ framework.
 --
@@ -155,13 +158,12 @@
 -- Hedgehog tests.
 --
 -- @since 0.0.0.0
-instance Example (a -> PropertyT IO ()) where
-    type Arg (a -> PropertyT IO ()) = a
+instance (m ~ IO) => Example (a -> PropertyT m ()) where
+    type Arg (a -> PropertyT m ()) = a
 
-    evaluateExample (fmap property -> aprop) params aroundAction progressCallback = do
+    evaluateExample (fmap propertyWithoutCallStack -> aprop) params aroundAction progressCallback = do
         ref <- newIORef (Result "" (Pending Nothing Nothing))
         aroundAction $ \a ->  do
-            color <- detectColor
             let size = 0
                 prop = aprop a
                 propConfig = useQuickCheckArgs (propertyConfig prop)
@@ -197,7 +199,7 @@
                Nothing       -> Seed.random
                Just (rng, _) -> pure (uncurry Seed (unseedSMGen (coerce rng)))
             hedgeResult <- checkReport propConfig size seed (propertyTest prop) cb
-            ppresult <- renderResult color Nothing hedgeResult
+            ppresult <- renderResult EnableColor Nothing hedgeResult
             writeIORef ref $ Result "" $ case reportStatus hedgeResult of
                 Failed FailureReport{..} ->
                     let
@@ -208,7 +210,7 @@
                                 , locationColumn = coerce spanStartColumn
                                 }
                     in
-                        Hspec.Failure (fromSpan <$> failureLocation) $ Reason ppresult
+                        Hspec.Failure (fromSpan <$> failureLocation) $ ColorizedReason ppresult
                 GaveUp ->
                     Failure Nothing (Reason "GaveUp")
                 OK ->
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -23,6 +23,11 @@
             x <- forAll $ Gen.integral (Range.linear 0 1000)
             y <- forAll $ Gen.integral (Range.linear 0 5000)
             diff (x + y) (>=) (x :: Integer)
+            
+        it "lets you use PropertyT directly without forcing the type" $ do
+            x <- forAll $ Gen.integral (Range.linear 0 1000)
+            y <- forAll $ Gen.integral (Range.linear 0 5000)
+            diff (x + y) (>=) (x :: Integer)
 
         it "renders a progress bit" $ hedgehog $ do
             x <- forAll $ Gen.integral (Range.linear 0 1000)
