:: (a -> b) -> [a] -> [b] package:numeric-prelude

map f xs is the list obtained by applying f to each element of xs, i.e.,
map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn]
map f [x1, x2, ...] == [f x1, f x2, ...]
>>> map (+1) [1, 2, 3]
Using ApplicativeDo: 'fmap f as' can be understood as the do expression
do a <- as
pure (f a)
with an inferred Functor constraint.