char 型と、utf8 型(?)に分けちゃえば、すんなり行くような気がする今日この頃。
そうでもない?
UTF-8 と決まっている D の char 型と、C言語用の文字(列)型としての char 型が
ごちゃ混ぜになってるのがそもそもの不幸の始まりだよね?