# Module Variant_and_record_intf.M.Tag

    module Tag: sig .. end

Witness of a tag, that is an item in a variant type, also called an "applied variant Constructor"

The first parameter is the variant type, the second is the type of the tag parameters. Example:

type t = | A of (int * string) | B of string

this type has two constructors. for each of them we'll have a corresponding `Tag.t` val tag_A : (t, (int * string)) Tag.t val tag_B : (t, string) Tag.t

    include Tag_internal

    val label : ('a, 'b) t -> string

    val arity : ('a, 'b) t -> int

    val index : ('a, 'b) t -> int

    val ocaml_repr : ('a, 'b) t -> int

    val create : ('a, 'b) t -> ('a, 'b) create

    val tyid : ('a, 'b) t -> 'b Typename.t

    val traverse : ('a, 'b) t -> 'b X.t

    val internal_use_only : 'a -> 'a