Unions are defined as:
union exp {
int Const;
string Var;
*[exp, exp] Add;
*[exp, exp] Sub;
*[exp, exp] Mul;
*[exp, exp] Div;
}
This union can be later on used for processing symbolic expressions. You can access union components only using pattern matching (there is no `.' notation).
[[Unions? Nope... not yet]]