Report abuse


			
import fj.Unit;
import fj.F;
import fj.F4;
import fj.pre.Semigroup;
import fj.data.NonEmptyList;
import fj.data.Validation;
import static fj.data.Validation.validation;

class X {
  Either a;
  Either b;
  Either c;
  Either d;
  Either e;
  Either f;
  ////
  Either g;
  Either h;
  Either i;

  Either t1() {
    return a.left().sequence(b).left().sequence(c).left().sequence(d).left().sequence(e).left().sequence(f);
  }

  Validation, Unit> t2() {
    F>>> t = fj.Function.curry(new F4() {
      public Unit f(Unit unit, Unit unit1, Unit unit2, Unit unit3) {
        return Unit.unit();
      }
    });
    return validation(t1()).nel().accumulate(Semigroup.nonEmptyListSemigroup(), 
            Validation.validation(g).nel(), 
            Validation.validation(h).nel(), 
            Validation.validation(i).nel(), t);
  }
}