What is a @tagged union?
In C, when a value has a union type, you know that in fact it has one of the types of the union’s fields, but there is no guarantee which one. This can lead to crashes in C. Cyclone’s @tagged unions are like C unions with some additional information (a tag) that lets the Cyclone compiler determine what type the underlying value actually has, thus helping to ensure safety.