Sourcetype ('types, 'structure, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt)
argument =
| None : (unit,
unit,
'arity,
'rec_group,
'kinds,
'positive,
'negative,
'direct,
'gadt)
argument| Some : {desc : ('a,
'structure,
'arity,
'rec_group,
'kinds,
'positive,
'negative,
'direct,
'gadt)
Refl__.Desc.desc;value : 'a;
} -> ('a * unit,
'structure * unit,
'arity,
'rec_group,
'kinds,
'positive,
'negative,
'direct,
'gadt)
argument
Sourceval map_choice :
'a_cases 'b_cases 'structures. ('a_arity,
'b_arity,
'rec_group,
'kinds_a,
'kinds_b,
'positive,
'negative,
'direct,
'gadt)
map ->
('a_cases,
'structures,
'a_arity,
'rec_group,
'kinds_a,
'positive,
'negative,
'direct,
'gadt)
Refl__.Desc.variant_constructors ->
('b_cases,
'structures,
'b_arity,
'rec_group,
'kinds_b,
'positive,
'negative,
'direct,
'gadt)
Refl__.Desc.variant_constructors ->
'a_cases Refl__.Desc.choice ->
'b_cases Refl__.Desc.choice Sourcetype ('types, 'structure, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt)
kind =
| Constructor : {name : string;argument : ('types,
'structure,
'arity,
'rec_group,
'kinds,
'positive,
'negative,
'direct,
'gadt)
argument;
} -> ('types,
[ `Constr of 'structure ],
'arity,
'rec_group,
'kinds,
'positive,
'negative,
'direct,
'gadt)
kind| Inherit : {desc : ('a,
'structure,
'arity,
'rec_group,
'kinds,
'positive,
'negative,
'direct,
'gadt)
Refl__.Desc.desc;value : 'a;
} -> ('a,
[ `Inherit of 'structure ],
'arity,
'rec_group,
'kinds,
'positive,
'negative,
'direct,
'gadt)
kind
Sourcetype ('cases, 'structures, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt)
destruct =
| Destruct : {constructors : ('cases,
'structures,
'arity,
'rec_group,
'kinds,
'positive,
'negative,
'direct,
'gadt)
Refl__.Desc.variant_constructors;index : ([ `Succ of 'index ], 'cases, 'types, _) Refl__.Desc.selection;index_desc : ([ `Succ of 'index ], 'structures, 'structure, _)
Refl__.Desc.selection;constructor : ('types,
'structure,
'arity,
'rec_group,
'kinds,
'positive,
'negative,
'direct,
'gadt)
Refl__.Desc.variant_constructor;kind : ('types,
'structure,
'arity,
'rec_group,
'kinds,
'positive,
'negative,
'direct,
'gadt)
kind;
} -> ('cases,
'structures,
'arity,
'rec_group,
'kinds,
'positive,
'negative,
'direct,
'gadt)
destruct
Sourceval destruct_choice :
'index 'types 'structure 'tail_cases 'tail_structures. ('cases,
'structures,
'arity,
'rec_group,
'kinds,
'positive,
'negative,
'direct,
'gadt)
Refl__.Desc.variant_constructors ->
('index, 'cases, 'types, 'tail_cases) Refl__.Desc.selection ->
('index, 'structures, 'structure, 'tail_structures) Refl__.Desc.selection ->
('tail_cases,
'tail_structures,
'arity,
'rec_group,
'kinds,
'positive,
'negative,
'direct,
'gadt)
Refl__.Desc.variant_constructors ->
'tail_cases Refl__.Desc.choice ->
('cases,
'structures,
'arity,
'rec_group,
'kinds,
'positive,
'negative,
'direct,
'gadt)
destruct Sourceval destruct :
('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) Refl__.Desc.variant_constructors ->
'a Refl__.Desc.choice ->
('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) destruct