sig
  type 'a sequence = ('-> unit) -> unit
  type 'a gen = unit -> 'a option
  type 'a hash_funs = ('-> int) array
  val default_hash_funs : int -> 'CCBloom.hash_funs
  type 'a t
  val create : ?hash:'CCBloom.hash_funs -> int -> 'CCBloom.t
  val create_default : ?hash_len:int -> int -> 'CCBloom.t
  val copy : 'CCBloom.t -> 'CCBloom.t
  val size : 'CCBloom.t -> int
  val load : 'CCBloom.t -> float
  val mem : 'CCBloom.t -> '-> bool
  val add : 'CCBloom.t -> '-> unit
  val union_mut : into:'CCBloom.t -> 'CCBloom.t -> unit
  val union : 'CCBloom.t -> 'CCBloom.t -> 'CCBloom.t
  val inter_mut : into:'CCBloom.t -> 'CCBloom.t -> unit
  val inter : 'CCBloom.t -> 'CCBloom.t -> 'CCBloom.t
  val add_list : 'CCBloom.t -> 'a list -> unit
  val add_seq : 'CCBloom.t -> 'CCBloom.sequence -> unit
  val add_gen : 'CCBloom.t -> 'CCBloom.gen -> unit
end