úÎ#ÌsT      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSNone*,29:;<=BDIQRTFor convenience.A ListBaseCases n (T a); constraint basically provides the list of values of type a with depth at most n. Successor ZeroGeneric 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 weightsC, 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).)OPick a constructor with a given distribution, and fill its fields recursively.*Shorthand for ) /.+Like +r, with decreasing size to ensure termination for recursive types, looking for base cases once the size reaches 0.,Shorthand for +   /0, using nullary constructors as the base cases.-Shorthand for + (  ) /Z, using nullary constructors and constructors whose fields are all nullary as base cases..5A smart constructor to specify a custom distribution./Uniform distribution.N  !"#$%&'()%List of weights for every constructor*+%List of weights for every constructor,-./0123456789:;<=>?@ABCDEFGHIJKLM3  !"#$%&'()*+,-./012N)*+,-(&'$%"# !./MLKJIH0GFEDC12BA@?>= <;:9876543;    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM1None  ")*+,-./)*+,-" ./ U          !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR-generic-random-0.5.0.0-CGhXj0Oye8PCQJzo9mINGyGeneric.Random.Internal.GenericGeneric.Random.Generic BaseCases' ListBaseCases listBaseCases BaseCases baseCasesWeightedSZTaggedunTaggedArity GAProduct gaProductGASumgaSumGAgaUnsizedSizedGen'unGen' UniformWeight uniformWeight WeightBuilderPrec%FirstWWeightsL:|NWeights_genericArbitrarygenericArbitraryUgenericArbitrary'genericArbitraryU0genericArbitraryU1weightsuniformsized'gArbitrarySinglegaSum'$fListBaseCasesn:*:$fListBaseCasesn:+:$fListBaseCasesSK1$fListBaseCasesZK1$fListBaseCasesnM1$fListBaseCasesnU1$fBaseCasesnM1$fBaseCasesn:+:$fAlternativeWeighted$fApplicativeWeighted$fGAProduct:*: $fGAProductM1 $fGAProductK1 $fGAProductU1$fGASumsizedM1$fGASumsized:+:$fGAUnsized:+: $fGASized:+: $fGASizedM1 $fGAUnsizedM1 $fGAsizedM1$fUniformWeight()$fUniformWeightL$fUniformWeight:|$fWeightBuilder()$fWeightBuilderL$fWeightBuilder:|$fNumW $fFunctorGen'$fApplicativeGen' $fMonadGen'$fFunctorTagged$fFunctorWeightedbase GHC.GenericsRep