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