Tuple values

Also reworked the grammar so that types and values are differentiated, and so that subcases of expression can be differentiated.
Not in the long term. But its fine for now.