diff --git a/prop-unit.cabal b/prop-unit.cabal
--- a/prop-unit.cabal
+++ b/prop-unit.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           prop-unit
-version:        0.2.0
+version:        1.0.0
 synopsis:       Conveniences for using Hedgehog as a unit test runner
 description:    Please see the README on GitHub at <https://github.com/ejconlon/prop-unit#readme>
 category:       Testing
@@ -27,6 +27,9 @@
 library
   exposed-modules:
       PropUnit
+      PropUnit.Hedgehog
+      PropUnit.Hedgehog.Gen
+      PropUnit.Hedgehog.Range
   other-modules:
       Paths_prop_unit
   hs-source-dirs:
@@ -104,7 +107,6 @@
     , containers
     , hedgehog >=1.4 && <1.6
     , prop-unit
-    , tasty
+    , tasty >=1.4 && <1.6
     , tasty-hedgehog ==1.4.*
-    , tasty-hunit
   default-language: Haskell2010
diff --git a/src/PropUnit.hs b/src/PropUnit.hs
--- a/src/PropUnit.hs
+++ b/src/PropUnit.hs
@@ -29,7 +29,7 @@
   , genDefaultList
   , genDefaultString
   , genDefaultGeneric
-  , Std
+  , StdTag
   )
 where
 
@@ -51,9 +51,11 @@
   , ShrinkLimit
   , ShrinkRetries
   , TestLimit
+  , TestT
   , assert
   , forAll
   , property
+  , test
   , withDiscards
   , withRetries
   , withShrinks
@@ -68,15 +70,16 @@
 import Test.Tasty (DependencyType (..), TestName, TestTree, after, defaultMain, testGroup, withResource)
 import Test.Tasty.Hedgehog (testProperty)
 
-unitProperty :: PropertyT IO () -> Property
+unitProperty :: TestT IO () -> Property
 unitProperty =
   withTests (1 :: TestLimit)
     . withDiscards (1 :: DiscardLimit)
     . withShrinks (0 :: ShrinkLimit)
     . withRetries (0 :: ShrinkRetries)
     . property
+    . test
 
-testUnit :: TestName -> PropertyT IO () -> TestTree
+testUnit :: TestName -> TestT IO () -> TestTree
 testUnit name = testProperty name . unitProperty
 
 testProp :: TestName -> TestLimit -> PropertyT IO () -> TestTree
@@ -199,49 +202,50 @@
 genDefaultGeneric _ = fmap (unViaGeneric @tag @a) (genDefault (Proxy @tag))
 
 -- | Type tag for these "standard" default generators.
--- You can use this tag directly or choose type-by-type with 'ViaTag'.
-data Std
+-- You can use this tag directly or choose type-by-type with 'genDefaultTag'.
+data StdTag
 
-instance GenDefault Std () where genDefault = genDefaultEnum
+instance GenDefault StdTag () where genDefault = genDefaultEnum
 
-instance GenDefault Std Bool where genDefault = genDefaultEnum
+instance GenDefault StdTag Bool where genDefault = genDefaultEnum
 
-instance GenDefault Std Char where genDefault = genDefaultEnum
+instance GenDefault StdTag Char where genDefault = genDefaultEnum
 
-instance GenDefault Std Int where genDefault = genDefaultIntegral
+instance GenDefault StdTag Int where genDefault = genDefaultIntegral
 
-instance GenDefault Std Int8 where genDefault = genDefaultIntegral
+instance GenDefault StdTag Int8 where genDefault = genDefaultIntegral
 
-instance GenDefault Std Int16 where genDefault = genDefaultIntegral
+instance GenDefault StdTag Int16 where genDefault = genDefaultIntegral
 
-instance GenDefault Std Int32 where genDefault = genDefaultIntegral
+instance GenDefault StdTag Int32 where genDefault = genDefaultIntegral
 
-instance GenDefault Std Int64 where genDefault = genDefaultIntegral
+instance GenDefault StdTag Int64 where genDefault = genDefaultIntegral
 
-instance GenDefault Std Word where genDefault = genDefaultIntegral
+instance GenDefault StdTag Word where genDefault = genDefaultIntegral
 
-instance GenDefault Std Word8 where genDefault = genDefaultIntegral
+instance GenDefault StdTag Word8 where genDefault = genDefaultIntegral
 
-instance GenDefault Std Word16 where genDefault = genDefaultIntegral
+instance GenDefault StdTag Word16 where genDefault = genDefaultIntegral
 
-instance GenDefault Std Word32 where genDefault = genDefaultIntegral
+instance GenDefault StdTag Word32 where genDefault = genDefaultIntegral
 
-instance GenDefault Std Word64 where genDefault = genDefaultIntegral
+instance GenDefault StdTag Word64 where genDefault = genDefaultIntegral
 
-instance (GenDefault Std a) => GenDefault Std (Maybe a) where genDefault = genDefaultGeneric
+instance (GenDefault StdTag a) => GenDefault StdTag (Maybe a) where genDefault = genDefaultGeneric
 
-instance (GenDefault Std a, GenDefault Std b) => GenDefault Std (Either a b) where genDefault = genDefaultGeneric
+instance (GenDefault StdTag a, GenDefault StdTag b) => GenDefault StdTag (Either a b) where
+  genDefault = genDefaultGeneric
 
-instance (GenDefault Std a, GenDefault Std b) => GenDefault Std (a, b) where genDefault = genDefaultGeneric
+instance (GenDefault StdTag a, GenDefault StdTag b) => GenDefault StdTag (a, b) where genDefault = genDefaultGeneric
 
-instance (GenDefault Std a, GenDefault Std b, GenDefault Std c) => GenDefault Std (a, b, c) where
+instance (GenDefault StdTag a, GenDefault StdTag b, GenDefault StdTag c) => GenDefault StdTag (a, b, c) where
   genDefault = genDefaultGeneric
 
-instance (GenDefault Std a, GenDefault Std b, GenDefault Std c, GenDefault Std d) => GenDefault Std (a, b, c, d) where
+instance (GenDefault StdTag a, GenDefault StdTag b, GenDefault StdTag c, GenDefault StdTag d) => GenDefault StdTag (a, b, c, d) where
   genDefault = genDefaultGeneric
 
 instance
-  (GenDefault Std a, GenDefault Std b, GenDefault Std c, GenDefault Std d, GenDefault Std e)
-  => GenDefault Std (a, b, c, d, e)
+  (GenDefault StdTag a, GenDefault StdTag b, GenDefault StdTag c, GenDefault StdTag d, GenDefault StdTag e)
+  => GenDefault StdTag (a, b, c, d, e)
   where
   genDefault = genDefaultGeneric
diff --git a/src/PropUnit/Hedgehog.hs b/src/PropUnit/Hedgehog.hs
new file mode 100644
--- /dev/null
+++ b/src/PropUnit/Hedgehog.hs
@@ -0,0 +1,7 @@
+-- | Full re-export of Hedgehog
+module PropUnit.Hedgehog
+  ( module Hedgehog
+  )
+where
+
+import Hedgehog
diff --git a/src/PropUnit/Hedgehog/Gen.hs b/src/PropUnit/Hedgehog/Gen.hs
new file mode 100644
--- /dev/null
+++ b/src/PropUnit/Hedgehog/Gen.hs
@@ -0,0 +1,6 @@
+module PropUnit.Hedgehog.Gen
+  ( module Hedgehog.Gen
+  )
+where
+
+import Hedgehog.Gen
diff --git a/src/PropUnit/Hedgehog/Range.hs b/src/PropUnit/Hedgehog/Range.hs
new file mode 100644
--- /dev/null
+++ b/src/PropUnit/Hedgehog/Range.hs
@@ -0,0 +1,7 @@
+-- | Full re-export of Hedgehog.Range
+module PropUnit.Hedgehog.Range
+  ( module Hedgehog.Range
+  )
+where
+
+import Hedgehog.Range
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -8,12 +8,9 @@
 import qualified Data.Set as Set
 import GHC.Exts (IsList, IsString)
 import GHC.Generics (Generic)
-import Hedgehog (Gen)
-import qualified Hedgehog.Gen as Gen
-import qualified Hedgehog.Range as Range
 import PropUnit
   ( GenDefault (..)
-  , Std
+  , StdTag
   , TestLimit
   , TestTree
   , assert
@@ -29,6 +26,9 @@
   , testUnit
   , (===)
   )
+import PropUnit.Hedgehog (Gen)
+import qualified PropUnit.Hedgehog.Gen as Gen
+import qualified PropUnit.Hedgehog.Range as Range
 
 testAsUnit :: TestTree
 testAsUnit = testUnit "as unit" $ do
@@ -51,9 +51,9 @@
 
 data Tag
 
-instance GenDefault Tag Int where genDefault = genDefaultTag (Proxy @Std)
+instance GenDefault Tag Int where genDefault = genDefaultTag (Proxy @StdTag)
 
-instance GenDefault Tag Char where genDefault = genDefaultTag (Proxy @Std)
+instance GenDefault Tag Char where genDefault = genDefaultTag (Proxy @StdTag)
 
 newtype AList a = AList [a]
   deriving newtype (Eq, Ord, Show, IsList)
