Module type Dyn.MapS

type t
type 'a key
type 'a value
val empty : t
val add : 'a key -> 'a value -> t -> t
val remove : 'a key -> t -> t
val find : 'a key -> t -> 'a value
val mem : 'a key -> t -> bool
type map = {
map : a. 'a key -> 'a value -> 'a value;
}
val map : map -> t -> t
type any =
| Any : 'a key * 'a value -> any
val iter : (any -> unit) -> t -> unit
val fold : (any -> 'r -> 'r) -> t -> 'r -> 'r
type filter = {
filter : a. 'a key -> 'a value -> bool;
}
val filter : filter -> t -> t