`sig
type t = BatBitSet.t
val empty : unit -> t
val create : int -> t
val create_full : int -> t
val copy : t -> t
val mem : t -> int -> bool
val count : t -> int
val next_set_bit : t -> int -> int option
val set : t -> int -> unit
val unset : t -> int -> unit
val put : t -> bool -> int -> unit
val toggle : t -> int -> unit
val intersect : t -> t -> unit
val unite : t -> t -> unit
val differentiate : t -> t -> unit
val differentiate_sym : t -> t -> unit
val add : int -> t -> t
val remove : int -> t -> t
val inter : t -> t -> t
val union : t -> t -> t
val diff : t -> t -> t
val sym_diff : t -> t -> t
val print : 'a BatInnerIO.output -> t -> unit
val enum : t -> int BatEnum.t
val of_enum : ?cap:int -> int BatEnum.t -> t
val of_list : ?cap:int -> int list -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val ord : t -> t -> BatOrd.order
val capacity : t -> int
end`