- Obviously a zero-length string should be considered an ASCII string.
- Otherwise, all codepoints need to be ASCII 0..127.
- What about control characters?
Yes to all three.
Do you have particular arguments or examples where `ascii-string?` would
be better than just using string-every with one of the existing predicates?
SRFI 13 (and its successors) are much more heavyweight than SRFI 175. If you know that strings are ASCII strings, you can use SRFI 175; this predicate serves as a dynamic type check.
Now that I think of it, ascii-bytevector? is good too (are all the elements ASCII codepoints?)