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