sig   type loc   module Loc :     sig       type t = B0.Def.loc       val none : B0.Def.loc       val lib : string -> B0.Def.loc       val file : B0.fpath -> B0.Def.loc       val is_none : B0.Def.loc -> bool       val find_file : B0.Def.loc -> B0.fpath option       val equal : B0.Def.loc -> B0.Def.loc -> bool       val compare : B0.Def.loc -> B0.Def.loc -> int       val pp : B0.Def.loc B0.Fmt.t       val set_root : B0.fpath option -> unit       val get_root : unit -> B0.fpath option       val set_sub_root : B0.fpath option -> unit       val get_sub_root : unit -> B0.fpath option       val set_current : B0.Def.loc -> unit       val get_current : unit -> B0.Def.loc     end   module Name :     sig       val space : unit -> string       val spaced : string -> string       exception Panic     end   type t   type def = B0.Def.t   module type DEFINED =     sig       type t       val def_kind : string       val def_get : B0.Def.DEFINED.t -> B0.Def.def       val def_namespaced : bool       val def_name_tty_color : B0.Tty.color       val def_pp_info : B0.Def.DEFINED.t B0.Fmt.t     end   module type S =     sig       type t       val value_kind : string       val name : B0.Def.S.t -> string       val loc : B0.Def.S.t -> B0.Def.loc       val doc : B0.Def.S.t -> string       val equal : B0.Def.S.t -> B0.Def.S.t -> bool       val compare : B0.Def.S.t -> B0.Def.S.t -> int       val compare_by_name : B0.Def.S.t -> B0.Def.S.t -> int       val find : string -> B0.Def.S.t option       val get : string -> B0.Def.S.t       val get_or_suggest :         string -> (B0.Def.S.t, string list) Pervasives.result       val list : unit -> B0.Def.S.t list       val pp_name_str : string B0.Fmt.t       val pp_name : B0.Def.S.t B0.Fmt.t       val pp_synopsis : B0.Def.S.t B0.Fmt.t       val pp_info : B0.Def.S.t B0.Fmt.t       val pp_info_ext : B0.Def.S.t B0.Fmt.t -> B0.Def.S.t B0.Fmt.t     end   module type S_DEF =     sig       type t       val value_kind : string       val name : t -> string       val loc : t -> 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       val def : ?loc:B0.Def.loc -> ?doc:string -> string -> B0.Def.def       val def_add : B0.Def.t -> unit       val def_rem : B0.Def.t -> unit     end   module Make :     functor (V : DEFINED->       sig         type t = V.t         val value_kind : string         val name : t -> string         val loc : t -> 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         val def : ?loc:loc -> ?doc:string -> string -> def         val def_add : t -> unit         val def_rem : t -> unit       end end