Module Shexp_process__Import.SMap

include sig ... end
type key = String.t
type 'a t = 'a MoreLabels.Map.Make(String).t
val empty : 'a t
val is_empty : 'a t ‑> bool
val mem : key ‑> 'a t ‑> bool
val add : key:key ‑> data:'a ‑> 'a t ‑> 'a t
val singleton : key ‑> 'a ‑> 'a t
val remove : key ‑> 'a t ‑> 'a t
val merge : f:(key ‑> 'a option ‑> 'b option ‑> 'c option) ‑> 'a t ‑> 'b t ‑> 'c t
val union : f:(key ‑> 'a ‑> 'a ‑> 'a option) ‑> 'a t ‑> 'a t ‑> 'a t
val compare : cmp:('a ‑> 'a ‑> int) ‑> 'a t ‑> 'a t ‑> int
val equal : cmp:('a ‑> 'a ‑> bool) ‑> 'a t ‑> 'a t ‑> bool
val iter : f:(key:key ‑> data:'a ‑> unit) ‑> 'a t ‑> unit
val fold : f:(key:key ‑> data:'a ‑> 'b ‑> 'b) ‑> 'a t ‑> init:'b ‑> 'b
val for_all : f:(key ‑> 'a ‑> bool) ‑> 'a t ‑> bool
val exists : f:(key ‑> 'a ‑> bool) ‑> 'a t ‑> bool
val filter : f:(key ‑> 'a ‑> bool) ‑> 'a t ‑> 'a t
val partition : f:(key ‑> 'a ‑> bool) ‑> 'a t ‑> 'a t * 'a t
val cardinal : 'a t ‑> int
val bindings : 'a t ‑> (key * 'a) list
val min_binding : 'a t ‑> key * 'a
val min_binding_opt : 'a t ‑> (key * 'a) option
val max_binding : 'a t ‑> key * 'a
val max_binding_opt : 'a t ‑> (key * 'a) option
val choose : 'a t ‑> key * 'a
val choose_opt : 'a t ‑> (key * 'a) option
val split : key ‑> 'a t ‑> 'a t * 'a option * 'a t
val find : key ‑> 'a t ‑> 'a
val find_opt : key ‑> 'a t ‑> 'a option
val find_first : f:(key ‑> bool) ‑> 'a t ‑> key * 'a
val find_first_opt : f:(key ‑> bool) ‑> 'a t ‑> (key * 'a) option
val find_last : f:(key ‑> bool) ‑> 'a t ‑> key * 'a
val find_last_opt : f:(key ‑> bool) ‑> 'a t ‑> (key * 'a) option
val map : f:('a ‑> 'b) ‑> 'a t ‑> 'b t
val mapi : f:(key ‑> 'a ‑> 'b) ‑> 'a t ‑> 'b t
val lookup : key ‑> 'a t ‑> 'a option