As I mentioned buried deep in another thread, std.string is in serious need of fixing, for two reasons:
1. Most of it doesn't work with UTF-16/UTF-32 strings. 2. Much of it requires the input to be immutable even when there's no good reason for this constraint. I'm trying to understand a few things before I dive into fixing it: 1. How did it get to be this way? Why did it seem like a good idea at the time to only support UTF-8 and only immutable strings? 2. Is there any "deep" design/technical issue that makes these hard to fix, or is it basically just lack of manpower and other priorities? 3. Is there any good reason to avoid just templating everything to work with all 9 string types (mutable/const/immutable char/wchar/dchar[]) or whatever subset is reasonable for the given function?
