An existential type used to gather all the tags constituing a variant
type. the 'variant
parameter is the variant type, it is the same for all the
constructors of that variant type. The type of the parameters might be different
for each constructor and is thus existential
A similar existential constructor to _ tag
but this one holds a value whose type
is the arguments of the tag constructor. A value of type 'a value
is a pair of
(1) a value of variant type 'a
along with (2) some information about the
constructor within the type 'a
val typename_of_t : 'a t ‑> 'a Typerep_lib.Typename.t
val is_polymorphic : 'a t ‑> bool
Distinguish polymorphic variants and standard variants. Typically, polymorphic
variants tags starts with the `
character.
Example
polymorphic variant: type t = `A | `B
standard variant: type t = A | B
val internal_use_only : 'a Variant_internal.t ‑> 'a t