JavaやC#のように、バイトストリームとテキストストリームの区別を
ちゃんとつけて、エンコーディング絡みの問題はI/Oレイヤに隠蔽すべきだろ。

テキストストリームの場合はデフォルトではシステムのコードページや
LC_CTYPEに従ってUTF-8との変換を行うべきだし、明示的にエンコーディングを
指定することも可能になっているべきだ。
ただしWin32かつコンソールI/Oの場合は、可能ならW系APIを使うようにすべき
だろう。

単にハローワールドしたいだけのユーザが、明示的に
std.windows.charset.toMBSz()なんてものを使わないといけないのは
馬鹿げている。