Features

User-specified distribution of constructors.

A simple (optional) strategy to ensure termination for recursive types:
using genericArbitrary', Test.QuickCheck.Gen's size parameter decreases
at every recursive call; when it reaches zero, sample directly from a
trivially terminating generator.