@Test public void map(){ assertThat(just.map(i->i*2),equalTo(XorM.just(20))); }
@Override public <R> XorM<W1,W2,R> map(Function<? super T, ? extends R> fn) { return of(xor.map(m->m.map(fn)).mapLeft(m->m.map(fn))); }
XorM implements Filters<T>,
                                                                                       Transformable<T>,
                                                                                       Folds<T>,
                                                                                       Publisher<T>,
                                                                                       To<XorM<W1,W2,T>> { @Override public <R> XorM<W1,W2,R> map(Function<? super T, ? extends R> fn) { return of(xor.map(m->m.map(fn)).mapLeft(m->m.map(fn))); } }
XorM implements Filters<T>,
                                                                                       Transformable<T>,
                                                                                       Folds<T>,
                                                                                       Publisher<T>,
                                                                                       To<XorM<W1,W2,T>> { @Override public <R> XorM<W1,W2,R> map(Function<? super T, ? extends R> fn) { return of(xor.map(m->m.map(fn)).mapLeft(m->m.map(fn))); }  }
XorM implements Filters<T>,
                                                                                       Transformable<T>,
                                                                                       Folds<T>,
                                                                                       Publisher<T>,
                                                                                       To<XorM<W1,W2,T>> { @Override public <R> XorM<W1,W2,R> map(Function<? super T, ? extends R> fn) { return of(xor.map(m->m.map(fn)).mapLeft(m->m.map(fn))); }  static XorM<W1,W2,T> of(Either<? extends AnyM<? extends W1,? extends T>,
                    ? extends AnyM<? extends W2,? extends T>> xor); static XorM<W1,W2,T> right(AnyM<W2,T> right); static XorM<W1,W2,T> left(AnyM<W1,T> left); XorM<W1,W2,T> filter(Predicate<? super T> test); XorM<W1,W2,R> coflatMap(final Function<? super  XorM<W1,W2,T>, R> mapper); @Override XorM<W1,W2,U> ofType(Class<? extends U> type); @Override XorM<W1,W2,T> filterNot(Predicate<? super T> predicate); @Override XorM<W1,W2,T> notNull(); @Override XorM<W1,W2,R> map(Function<? super T, ? extends R> fn); @Override XorM<W1,W2,T> peek(Consumer<? super T> c); @Override String toString(); @Override ReactiveSeq<T> stream(); @Override void subscribe(Subscriber<? super T> s); R fold(Function<? super AnyM<W1,? super T>, ? extends R> left, Function<? super AnyM<W2,? super T>, ? extends R> right ); XorM<W2,W1,T> swap(); @Override Iterator<T> iterator(); static XorM<W1,vectorX,T> vectorX(VectorX<T> list); static XorM<W1,vectorX,T> vectorX(T... values); static XorM<W1,linkedListX,T> linkedListX(LinkedListX<T> list); static XorM<W1,linkedListX,T> linkedListX(T... values); static XorM<W1,persistentSetX,T> persistentsetX(PersistentSetX<T> list); static XorM<W1,persistentSetX,T> persistentsetX(T... values); static XorM<W1,set,T> setX(Set<T> list); static XorM<W1,set,T> setX(T... values); static XorM<W1,list,T> listX(List<T> list); static XorM<W1,list,T> listX(T... values); static XorM<W1,stream,T> stream(Stream<T> stream); static XorM<W1,stream,T> stream(T... values); static XorM<W1,reactiveSeq,T> reactiveSeq(ReactiveSeq<T> stream); static XorM<W1,reactiveSeq,T> reactiveSeq(T... values); static XorM<W1,tryType,T> success(T value); static XorM<W1,tryType,T> failure(X value); static XorM<W1,future,T> futureOf(Supplier<T> value, Executor ex); static XorM<W1,completableFuture,T> completableFutureOf(Supplier<T> value, Executor ex); static XorM<W1,eval,T> later(Supplier<T> value); static XorM<W1,optional,T> ofNullable(T value); static XorM<W1,maybe,T> just(T value); static XorM<W1,maybe,T> none(); static XorM<W1,maybe,T> maybeNullabe(T value); }
XorM implements Filters<T>,
                                                                                       Transformable<T>,
                                                                                       Folds<T>,
                                                                                       Publisher<T>,
                                                                                       To<XorM<W1,W2,T>> { @Override public <R> XorM<W1,W2,R> map(Function<? super T, ? extends R> fn) { return of(xor.map(m->m.map(fn)).mapLeft(m->m.map(fn))); }  static XorM<W1,W2,T> of(Either<? extends AnyM<? extends W1,? extends T>,
                    ? extends AnyM<? extends W2,? extends T>> xor); static XorM<W1,W2,T> right(AnyM<W2,T> right); static XorM<W1,W2,T> left(AnyM<W1,T> left); XorM<W1,W2,T> filter(Predicate<? super T> test); XorM<W1,W2,R> coflatMap(final Function<? super  XorM<W1,W2,T>, R> mapper); @Override XorM<W1,W2,U> ofType(Class<? extends U> type); @Override XorM<W1,W2,T> filterNot(Predicate<? super T> predicate); @Override XorM<W1,W2,T> notNull(); @Override XorM<W1,W2,R> map(Function<? super T, ? extends R> fn); @Override XorM<W1,W2,T> peek(Consumer<? super T> c); @Override String toString(); @Override ReactiveSeq<T> stream(); @Override void subscribe(Subscriber<? super T> s); R fold(Function<? super AnyM<W1,? super T>, ? extends R> left, Function<? super AnyM<W2,? super T>, ? extends R> right ); XorM<W2,W1,T> swap(); @Override Iterator<T> iterator(); static XorM<W1,vectorX,T> vectorX(VectorX<T> list); static XorM<W1,vectorX,T> vectorX(T... values); static XorM<W1,linkedListX,T> linkedListX(LinkedListX<T> list); static XorM<W1,linkedListX,T> linkedListX(T... values); static XorM<W1,persistentSetX,T> persistentsetX(PersistentSetX<T> list); static XorM<W1,persistentSetX,T> persistentsetX(T... values); static XorM<W1,set,T> setX(Set<T> list); static XorM<W1,set,T> setX(T... values); static XorM<W1,list,T> listX(List<T> list); static XorM<W1,list,T> listX(T... values); static XorM<W1,stream,T> stream(Stream<T> stream); static XorM<W1,stream,T> stream(T... values); static XorM<W1,reactiveSeq,T> reactiveSeq(ReactiveSeq<T> stream); static XorM<W1,reactiveSeq,T> reactiveSeq(T... values); static XorM<W1,tryType,T> success(T value); static XorM<W1,tryType,T> failure(X value); static XorM<W1,future,T> futureOf(Supplier<T> value, Executor ex); static XorM<W1,completableFuture,T> completableFutureOf(Supplier<T> value, Executor ex); static XorM<W1,eval,T> later(Supplier<T> value); static XorM<W1,optional,T> ofNullable(T value); static XorM<W1,maybe,T> just(T value); static XorM<W1,maybe,T> none(); static XorM<W1,maybe,T> maybeNullabe(T value);  }