I wondered why enums with a pointer base type don't support auto dereferencing for p.ident.
Probably the idea is to avoid accidental dereferencing of constants, because AFAIK you can't actually store pointers to real objects in enums.
```d
enum : Expression*
{
    Invalid = cast(Expression*)0,
    Error = cast(Expression*)1,
}
```
@WalterBright should know more about this.