functor
  (Elt : Elt) (Sequence : sig
                            type t
                            val create : len:int -> t
                            val length : t -> int
                            val get : t -> int -> Elt.t
                            val set : t -> int -> Elt.t -> unit
                            val sexp_of_t : t -> Sexplib.Sexp.t
                            val unsafe_blit : (t, t) Blit_intf.blit
                          end->
  sig
    val blit : (Sequence.t, Sequence.t) blit
    val blito : (Sequence.t, Sequence.t) blito
    val unsafe_blit : (Sequence.t, Sequence.t) blit
    val sub : (Sequence.t, Sequence.t) sub
    val subo : (Sequence.t, Sequence.t) subo
  end