sig
  type data = t
  val clear : unit -> unit
  val mem : int -> bool
  val find : int -> data
  val replace : int -> data -> unit
  val add : int -> data -> unit
  val iter : (int -> data -> unit) -> unit
end