BTW: is there any reason why code isn't written as "if (Dsymbol* s = isDsymbol(o)) {}"? I'm very much tempted to change it to this style if I stumble over it.