(Beta) Introduce a tagged union data type, also commonly called a variant or sum type.
Note: Defsum is currently under development. You are welcome to use it, but please be advised that we may drastically change its interface and implementation.
Defsum is a macro that automates introducing a recognizer, pattern-binding macro, and certain supporting theorems for new tagged union data types.
Defsum is currently restricted to unions of tagged aggregates, which must be introduced ahead of time using defaggregate, and does not currently support mutual recursive data types. (In the future we may work to lift these restrictions).