Hi list,

I don't understand the following behaviour:

        Objective Caml version 3.11.0

# type t = [`A | `B of int u] and 'a u = 'a * t;;
Error: In the definition of t, type int u should be 'a u
# type t = A | B of int u and 'a u = 'a * t;;
type t = A | B of int u
and 'a u = 'a * t

Anyone's got a simple explanation for this ?

ph.