fmap
Função da typeclass Functor do Haskell. Aplica uma função ao(s) valor(es) dentro de um contêiner sem precisar desembrulhá-lo. fmap (+1) (Just 5) = Just 6. Equivalente em JavaScript: [1,2,3].map(x => x+1).
Assinatura de tipo: fmap :: Functor f => (a -> b) -> f a -> f b. É genérica sobre o tipo do contêiner — Maybe, List, Either, IO. Forma de operador: <$>, como em (+1) <$> [1,2,3]. Equivalentes modernos em Rust: Option::map, Result::map, Iterator::map — todos o mesmo padrão. Em TypeScript: Array.prototype.map, Promise.then. Leis do fmap: identidade (fmap id = id) e composição (fmap (f . g) = fmap f . fmap g). É a base de Functor e, depois, de Applicative e Monad. Padrão moderno de programação funcional: construir tudo com fmap e encadeamento.