f это грубо говоря коробка
map первым принимает функцию (a -> b)
Вторым принимает коробку со значением внутри f a
Ну и как мы видим по сигнатуре типов map распокует f достанет a и передаст в функции (a->b) которая ввернет b и тогда map запакует этот b в f и вернет f b
я вроде все это понял, что тут написано, но все равно не понял, в какой момент у нас значение Maybe(что-нибудь), стало не Maybe.
спасибо в любом случае