Почему у нас есть карта, fmap и liftM?

map :: (a -> b) -> [a] -> [b]

fmap :: Functor f => (a -> b) -> f a -> f b

liftM :: Monad m => (a -> b) -> m a -> m b

Почему у нас есть три разные функции, которые делают одно и то же?

Ответы на вопрос(1)

Ваш ответ на вопрос