Какое преимущество дает нам Monad по сравнению с Applicative?

я прочелэта статья, но не понял последний раздел.

Автор говорит, что Monad дает нам контекстную чувствительность, но можно достичь того же результата, используя только экземпляр Applicative:

let maybeAge = (\futureYear birthYear -> if futureYear < birthYear
    then yearDiff birthYear futureYear
    else yearDiff futureYear birthYear) <
let maybeAge = (\futureYear birthYear -> if futureYear < birthYear
    then yearDiff birthYear futureYear
    else yearDiff futureYear birthYear) <$> (readMay futureYearString) <*> (readMay birthYearString)
gt; (readMay futureYearString) <*> (readMay birthYearString)

Конечно, без do-синтаксиса это ужаснее, но кроме этого я не понимаю, зачем нам Monad. Кто-нибудь может прояснить это для меня?

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

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