1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
type !'a t = private 'a ref
type +!'a t = private 'a
type -!'a t = private 'a -> unit
type +!'a t = private 'a
type -!'a t = private 'a -> unit
type +!'a t = private 'a
type -!'a t = private 'a -> unit
type +!'a t = private 'a
type -!'a t = private 'a -> unit
type +-'a t = int
type -+'a t = int
type !+-'a t = A
type !-+'a t = A
type +-!'a t = A
type -+!'a t = A
module M : sig
type +!'a t
end = struct
type 'a t = 'a list
end
module N : sig
type +'a t
end = struct
type 'a t = 'a list
end
type !'a t = 'a list
type !'a u = int
module M : sig
type !'a t = private < m : int ; .. >
end = struct
type 'a t = < m : int >
end
type 'a t = 'b constraint 'a = < b : 'b >
type !'b u = < b : 'b > t
type !_ t = X
type (_, _) eq = Refl : ('a, 'a) eq
type !'a t = private 'b constraint 'a = < b : 'b >
type !'a t = private 'b constraint 'a = < b : 'b ; c : 'c >
module M : sig
type !'a t constraint 'a = < b : 'b ; c : 'c >
end = struct
type nonrec 'a t = 'a t
end
type !'a u = int constraint 'a = 'b t
module F (X : sig
type 'a t
end) =
struct
type !'a u = 'b constraint 'a = < b : 'b > constraint 'b = _ X.t
end
module F (X : sig
type 'a t
end) =
struct
type !'a u = 'b X.t constraint 'a = < b : 'b X.t >
end
module F (X : sig
type 'a t
end) =
struct
type !'a u = 'b constraint 'a = < b : (_ X.t as 'b) >
end
module rec R : sig
type !'a t = [ `A of 'a S.t ]
end =
R
and S : sig
type !'a t = 'a R.t
end =
S
|