sig
type ('a, 'b) t = ('a, 'b) Package.Map.t
val empty : ('a, 'b) t
val add : 'a Package.Name.t -> 'b -> ('a, 'b) t -> ('a, 'b) t
val find : 'a Package.Name.t -> ('a, 'b) t -> 'b
val iter : ('a Package.Name.t -> 'b -> unit) -> ('a, 'b) t -> unit
val mapi : ('a Package.Name.t -> 'b -> 'c) -> ('a, 'b) t -> ('a, 'c) t
val fold : ('a Package.Name.t -> 'b -> 'c -> 'c) -> ('a, 'b) t -> 'c -> 'c
val bindings : ('a, 'b) t -> ('a Package.Name.t * 'b) list
val update_default :
'a -> ('a -> 'a) -> 'b Package.Name.t -> ('b, 'a) t -> ('b, 'a) t
end