Transformaciones que preservan estructuras
fmap :: Functor f -- para cualquier funtor,
=> ( a -> b) -- toma una función normal,
-> (f a -> f b) -- y construya una que funcione en valores contenidos
fmap :: Functor f -- para cualquier funtor,
=> (a -> b) -- toma una función normal,
-> f a -- y un valor contenido,
-> f b -- y retorne el resultado contenido resultante
-- de aplicar esa función al valor
Combinando contextos independientes