public static <L, R> Lens.Simple<Either<L, R>, Maybe<R>> right() {
        return simpleLens(CoProduct2::projectB, (lOrR, maybeR) -> maybeR.<Either<L, R>>fmap(Either::right).orElse(lOrR));
    }
public static < L , R > Lens . Simple < Either < L , R > , Maybe < R > > right ( ) { return simpleLens ( CoProduct2 :: projectB , ( lOrR , maybeR ) -> maybeR . < Either < L , R > > fmap ( Either :: right ) . orElse ( lOrR ) ) ; }
Convenience static factory method for creating a lens over right values, wrapping them in a {@link Maybe}. When
setting, a {@link Maybe#nothing()} value means to leave the {@link Either} unaltered, where as a
{@link Maybe#just} value replaces the either with a right over the {@link Maybe}.
<p>
Note that this lens is NOT lawful, since "you get back what you put in" fails for {@link Maybe#nothing()}.

@param <L> the left parameter type
@param <R> the right parameter type
@return a lens that focuses on right values