A Quantification over a type a is a generator that can be used to generate random values in
DL scenarios.
A Quantification is similar to a Arbitrary, it groups together:
A standard QuickCheck _generator_ in the Gen monad, which can be "empty",
A _shrinking_ strategy for generated values in the case of a failures ensuring they stay within the domain,
A _predicate_ allowing finer grained control on generation and shrinking process, e.g in the case the range of the generator depends on trace context.
NOTE: Leaving the possibility of generating Nothing is useful to simplify the generation
process for elements or frequency which may normally crash when the list to select
elements from is empty. This makes writing DL formulas cleaner, removing the need to
handle non-existence cases explicitly.
Instances2Quantifiable, Quantifies
QuantifyConstraints a => Quantifiable (Quantification a)Defined in quickcheck-dynamic-4.0.1 · Test.QuickCheck.DynamicLogic.Quantifytype Quantifies (Quantification a) = aDefined in quickcheck-dynamic-4.0.1 · Test.QuickCheck.DynamicLogic.Quantify