@Override public <R> ImmutableList<R> concatMap(Function<? super T, ? extends Iterable<? extends R>> fn) { return lazySeq().concatMap(fn); }
@Override public <R> ImmutableList<R> mergeMap(Function<? super T, ? extends Publisher<? extends R>> fn) { return lazySeq().mergeMap(fn); }
public <R> R foldLeft(R zero,BiFunction<R, ? super T, R> f) { return lazySeq().foldLeft(zero,f); }
public NonEmptyList<T> prepend(T value){ return cons(value, lazySeq()); }
public ImmutableList<T> filter(Predicate<? super T> pred){ return lazySeq().filter(pred); }
@Override public <R> ImmutableList<R> flatMap(Function<? super T, ? extends ImmutableList<? extends R>> fn) { return lazySeq().flatMap(fn); }
@Override public <R> ImmutableList<R> mergeMap(int maxConcurecy, Function<? super T, ? extends Publisher<? extends R>> fn) { return lazySeq().mergeMap(maxConcurecy,fn); }
public <R> R foldRight(R zero,BiFunction<? super T, ? super R, ? extends R> f) { return lazySeq().foldRight(zero,f); }
@Override public NonEmptyList<T> prependAll(Iterable<? extends T> value) { LazySeq<T> list = LazySeq.narrow(lazySeq().prependAll(value)); return cons(list.fold(c->c.head(), nil->null),list.drop(1)); }
@Override public <R> ImmutableList<R> mergeMap(int maxConcurecy, Function<? super T, ? extends Publisher<? extends R>> fn) { return lazySeq().mergeMap(maxConcurecy,fn); }
@Override public <R> ImmutableList<R> flatMap(Function<? super T, ? extends ImmutableList<? extends R>> fn) { return lazySeq().flatMap(fn); }
public <R> R foldLeft(R zero,BiFunction<R, ? super T, R> f) { return lazySeq().foldLeft(zero,f); }
@Override public <R> ImmutableList<R> concatMap(Function<? super T, ? extends Iterable<? extends R>> fn) { return lazySeq().concatMap(fn); }
@Override public <R> ImmutableList<R> mergeMap(Function<? super T, ? extends Publisher<? extends R>> fn) { return lazySeq().mergeMap(fn); }
public ImmutableList<T> filter(Predicate<? super T> pred){ return lazySeq().filter(pred); }
public NonEmptyList<T> prepend(T value){ return cons(value, lazySeq()); }
public <R> R foldRight(R zero,BiFunction<? super T, ? super R, ? extends R> f) { return lazySeq().foldRight(zero,f); }
@Override public NonEmptyList<T> prependAll(Iterable<? extends T> value) { LazySeq<T> list = LazySeq.narrow(lazySeq().prependAll(value)); return cons(list.fold(c->c.head(), nil->null),list.drop(1)); }