sig
  type key
  type 'a t
  val descr : Unmarshal.t -> Unmarshal.t
  val empty : 'Datatype.MAP.t
  val add : Datatype.MAP.key -> '-> 'Datatype.MAP.t -> 'Datatype.MAP.t
  val iter : (Datatype.MAP.key -> '-> unit) -> 'Datatype.MAP.t -> unit
  val fold :
    (Datatype.MAP.key -> '-> '-> 'b) -> 'Datatype.MAP.t -> '-> 'b
end