An efficient implementation of Int-indexed arrays (both mutable and immutable), with a powerful loop fusion optimization framework. It is structured as follows: * Data.Vector Boxed vectors of arbitrary types. * Data.Vector.Unboxed Unboxed vectors with an adaptive representation based on data type families. * Data.Vector.Storable Unboxed vectors of Storable types. * Data.Vector.Primitive Unboxed vectors of primitive types as defined by the primitive package. Data.Vector.Unboxed is more flexible at no performance cost. * Data.Vector.Generic Generic interface to the vector types.