sig
  type key
  type 'a t
  val is_empty : 'Collection.Map.M.t -> bool
  val mem : 'Collection.Map.M.t -> Collection.Map.M.key -> bool
  val find : 'Collection.Map.M.t -> Collection.Map.M.key -> 'a
  val size : 'Collection.Map.M.t -> int
  val iter :
    (Collection.Map.M.key -> '-> unit) -> 'Collection.Map.M.t -> unit
  val fold :
    (Collection.Map.M.key -> '-> '-> 'b) ->
    'Collection.Map.M.t -> '-> 'b
end