!7z*      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ TrustworthyQuickCheck-safe wraps  in . This may look like a dirty hack, but this building block allows us to implement most of QuickCheck's functionality without resorting to IO again.QuickCheck-safe invokes  via '. It is useful in connection with the  family of functions.Safe#vQuickCheck-safeImplication. Cf. .QuickCheck-safeEquality test. Cf. .QuickCheck-safeConjunction. Cf. .QuickCheck-safeDisjunction. Cf. .QuickCheck-safe"Nondeterministic conjunction. Cf.  .QuickCheck-safeLabel tests. Cf.  .QuickCheck-safeShrink counterexamples. Cf.  .QuickCheck-safe+Suppress shrinking of counterexamples. Cf.  .QuickCheck-safe.Universal quantification with shrinking. Cf.  .QuickCheck-safeUniversal quantification. Cf. .QuickCheck-safeAdjust testcase sizes. Cf. .QuickCheck-safeCf. P. Note that in contrast to QuickCheck's function, this one takes an additional  argument.QuickCheck-safeCf. P. Note that in contrast to QuickCheck's function, this one takes an additional  argument.QuickCheck-safeCf. P. Note that in contrast to QuickCheck's function, this one takes an additional  argument.QuickCheck-safeCf. P. Note that in contrast to QuickCheck's function, this one takes an additional  argument.DputStr $ quickCheck (inventQCGen ()) (\x -> length (x :: [()]) < 10)7*** Failed! Falsifiable (after 18 tests and 3 shrinks):.[(),(),(),(),(),(),(),(),(),(),(),(),(),(),()] /.-,+*)('&%$#"! 0123456789:;<=>?@ACBGFEDHIJKLMNOPQRTSVUYXW\[Z_^]ba`fedcihglkjonmrqputsxwv{zy}|~ /.-,+*)('&%$#"! 0123456789:;<=>?@ACBGFEDHIJKLMNOPQRTSVUYXW\[Z_^]ba`fedcihglkjonmrqputsxwv{zy}|~ !"#$%&%'%(%)%*%+%,%-%.%/%0%1%2%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%GHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH[H[\]\^\_\_`a`b`c`d`e`f`g`h`i`j`k`l`m`n`nopoqoqorososotouovowoxoyozo{o|o|o}o~ooooooooooooooooooooooooooooooooooo    .QuickCheck-safe-0.1.0.5-EBqcCkHbAsBCRc7ijjtA00Test.QuickCheck.Safe.TrustedTest.QuickCheck.Safe quickCheckTest.QuickCheck==>===.&&..||.&.label shrinking noShrinking forAllShrinkforAllmapSizequickCheckWithResultquickCheckResultquickCheckWith*QuickCheck-2.12.6.1-9KyT8vkUAeoGZrbcrtnRM9Test.QuickCheck.RandomQCGenTest.QuickCheck.Exception AnExceptionTest.QuickCheck.FeatureslabelledExamplesWithResultlabelledExamplesResultlabelledExamplesWithlabelledExamplesTest.QuickCheck.AllverboseCheckAll quickCheckAll allPropertiesforAllProperties monomorphicpolyVerboseCheckpolyQuickCheckTest.QuickCheck.TestverboseCheckWithResultverboseCheckResultverboseCheckWith verboseCheckstdArgs isSuccess maxShrinkschattymaxSizemaxDiscardRatio maxSuccessreplayArgsfailingClasses failingLabelsfailingTestCase theExceptionreasonusedSizeusedSeednumShrinkFinalnumShrinkTries numShrinksoutputtablesclasseslabels numDiscardednumTestsNoExpectedFailureFailureGaveUpSuccessResultTest.QuickCheck.Propertytotal=/=forAllShrinkBlindforAllShrinkShow forAllBlind forAllShow coverTabletabulate stdConfidencecheckCoverageWith checkCoveragewithMaxSuccessagainverboseShrinking whenFail'whenFailidempotentIOProperty ioPropertyDiscardTest.QuickCheck.State tolerance certainty ConfidenceTest.QuickCheck.Function applyFun3 applyFun2applyFun functionMap functionShowfunctionIntegralfunctionRealFracfunctionBoundedEnumFnFn2Fn3functionFunctionFunTest.QuickCheck.ModifiersgetBlindBlindgetFixedFixed getOrderedOrdered OrderedList getNonEmptyNonEmpty NonEmptyListinfiniteListInternalDatagetInfiniteList InfiniteList getSortedSorted SortedList getPositivePositive getNonZeroNonZerogetNonNegative NonNegativegetLargeLargegetSmallSmall getShrink2Shrink2Smart Shrinking shrinkState shrinkInit ShrinkStategetASCIIString ASCIIStringgetUnicodeString UnicodeStringgetPrintableStringPrintableStringTest.QuickCheck.Arbitrary infiniteList orderedListvectorcoarbitraryEnumcoarbitraryShowcoarbitraryRealcoarbitraryIntegral><genericCoarbitrary shrinkDecimalshrinkRealFracshrinkIntegral shrinkMapBy shrinkMap shrinkNothingarbitraryPrintableChararbitraryASCIIChararbitraryUnicodeChararbitrarySizedBoundedIntegralarbitraryBoundedEnumarbitraryBoundedRandomarbitraryBoundedIntegralarbitrarySizedFractionalarbitrarySizedNaturalarbitrarySizedIntegralapplyArbitrary4applyArbitrary3applyArbitrary2 shrinkListsubtermsrecursivelyShrink genericShrinkshrink2 arbitrary2shrink1 arbitrary1shrink arbitrary Arbitrary liftShrink liftArbitrary Arbitrary1 liftShrink2liftArbitrary2 Arbitrary2 coarbitrary CoArbitraryTest.QuickCheck.GeninfiniteListOfvectorOflistOf1listOfgrowingElementsshuffle sublistOfelements frequencyoneof suchThatMaybe suchThatMapsuchThatsamplesample'generatechoosescaleresizegetSizesizedvariantGendiscard pureEvaluate inventQCGen STestable.&.$fSTestable(->)$fSTestableBool$fSTestableGen$fSTestableSProperty tryEvaluatebase GHC.IO.UnsafeunsafePerformIOnewQCGen