arrow-core / arrow.core.extensions / EitherApplicativeError / handleErrorWith
open fun <A> EitherOf<L, A>.handleErrorWith(f: (L) -> EitherOf<L, A>): Either<L, A>
Do you like Arrow?