code: public static <L, R> Either<L, R> fromMaybe(Maybe<R> maybe, Supplier<L> leftFn) {
          return maybe.<Either<L, R>>fmap(Either::right)
                  .orElseGet(() -> left(leftFn.get()));
      }
docs: Convert a {@link Maybe}&lt;R&gt; into an <code>Either&lt;L, R&gt;</code>, supplying the left value from
  <code>leftFn</code> in the case of {@link Maybe#nothing()}.
  
  @param maybe  the maybe
  @param leftFn the supplier to use for left values
  @param <L>    the left parameter type
  @param <R>    the right parameter type
  @return a right value of the contained maybe value, or a left value of leftFn's result