sig type t val make : unit -> t val merge : t -> t -> unit type elt val add : elt -> t -> unit val value : t -> elt list val lookup : elt -> t -> bool val remove : elt -> t -> unit end