sig   type 'a key   type t   val empty : B0.Hmap.MAP.t   val is_empty : B0.Hmap.MAP.t -> bool   val mem : 'B0.Hmap.MAP.key -> B0.Hmap.MAP.t -> bool   val add : 'B0.Hmap.MAP.key -> '-> B0.Hmap.MAP.t -> B0.Hmap.MAP.t   val add_tag : bool B0.Hmap.MAP.key -> B0.Hmap.MAP.t -> B0.Hmap.MAP.t   val singleton : 'B0.Hmap.MAP.key -> '-> B0.Hmap.MAP.t   val rem : 'B0.Hmap.MAP.key -> B0.Hmap.MAP.t -> B0.Hmap.MAP.t   val find : 'B0.Hmap.MAP.key -> B0.Hmap.MAP.t -> 'a option   val get : 'B0.Hmap.MAP.key -> B0.Hmap.MAP.t -> 'a   val get_or_suggest :     'B0.Hmap.MAP.key ->     B0.Hmap.MAP.t -> ('a, string list) Pervasives.result   val flag : ?absent:bool -> bool B0.Hmap.MAP.key -> B0.Hmap.MAP.t -> bool   type binding = B : 'B0.Hmap.MAP.key * '-> B0.Hmap.MAP.binding   val iter : (B0.Hmap.MAP.binding -> unit) -> B0.Hmap.MAP.t -> unit   val fold : (B0.Hmap.MAP.binding -> '-> 'a) -> B0.Hmap.MAP.t -> '-> 'a   val for_all : (B0.Hmap.MAP.binding -> bool) -> B0.Hmap.MAP.t -> bool   val exists : (B0.Hmap.MAP.binding -> bool) -> B0.Hmap.MAP.t -> bool   val filter :     (B0.Hmap.MAP.binding -> bool) -> B0.Hmap.MAP.t -> B0.Hmap.MAP.t   val cardinal : B0.Hmap.MAP.t -> int   val any_binding : B0.Hmap.MAP.t -> B0.Hmap.MAP.binding option   val get_any_binding : B0.Hmap.MAP.t -> B0.Hmap.MAP.binding   val pp : B0.Hmap.MAP.t B0.Fmt.t   type encode_error = string * [ `Msg of string ]   val encode :     B0.Hmap.MAP.t -> (string * string) list * B0.Hmap.MAP.encode_error list   type decode_error = string * [ `Msg of string | `Unknown ]   val decode :     (string * string) list -> B0.Hmap.MAP.t * B0.Hmap.MAP.decode_error list end