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<Throwable, Unit> a;
Either<Throwable, Unit> b;
Either<Throwable, Unit> c;
Either<Throwable, Unit> d;
Either<Throwable, Unit> e;
Either<Throwable, Unit> f;
////
Either<Throwable, Unit> g;
Either<Throwable, Unit> h;
Either<Throwable, Unit> i;
Either<Throwable, Unit> t1() {
return a.left().sequence(b).left().sequence(c).left().sequence(d).left().sequence(e).left().sequence(f);
}
Validation<NonEmptyList<Throwable>, Unit> t2() {
F<Unit, F<Unit, F<Unit, F<Unit, Unit>>>> t = fj.Function.curry(new F4<Unit, Unit, Unit, Unit, Unit>() {
public Unit f(Unit unit, Unit unit1, Unit unit2, Unit unit3) {
return Unit.unit();
}
});
return validation(t1()).nel().accumulate(Semigroup.<Throwable>nonEmptyListSemigroup(),
Validation.<Throwable, Unit>validation(g).nel(),
Validation.<Throwable, Unit>validation(h).nel(),
Validation.<Throwable, Unit>validation(i).nel(), t);
}
}