Does this cover the case where we want to cast the flags back to it's base enum? 

I'm pretty sure the current constraint here is actually incorrect, and should in fact be `if (isImplicitlyConvertible!(const(Base), B))`, due to the modifier placed on the method. For ease of maintenance it should probably be declared as `if (isImplicitlyConvertible!(typeof(mValue), B))`.