> Or, might I have misunderstood your question? I just being worried a little about that possibility...

Don't worry I just wanted to understand/check the reasoning.
It's mainly a readability issue and I wondered because it's not explicitly expressed.
How about something along this line?

```d
Type *TypeTypeof::semantic(Loc loc, Scope *sc)
{
    //printf("TypeTypeof::semantic() %s\n", toChars());

    Expression *e;
    Type *t;
    Dsymbol *s;
    resolve(loc, sc, &e, &t, &s);
    if (e ||
        s && (t = s->getType()) == NULL ||
        t == NULL)
    {
        error(loc, "is not a type");
        t = Type::terror;
    }
    else if (s)
        t = t->addMod(mod);
    return t;
}
```