# Module Variant_and_record_intf.M.Variant_internal

    module Variant_internal: sig .. end

    type '_ tag =

`|` | `Tag : `('variant, 'a) Variant_and_record_intf.M.Tag.t` -> `'variant tag``

    type '_ value =

`|` | `Value : `('variant, 'a) Variant_and_record_intf.M.Tag.t * 'a` -> `'variant value``

    type 'a t = {

`` | `typename : `'a Typename.t`;`
`` | `tags : `'a tag array`;`
`` | `polymorphic : `bool`;`
`` | `value : `'a -> 'a value`;`

}