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]]