bring down below 102 columns
add natural-number/c random generator
Revert "adjust recursive-contract so that it terminates on cyclic values"

This reverts commit 7728e062f481a5bce42c663d91e6e0919d706e62.
added list-contract?

and specialized a bunch of list-related contracts to track list?-ness,
notably recursive-contract now accepts a #:list-contract? argument
that means that it insists that values it accepts be list? (and
thus not cyclic)

related to PR 14559