# Functor Blit_intf.Blit.Make1

    module Make1: functor (Sequence : sig
    type 'a t

    Make1 guarantees to only call create_like ~len t with len > 0 if
                 length t > 0.

    val create_like : len:int -> 'a t -> 'a t
    val length : 'a t -> int
    val unsafe_blit : ('a t, 'a t) Blit_intf.blit
    create, get, and set are just used for unit tests.  z is needed for
                 Flat_tuple_array.

    type 'a z

    val create_bool : len:int -> bool z t
    val get : 'a z t -> int -> 'a
    val set : 'a z t -> int -> 'a -> unit
    val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
    Make1 guarantees to only call create_like ~len t with len > 0 if
                 length t > 0.

    create, get, and set are just used for unit tests.  z is needed for
                 Flat_tuple_array.

    end) -> S1  with type 'a t := 'a Sequence.t

`Make1` is for blitting between two values of the same polymorphic type.

Parameters:

`Sequence`

:

`sig type 'a t with sexp_of (** [Make1] guarantees to only call [create_like ~len t] with [len > 0] if [length t > 0]. *) val create_like : len:int -> 'a t -> 'a t val length : _ t -> int val unsafe_blit : ('a t, 'a t) blit (** [create], [get], and [set] are just used for unit tests. [z] is needed for [Flat_tuple_array]. *) type 'a z val create_bool : len:int -> bool z t val get : 'a z t -> int -> 'a val set : 'a z t -> int -> 'a -> unit end`

    type 'a t

    val blit : ('a t, 'a t) Blit_intf.blit

    val blito : ('a t, 'a t) Blit_intf.blito

    val unsafe_blit : ('a t, 'a t) Blit_intf.blit

    val sub : ('a t, 'a t) Blit_intf.sub

    val subo : ('a t, 'a t) Blit_intf.subo