functor (Data : Project.Datatype.S->
  functor (Info : Signature.NAME_DPDS->
    sig
      type elt = Data.t
      val add : elt -> unit
      val iter : (elt -> unit) -> unit
      val is_empty : unit -> bool
    end