`sig
module Slots : Tuple_type.Slots
module Slot : Tuple_type.Slot
type 'slots 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
val invariant : 'a Invariant_intf.inv -> 'a t Invariant_intf.inv
val create :
('tuple, 'a) Slots.t ->
len:int -> 'tuple -> ('tuple, 'a) Slots.t Flat_array.t
val copy : 'slots Flat_array.t -> 'slots Flat_array.t
val length : 'a Flat_array.t -> int
val slots : 'slots Flat_array.t -> 'slots
val get : ('b, 'v) Slots.t Flat_array.t -> int -> ('v, 'a) Slot.t -> 'a
val unsafe_get :
('b, 'v) Slots.t Flat_array.t -> int -> ('v, 'a) Slot.t -> 'a
val set :
('b, 'v) Slots.t Flat_array.t -> int -> ('v, 'a) Slot.t -> 'a -> unit
val unsafe_set :
('b, 'v) Slots.t Flat_array.t -> int -> ('v, 'a) Slot.t -> 'a -> unit
val set_to_init : 'a Flat_array.t -> int -> unit
val is_init : 'a Flat_array.t -> int -> bool
val get_all_slots : ('tuple, 'a) Slots.t Flat_array.t -> int -> 'tuple
val set_all_slots :
('tuple, 'a) Slots.t Flat_array.t -> int -> 'tuple -> unit
val sexp_of_t :
('slots -> Sexplib.Sexp.t) -> 'slots Flat_array.t -> Sexplib.Sexp.t
end`