_Comment made by: gfredericks_
I don't think there's any clean approach to solving the problem you noted, which is one reason that I don't see an obvious solution here.
I faced this issue when creating the {{large-integer}} and {{double}} generators, and I decided to create two generators: {{large-integer}} is a generator with default behavior, and {{large-integer*}} is a function that takes options and returns a generator.
In hindsight I don't know if this was the best choice, since it's confusing. I asked David MacIver about how he handles this in hypothesis (a similar python library) and he said he doesn't have *any* raw generators, just functions that return generators (sometimes with 0 arguments). I like the uniformity of that approach, but it would obviously be a big breaking change for test.check (though there are some hacky tricks that could preserve backwards compatibility).
That issue is a bit bigger than this ticket. With respect to the code you showed, I think I'd prefer an API closer to what {{gen/set}} has, with an options map rather than positional args.
Now that you've got me thinking about this, I'm starting to get fixated on the idea of a big breaking API change that uses hacks to preserve backwards compatibility for a few versions, for the sake of cleaning up a lot of inconsistencies. But again, that's bigger than this ticket.
If we can't come up with a clean short-term approach, my standards for accepting things are much more relaxed at [test.chuck|
https://github.com/gfredericks/test.chuck] ☺.