Module Recent
module type S = { ... };
-
type variant
=
|
A
|
B(int)
|
C
foo
|
D
bar
|
E of
{
a: int,
}
-
type gadt(_)
=
|
A : gadt(int)
|
B(int) : gadt(string)
foo
|
C:
{
a: int,
}
: gadt(unit)
-
type polymorphic_variant
=[
|
`A
|
`B(int)
|
`C
foo
|
`D
bar
]
; -
type nonrec nonrec_
= int
; -
type empty_conj
=
|
X([< `X& ('a) & ((int, float)) ]) : empty_conj
-
type conj
=
|
X([< `X(int) & ([< `B(int) & (float) ]) ]) : conj
module Z: { ... };
module X: { ... };