This is the signature of a function of std.ascii: http://dlang.org/phobos/std_ascii.html#toLower pure nothrow @safe dchar toLower(dchar c); If this function is supposed to be used on ASCII strings, what's the point of returning a dchar? When I use it I have usually to cast its result back to char, and I prefer to avoid casts in my code in D. Bye, bearophile