The rules of logical syntax must follow of themselves, if we only know how every single sign signifies. --Ludwig Wittgenstein
An expression prescribes a computation that produces a value or variable.
Syntactically, an expression is either an operand, or an operation applied to
arguments, which are themselves expressions. Operands are identifiers,
literals, or types. An expression is evaluated by recursively evaluating its
arguments and performing the operation. The order of argument evaluation is
undefined for all operations except