Tagged union
A discriminant paired with a union payload under an invariant that the tag identifies the member currently holding a value.
A discriminant paired with a union payload under an invariant that the tag identifies the member currently holding a value.