# Documentation

class Ord a => Ix a whereSource

The `Ix`

class is used to map a contiguous subrange of values in
a type onto integers. It is used primarily for array indexing
(see the array package).

The first argument `(l,u)`

of each of these operations is a pair
specifying the lower and upper bounds of a contiguous subrange of values.

An implementation is entitled to assume the following laws about these operations:

The list of values in the subrange defined by a bounding pair.

index :: (a, a) -> a -> IntSource

The position of a subscript in the subrange.

inRange :: (a, a) -> a -> BoolSource

Returns `True`

the given subscript lies in the range defined
the bounding pair.

rangeSize :: (a, a) -> IntSource

The size of the subrange defined by a bounding pair.