Reply to Moritz,
> ^ Yes, that's the approach I use and the problem that gives me a
> headache.
> 
Well I think you're toast: this test cases fails
enum Foo{a}
static assert("Foo" == Foo.stringof, "'Foo' == '"~Foo.stringof~"'");
Might be a bug, but it might already be reported.