Draft tutorials on Modules, Functors and Libraries

Indeed. That latin1 intepretation is an old-fashioned view that should not be propagated. The story is that char values are bytes (which for 0x20-0x7E you can specify by their corresponding US-ASCII literal if you fancy so), string values are immutable sequences of bytes, bytes values are mutable sequence of bytes. And that the recommended default way of interpreting strings or bytes as text if you need to is as UTF-8 encoded text.

This view can be found in the documentation preamble of the String module.

2 Likes