Module NS.Map

module type S = sig ... end
type ('key, +'a, 'compare_key) t
include Ppx_compare_lib.Comparable.S3 with type ('key, +'a, 'compare_key) t := ('key, 'a, 'compare_key) t
val compare : 'a Base__Ppx_compare_lib.compare -> 'b Base__Ppx_compare_lib.compare -> 'c Base__Ppx_compare_lib.compare -> ('a, 'b, 'c) t Base__Ppx_compare_lib.compare
include Ppx_compare_lib.Equal.S3 with type ('key, +'a, 'compare_key) t := ('key, 'a, 'compare_key) t
val equal : 'a Base__Ppx_compare_lib.equal -> 'b Base__Ppx_compare_lib.equal -> 'c Base__Ppx_compare_lib.equal -> ('a, 'b, 'c) t Base__Ppx_compare_lib.equal
include Sexplib0.Sexpable.S3 with type ('key, +'a, 'compare_key) t := ('key, 'a, 'compare_key) t
val t_of_sexp : (Sexplib0__.Sexp.t -> 'a) -> (Sexplib0__.Sexp.t -> 'b) -> (Sexplib0__.Sexp.t -> 'c) -> Sexplib0__.Sexp.t -> ('a, 'b, 'c) t
val sexp_of_t : ('a -> Sexplib0__.Sexp.t) -> ('b -> Sexplib0__.Sexp.t) -> ('c -> Sexplib0__.Sexp.t) -> ('a, 'b, 'c) t -> Sexplib0__.Sexp.t
type ('compare_key, 'compare_a) compare
val compare_compare : ('compare_key -> 'compare_key -> int) -> ('compare_a -> 'compare_a -> int) -> ('compare_key, 'compare_a) compare -> ('compare_key, 'compare_a) compare -> int
val equal_compare : ('compare_key -> 'compare_key -> bool) -> ('compare_a -> 'compare_a -> bool) -> ('compare_key, 'compare_a) compare -> ('compare_key, 'compare_a) compare -> bool
val sexp_of_compare : ('compare_key -> Sexplib0.Sexp.t) -> ('compare_a -> Sexplib0.Sexp.t) -> ('compare_key, 'compare_a) compare -> Sexplib0.Sexp.t
val compare_of_sexp : (Sexplib0.Sexp.t -> 'compare_key) -> (Sexplib0.Sexp.t -> 'compare_a) -> Sexplib0.Sexp.t -> ('compare_key, 'compare_a) compare
module Make (Key : sig ... end) : S with type key = Key.t
module Make_from_Comparer (Key : sig ... end) : S with type key = Key.t with type compare_key = Key.compare with type 'compare_a compare = (Key.compare, 'compare_a) compare with type 'a t = (Key.t, 'a, Key.compare) t