I have a Vavr Either that looks like this:
Either<DomainError, Boolean> maybePendingPayment = ...
I want to fold this response to return Either<DomainError, Optional>
return maybePendingPayment.fold(domainError -> domainError, pendingPayment ? GenericType.builder().build() : Optional.empty())
But it doesn't look like I can do this because fold wants me to return the same types:
[ERROR] lower bounds: io.vavr.control.Either<xxx.yyy.DomainError,java.util.Optional<xxx.yyy.GenericType>>,java.lang.Object
[ERROR] lower bounds: java.util.Optional<T>,java.util.Optional<T>,xxx.yyy.DomainError
Is there any way I can do this in a fancier way than just checking the left and right sides with an if-else?