Datatype tuples(T*) ::= tuple(_:T*)
T* can be any sequence of types, including
( ) and
tuple-zip(TV1, TV2) takes two tuples, and returns the sequence of pairs of
their elements, provided that they have the same length. If they have
different lengths, the last elements of the longer sequence are ignored.