package refl

  1. Overview
  2. Docs
module Equaler : sig ... end
module Equalers : sig ... end
type ('a, 'b) hook_fun = 'a Refl__.Desc.refl -> 'b Refl__.Desc.refl -> (?hook:hook -> ('a, 'b) Equaler.t) -> ('a, 'b) Equaler.t
and hook = {
  1. hook : 'a 'b. ('a, 'b) hook_fun;
}
val equal_poly : 'a 'b 'structure 'arity_a 'arity_b 'rec_group 'positive 'negative 'direct 'gadt_a 'gadt_b. ?hook: hook -> ('a, 'structure, 'arity_a, 'rec_group, [< Refl__.Desc.Kinds.comparable Array Attributes Bool Bytes Char Constr Exists Float Int Int32 Int64 Lazy MapOpaque Nativeint Object Opaque Record String Tuple Variable Variant ] as 'c, 'positive, 'negative, 'direct, 'gadt_a) Refl__.Desc.desc -> ('b, 'structure, 'arity_b, 'rec_group, 'd, 'positive, 'negative, 'direct, 'gadt_b) Refl__.Desc.desc -> ('arity_a, 'arity_b, 'direct) Equalers.t -> ('a, 'b) Equaler.t
val equal : ?hook:hook -> ('a, 'b, 'c, 'd, [< Refl__.Desc.Kinds.comparable Array Attributes Bool Bytes Char Constr Exists Float Int Int32 Int64 Lazy MapOpaque Nativeint Object Opaque Record String Tuple Variable Variant ], 'e, 'f, 'g, 'h) Refl__.Desc.desc -> ('c, 'i, 'g) Equalers.t -> ('a, 'j) Equaler.t