I don't get your comment. Anyway casting to the base type works just fine, as does casting to any type to which the enum base is implicitly convertible.
```
    auto intValue = cast(int)f3;
    auto constIntValue = cast(const(int))f3;
    auto uintValue = cast(uint)f3;
    auto constUlongValue = cast(const(ulong))f3;
    assert(intValue == Enum.A);
    assert(constIntValue == Enum.A);
    assert(uintValue == Enum.A);
    assert(constUlongValue == Enum.A);
```