n      Trustworthy 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. invokes  via '. It is useful in connection with the  family of functions.SafeImplication. Cf. .Equality test. Cf. .Conjunction. Cf. .Disjunction. Cf. . "Nondeterministic conjunction. Cf.  . Label tests. Cf.  . Shrink counterexamples. Cf.  . +Suppress shrinking of counterexamples. Cf.  . .Universal quantification with shrinking. Cf.  .Universal quantification. Cf. .Adjust testcase sizes. Cf. .Cf. P. Note that in contrast to QuickCheck's function, this one takes an additional  argument.Cf. P. Note that in contrast to QuickCheck's function, this one takes an additional  argument.Cf. P. Note that in contrast to QuickCheck's function, this one takes an additional  argument.Cf. 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:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     !"#$% &'      !"#$%&'()*+,-./012324252627289:9;9<9=9>9?9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9TUVUWUXUYUZUZ[\[\[][^[^[_[`[a[b[c[d[e[f[f[g[h[h[i[j[j[k[l[l[m[n[n[o[p[p[q[r[r[s[s[t[u[vwxwywzw{w|w}w~wwwwwwwwwwwwwwwwwwwww.QuickCheck-safe-0.1.0.2-1UPp8V5Y3sF6XezIETOfxYTest.QuickCheck.Safe.TrustedTest.QuickCheck.Safe quickCheckTest.QuickCheck==>===.&&..||.&.label shrinking noShrinking forAllShrinkforAllmapSizequickCheckWithResultquickCheckResultquickCheckWith'QuickCheck-2.9.2-3a8nWdLsV8cEn9LdMoftRmTest.QuickCheck.Exception AnExceptionTest.QuickCheck.RandomQCGen pureEvaluate inventQCGen STestable.&.$fSTestable(->)$fSTestableBool$fSTestableGen$fSTestableSProperty tryEvaluatebase GHC.IO.UnsafeunsafePerformIOnewQCGenSResultSOkSDiscardSFailsLabels sExceptionsSmaller SProperty MkSProperty unSProperty sProperty labelSResultmapSResultLabelsTest.QuickCheck.AllverboseCheckAll quickCheckAllforAllProperties monomorphicpolyVerboseCheckpolyQuickCheckTest.QuickCheck.TestverboseCheckWithResultverboseCheckResultverboseCheckWith verboseCheckstdArgsArgsreplay maxSuccessmaxDiscardRatiomaxSizechattyResultSuccessGaveUpFailureNoExpectedFailureInsufficientCoveragelabelsreason theExceptionnumTestsoutput numShrinksnumShrinkTriesnumShrinkFinalusedSeedusedSizeTest.QuickCheck.Propertyagain whenFail'whenFail ioPropertyDiscardTest.QuickCheck.ModifiersBlindgetBlindFixedgetFixed OrderedListOrdered getOrdered NonEmptyListNonEmpty getNonEmptyPositive getPositiveNonZero getNonZero NonNegativegetNonNegativeLargegetLargeSmallgetSmallShrink2 getShrink2Smart Shrinking ShrinkState shrinkInit shrinkStateTest.QuickCheck.Arbitrary infiniteList orderedListvectorcoarbitraryEnumcoarbitraryShowcoarbitraryRealcoarbitraryIntegral><genericCoarbitraryshrinkRealFracshrinkIntegral shrinkNothingarbitrarySizedBoundedIntegralarbitraryBoundedEnumarbitraryBoundedRandomarbitraryBoundedIntegralarbitrarySizedFractionalarbitrarySizedNaturalarbitrarySizedIntegral shrinkListsubtermsrecursivelyShrink genericShrink Arbitrary arbitraryshrink CoArbitrary coarbitrarydiscardTest.QuickCheck.GeninfiniteListOfvectorOflistOf1listOfgrowingElementsshuffle sublistOfelements frequencyoneof suchThatMaybesuchThatsamplesample'generatechoosescaleresizesizedvariantGen