\begin{syntax}
  type ::= lqualid type*     ; type symbol
       | "'" lident          ; type variable
       | "()"		     ; empty tuple type
       | "(" type ("," type)+ ")" ; tuple type
       | "(" type ")"        ; parentheses %
\end{syntax}