Immutable arrays, with an overloaded interface. For array types which can be used with this interface, see the Array type exported by this module and the Data.Array.Unboxed module. Other packages, such as diffarray, also provide arrays using this interface.
Class of immutable array types.
An array type has the form (a i e) array type constructor (kind * -> * -> *), i is the index type (a member of the class Ix), and e is the element type. The IArray class is parameterised over both a and e, so that instances specialised to certain element types can be defined.