This Setter can be used to derive a new IArray from an old IArray by applying a function to each of the indices to look it up in the old IArray.
This is a contravariant Setter.
ixmap ≡ over . ixmapped
ixmapped ≡ setting . ixmap
over (ixmapped b) f arr ! i ≡ arr ! f i
bounds (over (ixmapped b) f arr) ≡ b