o There should be a better type name than "string(0..255)" for octet strings. (That type cannot be a typedef since typedef'ed types still don't work very well.)
Yes, we already agreed to add a binary type in 7.9.
o If we're to separate the types for octet and char strings, I think it should be done also when char strings happen to contain only narrow 8-bit chars. I.e. the string width is not really the important characteristic, rather it's whether the string contains characters or binary octets.
Yes, already agreed upon.
o Fixing the types for the I/O functions requires discussion (see e.g. points above). It ought to be done consistently over all I/O subsystems. Compat and utility functions might be required. This is not something to embark on at this time, I think.
Yes. That's the prime reason for obsoleting the second argument to read_file.
To sum up, for 7.8 I think it's better to not introduce string(0..255) in write() etc. Opinions?
I think the warning is correct. You are probably doing something wrong when writing a wide string like that.