`sig type constant = Const_int of int | Const_char of char | Const_string of string * string option | Const_float of string | Const_int32 of int32 | Const_int64 of int64 | Const_nativeint of nativeint type rec_flag = Nonrecursive | Recursive type direction_flag = Upto | Downto type private_flag = Private | Public type mutable_flag = Immutable | Mutable type virtual_flag = Virtual | Concrete type override_flag = Override | Fresh type closed_flag = Closed | Open type label = string type arg_label = Nolabel | Labelled of string | Optional of string type 'a loc = 'a Location.loc = { txt : 'a; loc : Location.t; } type variance = Covariant | Contravariant | Invariant end`