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