map -bytestring +array

mapArray :: (MArray a e' m, MArray a e m, Ix i) => (e' -> e) -> a i e' -> m (a i e)
array Data.Array.MArray, array Data.Array.MArray.Safe
Constructs a new array derived from the original array by applying a function to each of the elements.
mapIndices :: (MArray a e m, Ix i, Ix j) => (i, i) -> (i -> j) -> a j e -> m (a i e)
array Data.Array.MArray, array Data.Array.MArray.Safe
Constructs a new array derived from the original array by applying a function to each of the indices.
amap :: (IArray a e', IArray a e, Ix i) => (e' -> e) -> a i e' -> a i e
array Data.Array.IArray
Returns a new array derived from the original array by applying a function to each of the elements.
ixmap :: (IArray a e, Ix i, Ix j) => (i, i) -> (i -> j) -> a j e -> a i e
array Data.Array.IArray
Returns a new array derived from the original array by applying a function to each of the indices.
ixmap :: (Ix i, Ix j) => (i, i) -> (i -> j) -> Array j e -> Array i e
array Data.Array
ixmap allows for transformations on array indices. It may be thought of as providing function composition on the right with the mapping that the original array embodies. A similar transformation of array values may be achieved using fmap from the Array instance of the Functor class.