src/main/java/javascalautils/LeftProjection.java
@SuppressWarnings("unchecked")
    public <T> Either<T, R> map(Function<L, T> function) {
        return either.isLeft() ? Left(function.apply(get())) : (Either<T, R>) either;
    }
@SuppressWarnings("unchecked")
    public <T> Either<T, R> map(Function<L, T> function) {
        return either.isLeft() ? Left(function.apply(get())) : (Either<T, R>) either;
    }
If this projection contains a {@link Left} then a new {@link Left} is returned containing the value from the original {@link Right} mapped via the
provided function, else the contained Either is returned as is.

@param <T>
The type to return as the new {@link Left}
@param function
The function
@return Mapped Either
@since 1.1