Currently we have Pattern for
&[char]. Problem with that is that even the ppl who wrote the docs for it misunderstood how to use it, so it's definitely confusing enough that anyone from a novice to an advanced Rust user can get it wrong.
Personally we believe making it
&[[char; 1]] instead would solve that problem. This is because ppl are gonna assume the inner arrays are effectively 1-codepoint strings and the outer array/slice is a list of choices, instead of assuming concatenation. Because that's how ppl think. Adjusting the API to how ppl think will prevent mistakes in the future.
Not sure if it's possible to deprecate trait impls yet tho.