Update an exception message.
Fail early.
Avoid useless \result assignements.
Declaration's iterator does not return local vars.
Add borrowing variables and \old(…) support.

A borrowing variable represents a link between two variables (kind a
redirection). It is useful to create link between pre- and post-state in
the contract, such as \old(…).