sig
  module Strategy : Strat.T
  type strategy = Strategy.t
  type t
  type el
  val length : Nopres_intf.T.t -> int
  val lix : Nopres_intf.T.t -> int
  val real_length : Nopres_intf.T.t -> int
  val real_lix : Nopres_intf.T.t -> int
  val get : Nopres_intf.T.t -> int -> Nopres_intf.T.el
  val set : Nopres_intf.T.t -> int -> Nopres_intf.T.el -> unit
  val sempty : Nopres_intf.T.strategy -> Nopres_intf.T.t
  val empty : unit -> Nopres_intf.T.t
  val screate : Nopres_intf.T.strategy -> int -> Nopres_intf.T.t
  val create : int -> Nopres_intf.T.t
  val smake :
    Nopres_intf.T.strategy -> int -> Nopres_intf.T.el -> Nopres_intf.T.t
  val make : int -> Nopres_intf.T.el -> Nopres_intf.T.t
  val sinit :
    Nopres_intf.T.strategy ->
    int -> (int -> Nopres_intf.T.el) -> Nopres_intf.T.t
  val init : int -> (int -> Nopres_intf.T.el) -> Nopres_intf.T.t
  val get_strategy : Nopres_intf.T.t -> Nopres_intf.T.strategy
  val set_strategy : Nopres_intf.T.t -> Nopres_intf.T.strategy -> unit
  val put_strategy : Nopres_intf.T.t -> Nopres_intf.T.strategy -> unit
  val enforce_strategy : Nopres_intf.T.t -> unit
  val copy : Nopres_intf.T.t -> Nopres_intf.T.t
  val sub : Nopres_intf.T.t -> int -> int -> Nopres_intf.T.t
  val fill : Nopres_intf.T.t -> int -> int -> Nopres_intf.T.el -> unit
  val blit : Nopres_intf.T.t -> int -> Nopres_intf.T.t -> int -> int -> unit
  val append : Nopres_intf.T.t -> Nopres_intf.T.t -> Nopres_intf.T.t
  val concat : Nopres_intf.T.t list -> Nopres_intf.T.t
  val add_one : Nopres_intf.T.t -> Nopres_intf.T.el -> unit
  val remove_one : Nopres_intf.T.t -> unit
  val remove_n : Nopres_intf.T.t -> int -> unit
  val remove_range : Nopres_intf.T.t -> int -> int -> unit
  val clear : Nopres_intf.T.t -> unit
  val swap : Nopres_intf.T.t -> int -> int -> unit
  val swap_in_last : Nopres_intf.T.t -> int -> unit
  val to_array : Nopres_intf.T.t -> Nopres_intf.T.el array
  val sof_array :
    Nopres_intf.T.strategy -> Nopres_intf.T.el array -> Nopres_intf.T.t
  val of_array : Nopres_intf.T.el array -> Nopres_intf.T.t
  val to_list : Nopres_intf.T.t -> Nopres_intf.T.el list
  val sof_list :
    Nopres_intf.T.strategy -> Nopres_intf.T.el list -> Nopres_intf.T.t
  val of_list : Nopres_intf.T.el list -> Nopres_intf.T.t
  val iter : (Nopres_intf.T.el -> unit) -> Nopres_intf.T.t -> unit
  val map :
    (Nopres_intf.T.el -> Nopres_intf.T.el) ->
    Nopres_intf.T.t -> Nopres_intf.T.t
  val iteri : (int -> Nopres_intf.T.el -> unit) -> Nopres_intf.T.t -> unit
  val mapi :
    (int -> Nopres_intf.T.el -> Nopres_intf.T.el) ->
    Nopres_intf.T.t -> Nopres_intf.T.t
  val fold_left :
    ('-> Nopres_intf.T.el -> 'a) -> '-> Nopres_intf.T.t -> 'a
  val fold_right :
    (Nopres_intf.T.el -> '-> 'a) -> Nopres_intf.T.t -> '-> 'a
  val for_all : (Nopres_intf.T.el -> bool) -> Nopres_intf.T.t -> bool
  val exists : (Nopres_intf.T.el -> bool) -> Nopres_intf.T.t -> bool
  val mem : Nopres_intf.T.el -> Nopres_intf.T.t -> bool
  val memq : Nopres_intf.T.el -> Nopres_intf.T.t -> bool
  val pos : Nopres_intf.T.el -> Nopres_intf.T.t -> int option
  val posq : Nopres_intf.T.el -> Nopres_intf.T.t -> int option
  val find :
    (Nopres_intf.T.el -> bool) -> Nopres_intf.T.t -> Nopres_intf.T.el
  val find_index :
    (Nopres_intf.T.el -> bool) -> Nopres_intf.T.t -> int -> int
  val filter :
    (Nopres_intf.T.el -> bool) -> Nopres_intf.T.t -> Nopres_intf.T.t
  val find_all :
    (Nopres_intf.T.el -> bool) -> Nopres_intf.T.t -> Nopres_intf.T.t
  val filter_in_place : (Nopres_intf.T.el -> bool) -> Nopres_intf.T.t -> unit
  val partition :
    (Nopres_intf.T.el -> bool) ->
    Nopres_intf.T.t -> Nopres_intf.T.t * Nopres_intf.T.t
  val unsafe_get : Nopres_intf.T.t -> int -> Nopres_intf.T.el
  val unsafe_set : Nopres_intf.T.t -> int -> Nopres_intf.T.el -> unit
  val unsafe_sub : Nopres_intf.T.t -> int -> int -> Nopres_intf.T.t
  val unsafe_fill : Nopres_intf.T.t -> int -> int -> Nopres_intf.T.el -> unit
  val unsafe_blit :
    Nopres_intf.T.t -> int -> Nopres_intf.T.t -> int -> int -> unit
  val unsafe_remove_one : Nopres_intf.T.t -> unit
  val unsafe_remove_n : Nopres_intf.T.t -> int -> unit
  val unsafe_swap : Nopres_intf.T.t -> int -> int -> unit
  val unsafe_swap_in_last : Nopres_intf.T.t -> int -> unit
end