sig
  type 'a t
  val create : int -> 'Weak.t
  val length : 'Weak.t -> int
  val set : 'Weak.t -> int -> 'a option -> unit
  val get : 'Weak.t -> int -> 'a option
  val get_copy : 'Weak.t -> int -> 'a option
  val check : 'Weak.t -> int -> bool
  val fill : 'Weak.t -> int -> int -> 'a option -> unit
  val blit : 'Weak.t -> int -> 'Weak.t -> int -> int -> unit
end