Adapt.M
type key
type !+'a t
val empty : 'a t
val add : key -> 'a -> 'a t -> 'a t
val iter : (key -> 'a -> unit) -> 'a t -> unit
val bindings : 'a t -> (key * 'a) list