sig
  type patt = Camlp4.PreCast.Syntax.Ast.patt
  type expr = Camlp4.PreCast.Syntax.Ast.expr
  type loc_t = Camlp4.PreCast.Syntax.Ast.Loc.t
  type 'a field
  type pattern = Bitstring_persistent.patt Bitstring_persistent.field list
  type constructor =
      Bitstring_persistent.expr Bitstring_persistent.field list
  type named = string * Bitstring_persistent.alt
  and alt =
      Pattern of Bitstring_persistent.pattern
    | Constructor of Bitstring_persistent.constructor
  val string_of_pattern : Bitstring_persistent.pattern -> string
  val string_of_constructor : Bitstring_persistent.constructor -> string
  val string_of_pattern_field :
    Bitstring_persistent.patt Bitstring_persistent.field -> string
  val string_of_constructor_field :
    Bitstring_persistent.expr Bitstring_persistent.field -> string
  val named_to_channel :
    Pervasives.out_channel -> Bitstring_persistent.named -> unit
  val named_to_string : Bitstring_persistent.named -> string
  val named_to_buffer :
    string -> int -> int -> Bitstring_persistent.named -> int
  val named_from_channel :
    Pervasives.in_channel -> Bitstring_persistent.named
  val named_from_string : string -> int -> Bitstring_persistent.named
  val create_pattern_field :
    Bitstring_persistent.loc_t ->
    Bitstring_persistent.patt Bitstring_persistent.field
  val set_lident_patt :
    Bitstring_persistent.patt Bitstring_persistent.field ->
    string -> Bitstring_persistent.patt Bitstring_persistent.field
  val set_int_patt :
    Bitstring_persistent.patt Bitstring_persistent.field ->
    int -> Bitstring_persistent.patt Bitstring_persistent.field
  val set_string_patt :
    Bitstring_persistent.patt Bitstring_persistent.field ->
    string -> Bitstring_persistent.patt Bitstring_persistent.field
  val set_unbound_patt :
    Bitstring_persistent.patt Bitstring_persistent.field ->
    Bitstring_persistent.patt Bitstring_persistent.field
  val set_patt :
    Bitstring_persistent.patt Bitstring_persistent.field ->
    Bitstring_persistent.patt ->
    Bitstring_persistent.patt Bitstring_persistent.field
  val set_length_int :
    'Bitstring_persistent.field -> int -> 'Bitstring_persistent.field
  val set_length :
    'Bitstring_persistent.field ->
    Bitstring_persistent.expr -> 'Bitstring_persistent.field
  val set_endian :
    'Bitstring_persistent.field ->
    Bitstring.endian -> 'Bitstring_persistent.field
  val set_endian_expr :
    'Bitstring_persistent.field ->
    Bitstring_persistent.expr -> 'Bitstring_persistent.field
  val set_signed :
    'Bitstring_persistent.field -> bool -> 'Bitstring_persistent.field
  val set_type_int :
    'Bitstring_persistent.field -> 'Bitstring_persistent.field
  val set_type_string :
    'Bitstring_persistent.field -> 'Bitstring_persistent.field
  val set_type_bitstring :
    'Bitstring_persistent.field -> 'Bitstring_persistent.field
  val set_location :
    'Bitstring_persistent.field ->
    Bitstring_persistent.loc_t -> 'Bitstring_persistent.field
  val set_offset_int :
    'Bitstring_persistent.field -> int -> 'Bitstring_persistent.field
  val set_offset :
    'Bitstring_persistent.field ->
    Bitstring_persistent.expr -> 'Bitstring_persistent.field
  val set_no_offset :
    'Bitstring_persistent.field -> 'Bitstring_persistent.field
  val set_check :
    'Bitstring_persistent.field ->
    Bitstring_persistent.expr -> 'Bitstring_persistent.field
  val set_no_check :
    'Bitstring_persistent.field -> 'Bitstring_persistent.field
  val set_bind :
    'Bitstring_persistent.field ->
    Bitstring_persistent.expr -> 'Bitstring_persistent.field
  val set_no_bind :
    'Bitstring_persistent.field -> 'Bitstring_persistent.field
  val set_save_offset_to :
    'Bitstring_persistent.field ->
    Bitstring_persistent.patt -> 'Bitstring_persistent.field
  val set_save_offset_to_lident :
    'Bitstring_persistent.field -> string -> 'Bitstring_persistent.field
  val set_no_save_offset_to :
    'Bitstring_persistent.field -> 'Bitstring_persistent.field
  val create_constructor_field :
    Bitstring_persistent.loc_t ->
    Bitstring_persistent.expr Bitstring_persistent.field
  val set_lident_expr :
    Bitstring_persistent.expr Bitstring_persistent.field ->
    string -> Bitstring_persistent.expr Bitstring_persistent.field
  val set_int_expr :
    Bitstring_persistent.expr Bitstring_persistent.field ->
    int -> Bitstring_persistent.expr Bitstring_persistent.field
  val set_string_expr :
    Bitstring_persistent.expr Bitstring_persistent.field ->
    string -> Bitstring_persistent.expr Bitstring_persistent.field
  val set_expr :
    Bitstring_persistent.expr Bitstring_persistent.field ->
    Bitstring_persistent.expr ->
    Bitstring_persistent.expr Bitstring_persistent.field
  val get_patt :
    Bitstring_persistent.patt Bitstring_persistent.field ->
    Bitstring_persistent.patt
  val get_expr :
    Bitstring_persistent.expr Bitstring_persistent.field ->
    Bitstring_persistent.expr
  val get_length : 'Bitstring_persistent.field -> Bitstring_persistent.expr
  type endian_expr =
      ConstantEndian of Bitstring.endian
    | EndianExpr of Bitstring_persistent.expr
  val get_endian :
    'Bitstring_persistent.field -> Bitstring_persistent.endian_expr
  val get_signed : 'Bitstring_persistent.field -> bool
  type field_type = Int | String | Bitstring
  val get_type :
    'Bitstring_persistent.field -> Bitstring_persistent.field_type
  val get_location :
    'Bitstring_persistent.field -> Bitstring_persistent.loc_t
  val get_offset :
    'Bitstring_persistent.field -> Bitstring_persistent.expr option
  val get_check :
    'Bitstring_persistent.field -> Bitstring_persistent.expr option
  val get_bind :
    'Bitstring_persistent.field -> Bitstring_persistent.expr option
  val get_save_offset_to :
    'Bitstring_persistent.field -> Bitstring_persistent.patt option
end