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, ...]

An infix synonym for fmap.
The name of this operator is an allusion to `$`. Note the
similarities between their types:
`$` is function application, <$> is
function application lifted over a Functor.
**Examples**

Convert from a `Maybe` `Int` to a
`Maybe` `String` using `show`:
`Either` `Int` `Int` to
an `Either` `Int` `String` using
`show`:
`even` to the second element of a pair:

($) :: (a -> b) -> a -> b (<$>) :: Functor f => (a -> b) -> f a -> f bWhereas

>>> show <$> Nothing Nothing >>> show <$> Just 3 Just "3"Convert from an

>>> show <$> Left 17 Left 17 >>> show <$> Right 17 Right "17"Double each element of a list:

>>> (*2) <$> [1,2,3] [2,4,6]Apply

>>> even <$> (2,2) (2,True)

This function may be used as a value for fmap in a
Functor instance, provided that traverse is defined.
(Using fmapDefault with a Traversable instance defined
only by sequenceA will result in infinite recursion.)

fmapDefault f ≡ runIdentity . traverse (Identity . f)