Currently char[], wchar[], dchar[] and qualified variants fulfill the
requirements of isSomeString. Also, char[], wchar[] and qualified
variants fulfill the requirements of isNarrowString.
Various algorithms in Phobos test for these traits to optimize away UTF
decoding where unnecessary.
I'm thinking of relaxing the definitions to all types that fulfill the
following requirements:
* are random access ranges
* element type is some character
* offer .ptr as a @system property that offers a pointer to the first
character
This would allow us to generalize the notion of string and offer
optimizations for user-defined, not only built-in, strings. Thoughts?
Andrei