Я недавно использовал ScalaZ в целях проверки и решил выбрать ValidationNel, так как быстрое поведение при сбое нежелательно.У меня было более 12 проверок, поэтому я не мог использовать оператор | @ |поэтому я выразил это с помощью <*> так:
validatePropertyA(object.propertyA) <*>
(validatePropertyB(object.propertyB) <*>
(validatePropertyC(object.propertyC) map (_ => _ => _ => object)))
Имея около 15 свойств для проверки, этот код становится довольно сложным и на первый взгляд выглядит как нечто, что можно было бы выразить с помощью foldRight вместо этого,но я понятия не имею, как этого добиться.
Реально ли foldRight для работы, чтобы сделать этот кусок кода лаконичным, или мне нужно использовать что-то еще?