Thanks for give me an excuse to fix up some of my own bugs.

The 15-or-so tests starting with (test-equal #f (string=? "Fuss" fuss")) need to be wrapped with cond-expand to be disabled without full-unicode-strings support.

This line seems to have some non-portable type declaration syntax:

"-(define (translate-space-to-newline str::string)::string"

There are a few instances of #\Space and #\Newline which are portably valid only if #!fold-case is in effect.

" (test-equal 6 (length str))"

Should be (test-equal 6 (string-length str))

The string->utf16 tests assume that the declared feature big-endian or little-endian is consistent with the specification when it refers to an "implementation-dependent endianness".    While that relationship may seem obvious, perhaps it should be made explicit in the specification.