package refl

  1. Overview
  2. Docs
module T : sig ... end
type (!'a, !'occurrence) item =
  1. | None : ('b, [ `Absent ]) item
  2. | Some : 'a0 T.t -> ('a0, 'c) item
type (!'sequence, !'occurrences) t =
  1. | [] : (unit, unit) t
  2. | :: : ('head, 'occurrence) item * ('tail, 'occurrences0) t -> ('head * 'tail, 'occurrence * 'occurrences0) t
val get : ('index, 'sequence, 'value, 'positive, 'occurrences) Refl__.Desc.variable -> ('sequence, 'occurrences) t -> 'value T.t
val make_transfer : ('source, 'sub, 'arg) Refl__.Desc.transfer_arguments -> ('sequence, 'source) t -> (('sequence, 'arg) t, ('sub, [ `Absent ]) Refl__.Desc.eq) result
type (!'arity, !'rec_group, !'kinds) make = {
  1. f : 'a 'structure 'ap 'an 'ad 'gadt. ('a, 'structure, 'arity, 'rec_group, 'kinds, 'ap, 'an, 'ad, 'gadt) Refl__.Desc.desc -> ('arity, 'ad) t -> 'a T.t;
}
val make : ('arity, 'rec_group, 'kinds) make -> ('types, 'structures, 'arity, 'rec_group, 'kinds, 'arguments, 'gadt) Refl__.Desc.vector -> ('positive, 'negative, 'direct, 'subpositive, 'subnegative, 'subdirect, 'arguments) Refl__.Desc.transfer_skip -> ('arity, 'direct) t -> ('types, 'subdirect) t
type !'presence any =
  1. | None : [ `Absent ] any
  2. | Some : {
    1. item : 'a. 'a T.t;
    } -> 'b any
val append : 'presence any -> ('presence, 'directs) Refl__.Desc.presences -> ('count, 'directs) Refl__.Desc.length -> ('directs, 'direct, 'subdirect) Refl__.Desc.append -> ('count, 'types) Refl__.Desc.length -> ('types, 'arity, 'subarity) Refl__.Desc.append -> ('arity, 'direct) t -> ('subarity, 'subdirect) t
val to_sequence : [ `Present ] any -> ('sequence, 'occurrences) t -> 'sequence Refl__.Desc.Sequence(T).t