Tuple values

Also reworked the grammar so that types and values are differentiated, and so that subcases of expression can be differentiated.
It's the functional equivalent of `void`, and it will be important when we talk about functions that take no arguments or return nothing.