This patch improves shrinking and generation for collection strategies
which reject some drawn elements, such as "lists()" with
"unique=True". Rejected elements are now marked as discarded, so the
shrinker can delete them wholesale and generation avoids revisiting
choices that would be rejected again.
The canonical version of these notes (with links) is on readthedocs.