functor
  (Sequence : sig
                type 'a t
                val create_like :
                  len:int ->
                  'a Blit_intf.Blit.Make1.t -> 'a Blit_intf.Blit.Make1.t
                val length : 'a Blit_intf.Blit.Make1.t -> int
                val unsafe_blit :
                  ('a Blit_intf.Blit.Make1.t, 'a Blit_intf.Blit.Make1.t)
                  Blit_intf.blit
                type 'a z
                val create_bool :
                  len:int ->
                  bool Blit_intf.Blit.Make1.z Blit_intf.Blit.Make1.t
                val get :
                  'a Blit_intf.Blit.Make1.z Blit_intf.Blit.Make1.t ->
                  int -> 'a
                val set :
                  'a Blit_intf.Blit.Make1.z Blit_intf.Blit.Make1.t ->
                  int -> 'a -> unit
                val sexp_of_t :
                  ('a -> Sexplib.Sexp.t) ->
                  'a Blit_intf.Blit.Make1.t -> Sexplib.Sexp.t
              end) ->
  sig
    val blit : ('a Sequence.t, 'a Sequence.t) blit
    val blito : ('a Sequence.t, 'a Sequence.t) blito
    val unsafe_blit : ('a Sequence.t, 'a Sequence.t) blit
    val sub : ('a Sequence.t, 'a Sequence.t) sub
    val subo : ('a Sequence.t, 'a Sequence.t) subo
  end