Tuple values

Also reworked the grammar so that types and values are differentiated, and so that subcases of expression can be differentiated.
Does a tuple qualify as a subtype of another if its members are the supertype of the other?