Module Compare.ComparersSource
Sourcetype (!'a, !'b, !'occurrence) item = | None : ('c, 'd, [ `Absent ]) item| Some : ('a0, 'b0) Comparer.t -> ('a0, 'b0, 'e) item
Sourcetype (!'a, !'b, !'occurrences) t = | [] : (unit, unit, unit) t| :: : ('head_a, 'head_b, 'occurrence) item
* ('tail_a, 'tail_b, 'occurrences0) t -> ('head_a * 'tail_a,
'head_b * 'tail_b,
'occurrence * 'occurrences0)
t
Sourceval get :
('index, 'a, 'value_a, 'positive, 'occurrences) Refl__.Desc.variable ->
('index, 'b, 'value_b, 'positive, 'occurrences) Refl__.Desc.variable ->
('a, 'b, 'occurrences) t ->
('value_a, 'value_b) Comparer.t Sourceval make_transfer :
('source, 'sub, 'arg) Refl__.Desc.transfer_arguments ->
('a, 'b, 'source) t ->
(('a, 'b, 'arg) t, ('sub, [ `Absent ]) Refl__.Desc.eq) result Sourcetype (!'arity_a, !'arity_b, !'rec_group, !'kinds, !'gadt_a, !'gadt_b) make = {f : 'a 'b 'structure 'ap 'an 'ad. ('a,
'structure,
'arity_a,
'rec_group,
'kinds,
'ap,
'an,
'ad,
'gadt_a)
Refl__.Desc.desc ->
('b, 'structure, 'arity_b, 'rec_group, 'kinds, 'ap, 'an, 'ad, 'gadt_b)
Refl__.Desc.desc ->
('arity_a, 'arity_b, 'ad) t ->
('a, 'b) Comparer.t;
} Sourceval make_transfer_vector :
('arity_a, 'arity_b, 'rec_group, 'kinds, 'gadt_a, 'gadt_b) make ->
('types_a, 'structures, 'arity_a, 'rec_group, 'kinds, 'arguments, 'gadt_a)
Refl__.Desc.vector ->
('types_b, 'structures, 'arity_b, 'rec_group, 'kinds, 'arguments, 'gadt_b)
Refl__.Desc.vector ->
('positive,
'negative,
'direct,
'subpositive,
'subnegative,
'subdirect,
'arguments)
Refl__.Desc.transfer ->
('arity_a, 'arity_b, 'direct) t ->
('types_a, 'types_b, 'subdirect) t Sourceval skip :
('variables, 'skip_variables) Refl__.Desc.skip_vector ->
('a, 'b, 'variables) t ->
('a, 'b, 'skip_variables) t Sourceval make :
('a, 'b, 'c, 'd, 'e, 'f) make ->
('g, 'h, 'a, 'c, 'd, 'i, 'e) Refl__.Desc.vector ->
('j, 'h, 'b, 'c, 'd, 'i, 'f) Refl__.Desc.vector ->
('k, 'l, 'm, 'n, 'o, 'p, 'i) Refl__.Desc.transfer_skip ->
('a, 'b, 'm) t ->
('g, 'j, 'p) t Sourceval append :
'presence any ->
('presence, 'directs) Refl__.Desc.presences ->
('count, 'directs) Refl__.Desc.length ->
('directs, 'direct, 'subdirect) Refl__.Desc.append ->
('count, 'types_a) Refl__.Desc.length ->
('types_a, 'a, 'sub_a) Refl__.Desc.append ->
('count, 'types_b) Refl__.Desc.length ->
('types_b, 'b, 'sub_b) Refl__.Desc.append ->
('a, 'b, 'direct) t ->
('sub_a, 'sub_b, 'subdirect) t