Я широко знаком с понятиями monads и arrows, как используется в функциональном программировании. Я также понимаю, что они могут быть использованы для решения подобных проблем.
Однако я все еще немного смущен тем, как выбрать, какой из них использовать в любой ситуации.
Когда я должен использовать монады и когда я должен использовать стрелки?