sig
  exception TooManyFields
  exception Frozen
  val max_width : int
  module type S =
    sig
      type t = private int
      val empty : CCBitField.S.t
      type field
      val get : CCBitField.S.field -> CCBitField.S.t -> bool
      val set :
        CCBitField.S.field -> bool -> CCBitField.S.t -> CCBitField.S.t
      val mk_field : unit -> CCBitField.S.field
      val freeze : unit -> unit
      val total_width : unit -> int
    end
  module Make : functor (X : sig  end-> S
  val all_bits_ : int -> int -> int
end