92ˆ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None,29:;<=DIQRT Generic Arbitrary6A binary constructor for building up trees of weights.rType of a single weight, tagged with the name of the associated constructor for additional compile-time checking. ((9 ::  "Leaf")  (8 ::  "Node")  ()) 2Trees of weights assigned to constructors of type a1, rescaled to obtain a probability distribution.Two ways of constructing them. (x1  x2  ...  xn  ()) ::  a & ::  a Using ()C, there must be exactly as many weights as there are constructors.& is equivalent to (1  ...  1  ())3 (automatically fills out the right number of 1s).![Pick a constructor with a given distribution, and fill its fields with recursive calls to .Example *genericArbitrary (2 % 3 % 5 % ()) :: Gen a-Picks the first constructor with probability 2/10, the second with probability 3/10, the third with probability 5/10.">Pick every constructor with equal probability. Equivalent to ! &. genericArbitraryU :: Gen a#0 for types with one constructor. Equivalent to ", with a stricter type. genericArbitrarySingle :: Gen a$RDecrease size at every recursive call, but don't do anything different at size 0. /genericArbitraryRec (7 % 11 % 13 % ()) :: Gen a%5A smart constructor to specify a custom distribution.&Uniform distribution.A  !%List of weights for every constructor"#$%List of weights for every constructor%&'()*+,-./0123456789:;<=>?@)  !"#$%&'(A!"#$ %&@?>=<;:9 8 7654'3210/.-,+*)(4   !"#$%&'()*+,-./0123456789:;<=>?@1None+,69:;<=DOQRTY3Custom instances can override the default behavior.ZGenerator of base cases.[+Progressively increase the depth bound for _._Find a base case of type a with maximum depth z, recursively using _# instances to search deeper levels.y' is the depth of a base case, if found.e4 is the original type the search started with, that a- appears in. It is used for error reporting.aiDecrease size to ensure termination for recursive types, looking for base cases once the size reaches 0. .genericArbitrary' (17 % 19 % 23 % ()) :: Gen abEquivalent to a &. genericArbitraryU :: Gen acURun the first generator if the size is positive. Run the second if the size is zero. %defaultGen `withBaseCase` baseCaseGenw OverlappableCCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a%List of weights for every constructorbcdefghijklmnopqrstuvwxyz{|}~!CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcCabc_`~}|{]^zy[\xYZwXWVUTSRQPNOvuLMtsrqJKponmHIlkEFGjihgfeCDd8CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None!"#$%&YZabc!"#ab$&cYZ%None!"#$%&YZabcNone      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~-generic-random-1.0.0.0-Ce6U8Widg2v9Pnlo54TBCmGeneric.Random.Internal.Generic Generic.Random.Internal.BaseCaseGeneric.RandomGeneric.Random.GenericGeneric.Random.TutorialWeightedArity GAProduct' gaProduct' GAProduct gaProductGASumgaSumGAgaUnsizedSizedUniformWeight_ UniformWeight uniformWeight WeightBuilderPrec%.WeightBuilder'%Prec'First'FirstWWeightsL:|NWeights_genericArbitrarygenericArbitraryUgenericArbitrarySinglegenericArbitraryRecweightsuniformgaSum'liftGen$fAlternativeWeighted$fApplicativeWeighted$fGAProduct'M1$fGAProduct':*:$fGAProduct'K1$fGAProduct'U1$fGAProductSizedU1$fGAProductSizedf$fGAProductUnsizedf$fGASumsizedM1$fGASumsized:+: $fGAsizedf $fGAsizedM1 $fGAsized:+: $fGAsizedM10$fUniformWeight_f$fUniformWeight()$fUniformWeightL$fUniformWeight:|$fWeightBuilder()$fWeightBuilderL$fWeightBuilder:|$fWeightBuilder'(,,)$fWeightBuilder'Weights$fNumW$fFunctorWeightedGBaseCaseSearchgBaseCaseSearchIsMaybeifMmapifM GBCSProduct gbcsProductGBCSSumComparegbcsSumCompareGBCSSumgbcsSumGBCSgbcsMinOfMinMaxOfMax&&?||?IsEQ==IfMBaseCasebaseCaseBaseCaseSearchingbaseCaseSearchingBaseCaseSearching_baseCaseSearching_BaseCaseSearchbaseCaseSearchgenericArbitrary'genericArbitraryU' withBaseCase$fGBaseCaseSearchTYPENatNatazye $fGBCSkfzye$fGBCSTYPEU1zye$fGBCSTYPEK10ye$fGBCSTYPEK1zye$fIsMaybetNothing$fIsMaybetJust$fGBCSProductkkfgzeJustJust$fGBCSProductkkfgzeyfyg$fGBCSTYPE:*:zye $fGBCSSumCompareOrderingkkfgzeGT $fGBCSSumCompareOrderingkkfgzeLT $fGBCSSumCompareOrderingkkfgzeEQ$fGBCSSumkkfgzeJustJust$fGBCSSumkkfgzeNothingJust$fGBCSSumkkfgzeJustNothing$fGBCSSumkkfgzeNothingNothing$fGBCSTYPE:+:zye$fGBCSTYPEM1zye $fBaseCasea$fBaseCaseSearchingNataz!$fBaseCaseSearching_tNatazNothing$fBaseCaseSearching_tkazJust$fBaseCaseSearchOrderingzye$fBaseCaseSearch[]zye$fBaseCaseSearchBoolzye$fBaseCaseSearch()zye$fBaseCaseSearchWordzye$fBaseCaseSearchDoublezye$fBaseCaseSearchFloatzye$fBaseCaseSearchIntegerzye$fBaseCaseSearchIntzye$fBaseCaseSearchCharzye$fBaseCaseSearchazye*QuickCheck-2.10.0.1-ALuGysu7txTB2VnkPyDuTqTest.QuickCheck.Arbitrary arbitrary