> I think therefore that the Right Thing to do with an unpaired surrogate,
> since it is not possible to represent it as as a Scheme character, is to
> raise an exception. Alternatively, there could be an argument whose
> value is either the symbol `raise` or the symbol `replace`. In the
> latter case, an unpaired surrogate could be converted to #\uFFFD.
Can we raise a continuable exception that gets the invalid string or
bytevector, and can return the string (or other object) to use instead?