Tuple values

Also reworked the grammar so that types and values are differentiated, and so that subcases of expression can be differentiated.
That should happen in a `verify` method because we don't have a `Scope` object here and therefore cannot determine the values of the entries.