| typexpr | ::= | type-ord |
| | | type-rec | |
| type-ord | ::= | ' ident |
| | | ( type-ord ) | |
| | | type-tuple | |
| | | type-tuple -> type-tuple | |
| | | full-typeconstr-name | |
| | | type-ord full-typeconstr-name | |
| | | ( type-ord { , type-ord } ) full-typeconstr-name | |
| type-tuple | ::= | < > |
| | | < type-ord { * type-ord } > | |
| typrec | ::= | type-ord where type-defs |
| type-defs | ::= | ' ident = typtop { and ' ident = typtop } |
| Operator | Associativity |
| Type constructor application | -- |
| * | right |
| < | -- |