Algebraic data type implementation based on a tagged union.
Calls a the given callback with the static type of the contained value.
Gets the value stored in an algebraic type based on its data type.
Tests if the algebraic type stores a value of a certain data type.
User-defined attibute to disable opIndex forwarding for a particular tagged union member.
Implements a generic algebraic type using an enum to identify the stored type.
Convenience type that can be used for union fields that have no value (void is not allowed).
Maps a kind enumeration value to the corresponding field type.