Introduce the 'consume' keyword
This is different from 'recover' (which was previously named 'consume'): ``` (1) consume <name | attr> [ with <expr> ] ``` - The operand can either be a *name* an *attribute*. - if the operand is a cypclass or a pointer the value NULL is assigned to it; else the operand keeps its old value. - The resulting value of 'consume' is the old value of the operand. - The resulting type is the type of the operand seen as an rvalue, i.e. the same type except for 'iso' which is seen as 'iso~'.
Showing with 263 additions and 6 deletions