Hm, if the `default` clause is reached, wouldn't that mean that the type system had been circumvented with a cast at some point, as the switch is in practice "final"? If that's the case, this should probably just be `assert(false, "bad memory access flags");`, i.e. an `Error` instead of an `Exception`.