Base_quickcheckSourceGenerators are sources of random values. Every randomized test needs a generator to produce its inputs.
Observers create random functions. Generator.fn creates a random function using an observer for the input type and a generator for the output type.
Shrinkers produce small values from large values. When a random test case fails, a shrinker finds the simplest version of the problem.
Use the Test module to run randomized tests. Each randomized test needs a generator, a shrinker, and a property to test.
Provides default generators, observers, and shrinkers for built-in types. Follows ppx_quickcheck naming conventions.