Преимущества использования \/ в качестве аппликативного функтора в Scalaz
Это продолжение моего предыдущего вопроса
Предположим, у меня есть две функции, которые возвращают \/
(увидеть ниже). Мне нужно позвонить им обоим и "быстро провалиться".
type CheckResult = String \ / Unit def checkX (): CheckResult =... def checkY (): CheckResult =...
Предположим также, что эти функции могут быть вызваны в любом порядке. Таким образом я могу использовать \/
в качестве аппликативного функтора, а не монады.
checkX () | @ | checkY ()
К сожалению, я не понимаю точно, почему это лучше, чем монадическое секвенирование. Предположим, это менее мощная абстракция. Есть ли конкретное преимущество использования \/
как аппликатив в данном конкретном случае?