sig
  type method_handle =
      [ `getField of Reference.for_field
      | `getStatic of Reference.for_field
      | `invokeInterface of Reference.for_method
      | `invokeSpecial of Reference.for_method
      | `invokeStatic of Reference.for_method
      | `invokeVirtual of Reference.for_method
      | `newInvokeSpecial of Reference.for_constructor
      | `putField of Reference.for_field
      | `putStatic of Reference.for_field ]
  val equal_method_handle :
    Bootstrap.method_handle -> Bootstrap.method_handle -> bool
  val compare_method_handle :
    Bootstrap.method_handle -> Bootstrap.method_handle -> int
  val hash_method_handle : Bootstrap.method_handle -> int
  type method_argument =
      [ `Class of Name.for_class
      | `Double of float
      | `Float of float
      | `Integer of int32
      | `Long of int64
      | `MethodHandle of Bootstrap.method_handle
      | `MethodType of Descriptor.for_method
      | `String of Utils.UTF8.t ]
  val equal_method_argument :
    Bootstrap.method_argument -> Bootstrap.method_argument -> bool
  val compare_method_argument :
    Bootstrap.method_argument -> Bootstrap.method_argument -> int
  val hash_method_argument : Bootstrap.method_argument -> int
  type method_specifier =
      Bootstrap.method_handle * Bootstrap.method_argument list
  val equal_method_specifier :
    Bootstrap.method_specifier -> Bootstrap.method_specifier -> bool
  val compare_method_specifier :
    Bootstrap.method_specifier -> Bootstrap.method_specifier -> int
  val hash_method_specifier : Bootstrap.method_specifier -> int
  type methods = Bootstrap.method_specifier ExtendableArray.t
  type error = Too_large of int
  exception Exception of Bootstrap.error
  val string_of_error : Bootstrap.error -> string
  val make_methods : unit -> Bootstrap.methods
  val is_empty : Bootstrap.methods -> bool
  val add_method_specifier :
    Bootstrap.methods -> Bootstrap.method_specifier -> Utils.u2
  val add : Bootstrap.methods -> Bootstrap.method_specifier -> unit
end