TCHECK-47: validate generator args

Because many higher-order-generators don't otherwise interact with their
generator args until they are themselves called upon to generate a
value, wrong-arg-type errors are caught rather later than the user would
expect, and often end up manifesting as a NullPointerException.

Checking the args with the `generator?` predicate whenever relevant
should improve this situation.

Signed-off-by: Reid Draper <reiddraper@gmail.com>