before posting a bug report, I'd like a comment about why utf8::downgrade() had to be used instead of Encode::encode_utf8().

The former modifies the input in-place (argh!) and fails if it isn't either Latin-1 or EBCDIC. This means that the behaviour changes depending on the platform, and your odds are gone if your text can't be converted into one of those two encodings (which means a big part of the world).

The latter would leave its input unchanged, would behave the same whatever the platform (I hope) and would thus be truly "octet oriented".

Do you think a bug report/patch would be well-placed in this case, or am I overlooking something?