sig
  type t
  val create : int -> bool -> Bitv.t
  val init : int -> (int -> bool) -> Bitv.t
  val set : Bitv.t -> int -> bool -> unit
  val get : Bitv.t -> int -> bool
  val length : Bitv.t -> int
  val equal : Bitv.t -> Bitv.t -> bool
  val max_length : int
  val exceeds_max_length : int -> bool
  val copy : Bitv.t -> Bitv.t
  val append : Bitv.t -> Bitv.t -> Bitv.t
  val concat : Bitv.t list -> Bitv.t
  val sub : Bitv.t -> int -> int -> Bitv.t
  val fill : Bitv.t -> int -> int -> bool -> unit
  val blit : Bitv.t -> int -> Bitv.t -> int -> int -> unit
  val iter : (bool -> unit) -> Bitv.t -> unit
  val map : (bool -> bool) -> Bitv.t -> Bitv.t
  val iteri : (int -> bool -> unit) -> Bitv.t -> unit
  val mapi : (int -> bool -> bool) -> Bitv.t -> Bitv.t
  val fold_left : ('-> bool -> 'a) -> '-> Bitv.t -> 'a
  val fold_right : (bool -> '-> 'a) -> Bitv.t -> '-> 'a
  val foldi_left : ('-> int -> bool -> 'a) -> '-> Bitv.t -> 'a
  val foldi_right : (int -> bool -> '-> 'a) -> Bitv.t -> '-> 'a
  val pop : Bitv.t -> int
  val iteri_true : (int -> unit) -> Bitv.t -> unit
  val gray_iter : (Bitv.t -> unit) -> int -> unit
  val bw_and : Bitv.t -> Bitv.t -> Bitv.t
  val bw_or : Bitv.t -> Bitv.t -> Bitv.t
  val bw_xor : Bitv.t -> Bitv.t -> Bitv.t
  val bw_not : Bitv.t -> Bitv.t
  val shiftl : Bitv.t -> int -> Bitv.t
  val shiftr : Bitv.t -> int -> Bitv.t
  val rotatel : Bitv.t -> int -> Bitv.t
  val rotater : Bitv.t -> int -> Bitv.t
  val all_zeros : Bitv.t -> bool
  val all_ones : Bitv.t -> bool
  module L :
    sig
      val to_string : Bitv.t -> string
      val of_string : string -> Bitv.t
      val print : Stdlib.Format.formatter -> Bitv.t -> unit
    end
  module M :
    sig
      val to_string : Bitv.t -> string
      val of_string : string -> Bitv.t
      val print : Stdlib.Format.formatter -> Bitv.t -> unit
    end
  val output_bin : Stdlib.out_channel -> Bitv.t -> unit
  val input_bin : Stdlib.in_channel -> Bitv.t
  val to_bytes : Bitv.t -> bytes
  val of_bytes : bytes -> Bitv.t
  val to_list : Bitv.t -> int list
  val of_list : int list -> Bitv.t
  val of_list_with_length : int list -> int -> Bitv.t
  val of_int_s : int -> Bitv.t
  val to_int_s : Bitv.t -> int
  val of_int_us : int -> Bitv.t
  val to_int_us : Bitv.t -> int
  val of_int32_s : Stdlib.Int32.t -> Bitv.t
  val to_int32_s : Bitv.t -> Stdlib.Int32.t
  val of_int32_us : Stdlib.Int32.t -> Bitv.t
  val to_int32_us : Bitv.t -> Stdlib.Int32.t
  val of_int64_s : Stdlib.Int64.t -> Bitv.t
  val to_int64_s : Bitv.t -> Stdlib.Int64.t
  val of_int64_us : Stdlib.Int64.t -> Bitv.t
  val to_int64_us : Bitv.t -> Stdlib.Int64.t
  val of_nativeint_s : Stdlib.Nativeint.t -> Bitv.t
  val to_nativeint_s : Bitv.t -> Stdlib.Nativeint.t
  val of_nativeint_us : Stdlib.Nativeint.t -> Bitv.t
  val to_nativeint_us : Bitv.t -> Stdlib.Nativeint.t
  val unsafe_set : Bitv.t -> int -> bool -> unit
  val unsafe_get : Bitv.t -> int -> bool
end