Cr7{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi j k l m n o p q r s t u v w x y z { | } ~   Safe-Infered      Safe-Infered     Safe-Infered Safe-Infered  Safe-Infered Safe-Infered,NmkEnumeration| applies a default memoization strategy to both the counter and L selector functions. |mkEnum| is just the raw constructor, and is used for M enumerations that will be embedded in other enumerations to avoid redundant R memoization. |mkEnum| should only be needed by experts and the Template Haskell P code that assembles the enumeration combinators based on the type constructor. OAn enumerated type may be defined to be an instance of the |Enumerated| class, G which will automatically provide the default generators for that type 7 as instances of StandardGens in the Generator module. 7 The structures will have a Label (A, B, etc.) in each `hole' - that distinguishes the sort of the element. H|get| retrieves a value from an enumeration given a rank and an index, O or returns |Nothing| if the index is outside of the range of the enumeration. G |getUnsafe| assumes the rank and index values are valid and in range, $ with unpredictable results if not. / !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL.* !,+-./0231456789:;<=>?@ABCDEFGHIJKL")('&%$#& !")('&%$#*+,-./0123456789:;<=>?@ABCDEFGHIJKL Safe-InferedMNOPQRSTUVWXYZ[\]^_`aMNOPQRSTUVWXYZ[\]^_`aSOPQRMNTUVWX[ZY]a`_^\MNOPQRSTUVWXYZ[\]^_`a Safe-InferedfDextreme (1,20) = [1,20,10,2,11,9,19,5,15,3,12,6,16,4,14,8,18,7,13,17]| /The first two extreme binary trees will be the ``all left'' and '' all right'' K branched trees, which is a good start for testing, but in general extreme N indices may or may not map to boundary conditions in a particular structure. GExtreme generators is best used for pulling a small number of cases in O conjunction with random testing. It is not an efficient strategy to produce a F large number of test cases, and may contain duplicate index entries. bcdefghbcdefghbcdefghbcdefgh  Safe-Inferedijklmnopqrstuvwijklmnopqrstuvwrstuikjlmnopqwvikjlmnopqrstuvw  Safe-Infered xyz{|}~ xyz{|}~ xzy}|~{ xyz{|}~  Safe-Infered   Safe-Infered3113  Safe-Infered   Safe-Infered Safe-Infered7 !"#$%&'()*MNijklmnopqrwxyz{|}~7yz{x}|~rpqikjlmnow")('&%$# !*MN !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx y z { | } ~           gencheck-0.1.1$Test.GenCheck.Base.LabelledPartitionTest.GenCheck.Base.VerdictTest.GenCheck.Base.DatumTest.GenCheck.System.ResultTest.GenCheck.Base.Base#Test.GenCheck.Generator.Enumeration Test.GenCheck.Generator.BaseEnum!Test.GenCheck.Generator.EnumStrat!Test.GenCheck.Generator.GeneratorTest.GenCheck.System.TestSuite$Test.GenCheck.Generator.Substitution Test.GenCheck.Generator.BaseGens%Test.GenCheck.Generator.StructureGens Test.GenCheck.System.SimpleCheck Test.GenCheckLabelledPartitionemptynewsizeinsertlookupmergemapfoldtoListfromListrelabelfilterSummaryVerdictsummaryverdictVerdictverdictDatumDataTypedatumDetailedResultcasesfailures dspVerdict dspSummary dspDetailsresult resultPartialPropertyCountRank Enumerated enumeration enumFromToLabelGFEDCBA EnumerationSelectorCountermkEnum mkEnumerationcounterselector enumRangeget getUnsafeeMemoizeeConsteNodeeSumeSum3eSum4eProdeProd3eProd4cConstcNodecSumcProdcSum3cProd3cSum4cProd4sConstsNodesSumsSum3sSum4sProdsProd3sProd4EnumGCbaseBaseEnumBase baseCount baseSelect makeBaseEnumgetBase getBaseUnsafeenumList enumBaseRange enumBaseInt enumBaseNatenumBasePosInt enumDfltInt enumBaseBool enumBaseChar enumDfltChar enumLowChar enumDigitChar enumUpperChar EnumStratexhaustGrandGuniformextreme interleavebranch StandardGens UnrankedGenStdGensgenAllgenXtrmgenUnigenRandTestable stdTestGens GeneratorgenerategenTake enumGeneratorenumGens stdEnumGens GenInstruct MapRankSuite TestSuite suiteMerge testSuitegenSuite baseSuitestdSuite deepSuite Structure3 substitute3 Structure2 substitute2 Structure substitutesubstsubstNsubstAll substStdGenNsubstStdGenAllsubst2subst2N subst2StdGenbaseGen baseEnumGenbaseEnumGCStdGensbaseEnumGCGensgenBaseRangeAllgenBaseRangeExtgenBaseRangeUnigenBaseRangeRndgenBaseStdGens genIntAll genIntExt genIntUni genIntRndgenDfltCharAll genLowCharAllgenUpperCharAllgenDigitCharAllgenDfltCharRnd genLowCharRndgenUpperCharRndgenDigitCharRndgenDfltCharExt genLowCharExtgenUpperCharExtgenDigitCharExtgenDfltCharUni genLowCharUnigenUpperCharUnigenDigitCharUnigenStrRangeAllgenStrDfltCharAllgenStrLowCharAllgenStrUpperCharAllgenStrDigitCharAllgenStrRangeRnd genStrLowRndgenStrUpperRndgenStrDigitRndbldStr genDblRndgenDblRangeRnd genDblXtrm genDblUnigenDblRangeUni genFltRndgenFltRangeRnd genFltXtrm genFltUnigenFltRangeUni genListOf genListAll listStdGens genTplAllstdTest stdTestArgs stdReport stdReportArgsstdCheck stdCheckArgsdeepTest deepTestArgs deepReportdeepReportArgs deepCheck deepCheckArgsbaseTest baseTestArgs baseReportbaseReportArgs baseCheck baseCheckArgs simpleTest simpleReport simpleCheck$fLabelledPartitionMapk[] $fMonoidc $fVerdictBool$fDatumIdentity$fDetailedResultcvr$fFunctorEnumeration $fEnumGCChar $fEnumGCInt$fTestableChar $fTestableInt $fTestable(,)$fStructure2(,) $fTestable[] $fTestable[]0 $fStructure[]$fVerdictSimpleTestPt$fDatumSimpleTestPt$fShowSimpleTestPt