sig
  type elem
  type t
  val make : int -> int -> InvertibleArray.S.elem -> InvertibleArray.S.t
  val from_array :
    exn ->
    InvertibleArray.S.elem array ->
    InvertibleArray.S.elem -> InvertibleArray.S.t
  val to_array : InvertibleArray.S.t -> InvertibleArray.S.elem array
  val length : InvertibleArray.S.t -> int
  val capacity : InvertibleArray.S.t -> int
  val get : InvertibleArray.S.t -> Utils.u2 -> InvertibleArray.S.elem
  val set : InvertibleArray.S.t -> Utils.u2 -> InvertibleArray.S.elem -> unit
  val find : InvertibleArray.S.elem -> InvertibleArray.S.t -> Utils.u2
  val add :
    exn ->
    InvertibleArray.S.t ->
    InvertibleArray.S.elem -> InvertibleArray.S.elem -> bool -> Utils.u2
  val add_if_not_found :
    exn ->
    InvertibleArray.S.t ->
    InvertibleArray.S.elem -> InvertibleArray.S.elem -> bool -> Utils.u2
  val equal : InvertibleArray.S.t -> InvertibleArray.S.t -> bool
  val compare : InvertibleArray.S.t -> InvertibleArray.S.t -> int
  val hash : InvertibleArray.S.t -> int
  val to_string : InvertibleArray.S.t -> string
end