After reading your post I wonder if namespaces would simplify the impact on the type system, since the compiler probably would no longer need to do any enum related checks anymore. Would be interesting to know, even just in theory. So maybe someone with more insights could answer that.