In the section <Output>, in the description of `write', we say:
Symbols that contain non-ASCII characters are escaped either with inline hex escapes or with vertical bars.
Is this right? Shouldn't implementations that support Unicode be allowed to write symbols that contain non-ASCII characters without treating them specially?
The invariant we want to establish is that read' can read what write' has written.
The question for this ticket is whether the standard should require that that invariant hold only in the same implementation, or across implementations.
If we stick with the existing language, we get interoperability across implementations.
If we change the language to allow any non-whitespace character supported by the implementation to be written unescaped and without vertical bars, we lose interoperability across implementations, but gain the ability of the implementation to display symbols containing Unicode characters in a natural manner.