Array<Either<E, A>>? I want to further refine the array by doing a computation on successes, accumulating further potential errors for each element so it looks like Array<Either<E | EE, B>>. Something like RA.map(a => E.isLeft(a) ? a : doSomething(a)) With fp-ts I could do that with nested pipes and chainW . It seems like Effect has a lot of utility functions to make things like this easier that I am probably missing.