module Hedgehog (
Group(..)
, GroupName
, Property
, PropertyName
, Test
, TestLimit
, DiscardLimit
, ShrinkLimit
, Gen
, Range
, Size(..)
, Seed(..)
, property
, withTests
, withDiscards
, withShrinks
, check
, recheck
, discover
, checkParallel
, checkSequential
, forAll
, forAllWith
, annotate
, annotateShow
, footnote
, footnoteShow
, success
, discard
, failure
, assert
, (===)
, liftEither
, liftExceptT
, withResourceT
, tripping
) where
import Hedgehog.Gen (Gen)
import Hedgehog.Internal.Property (assert, (===))
import Hedgehog.Internal.Property (discard, failure, success)
import Hedgehog.Internal.Property (DiscardLimit, withDiscards)
import Hedgehog.Internal.Property (forAll, forAllWith)
import Hedgehog.Internal.Property (annotate, annotateShow)
import Hedgehog.Internal.Property (footnote, footnoteShow)
import Hedgehog.Internal.Property (liftEither, liftExceptT, withResourceT)
import Hedgehog.Internal.Property (Property, PropertyName, Group(..), GroupName)
import Hedgehog.Internal.Property (ShrinkLimit, withShrinks)
import Hedgehog.Internal.Property (Test, property)
import Hedgehog.Internal.Property (TestLimit, withTests)
import Hedgehog.Internal.Runner (check, recheck, checkSequential, checkParallel)
import Hedgehog.Internal.Seed (Seed(..))
import Hedgehog.Internal.TH (discover)
import Hedgehog.Internal.Tripping (tripping)
import Hedgehog.Range (Range, Size(..))