Thanks, indeed json-tokens is written to accept a character generator.
It is reasonable to add errata to allow json-generator to take a character generator.
Regarding json-generator protocol: The entry of json-generator describes the protocol of the generator what json-generator *returns*, not the generator json-fold etc. takes, correct? I was confused initially that json-fold can take a generator that json-generator returns. Actually, what json-fold takes is a character generator.
The only "protocol" port-or-generator must obey is, if we ever mention it, that json-number-of-character-limit should be handled in that generator.