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