An index function is a (partial) function from some subset of collection indices to some values, and which can be concatenated with other such functions such that they now cover an expanded index range, and the "right" side function has had its domain shifted.
The type of value returned by this function.
The inverse of an InvertibleIndexFunction.
An IndexFunction that is also invertible (and so 1-1).
The range value type of this function.