sig   module Key :     sig       type 'a typed       type 'a info = unit       type t = V : 'a typed -> t       val v :         ?loc:Def.loc ->         ?doc:string -> string -> 'Conv.t -> 'a info -> 'a typed       val conv : 'a typed -> 'Conv.t       val info : 'a typed -> 'a info       val of_typed : 'a typed -> t       val value_kind : string       val name : t -> string       val loc : t -> Def.loc       val doc : t -> string       val equal : t -> t -> bool       val compare : t -> t -> int       val compare_by_name : t -> t -> int       val find : string -> t option       val get : string -> t       val get_or_suggest : string -> (t, string list) result       val list : unit -> t list       val pp_name_str : string Fmt.t       val pp_name : t Fmt.t       val pp_synopsis : t Fmt.t       val pp_info : t Fmt.t       val pp_info_ext : t Fmt.t -> t Fmt.t     end   type 'a key = 'Key.typed   type t   val empty : t   val is_empty : t -> bool   val mem : 'a key -> t -> bool   val add : 'a key -> '-> t -> t   val add_tag : bool key -> t -> t   val singleton : 'a key -> '-> t   val rem : 'a key -> t -> t   val find : 'a key -> t -> 'a option   val get : 'a key -> t -> 'a   val get_or_suggest : 'a key -> t -> ('a, string list) result   val flag : ?absent:bool -> bool key -> t -> bool   type binding = B : 'a key * '-> binding   val iter : (binding -> unit) -> t -> unit   val fold : (binding -> '-> 'a) -> t -> '-> 'a   val for_all : (binding -> bool) -> t -> bool   val exists : (binding -> bool) -> t -> bool   val filter : (binding -> bool) -> t -> t   val cardinal : t -> int   val any_binding : t -> binding option   val get_any_binding : t -> binding   val pp : t Fmt.t   type encode_error = string * [ `Msg of string ]   val encode : t -> (string * string) list * encode_error list   type decode_error = string * [ `Msg of string | `Unknown ]   val decode : (string * string) list -> t * decode_error list   module Map :     sig       type meta = t       type t = B0.Meta.Fpath.Map.meta B0.Fpath.map       val empty : B0.Meta.Fpath.Map.t       val mem : B0.Fpath.t -> 'a key -> B0.Meta.Fpath.Map.t -> bool       val add :         B0.Fpath.t ->         'a key -> '-> B0.Meta.Fpath.Map.t -> B0.Meta.Fpath.Map.t       val rem :         B0.Fpath.t -> 'a key -> B0.Meta.Fpath.Map.t -> B0.Meta.Fpath.Map.t       val find : B0.Fpath.t -> 'a key -> B0.Meta.Fpath.Map.t -> 'a option       val get : B0.Fpath.t -> 'a key -> B0.Meta.Fpath.Map.t -> 'a       val get_all :         B0.Fpath.t -> B0.Meta.Fpath.Map.t -> B0.Meta.Fpath.Map.meta     end end