Open
Description
There are a number of different approaches to making enums more extensible, e.g. extensible sum types, polymorphic variants, and union types. We should survey the landscape of ideas and find one that works best in the context of Rust.
Any concrete proposal should include details of the type system changes (including interaction with other type system features) and in-memory data representation.