include sig ... end
val equal : t -> t -> boolval compare : t -> t -> intval arbitrary : unit -> t QCheck.arbitraryval mem : elt -> t -> boolval remove : elt -> t -> tval subset : t -> t -> boolval disjoint : t -> t -> boolval iter : (elt -> unit) -> t -> unitval fold : (elt -> 'a -> 'a) -> t -> 'a -> 'aval for_all : (elt -> bool) -> t -> boolval exists : (elt -> bool) -> t -> boolval filter : (elt -> bool) -> t -> tval partition : (elt -> bool) -> t -> t * tval elements : t -> elt listval of_list : elt list -> tval meet : 'a -> 'b -> 'cval collapse : t -> t -> boolval name : unit -> stringval remove_bullet : t -> tval has_bullet : t -> boolval is_single_bullet : t -> bool