In general good work! But again phobos makes a simple std.string function unCTFEable. Now I have to use an ugly hack to achieve something as simple as toUpper: mixin( (){char[] tmp = "...".dup; toUpperInPlace(tmp); return tmp;}() );