Made UniformAddressInterval (aka affine address interval) parameterized by the underlying address type.
Also Changed the Mutable*Array names to *Array, and prefixed the pure variants with Pure