|  |  |  | Product | 
Product types represent tuples formed as the cartesian product of types. They are often used to describe multiple value return types.
| <product> | (<type>) | C | 
| t* | (types|... => <product>) | G | 
| returns product type specifying the cross product of types. | ||
| product-elts | (x|<product> => <seq>) | G | 
| types that product type matches. | ||
|  |  |  | Product |