java.lang.Object
com.jnape.palatable.lambda.functions.builtin.fn2.Snoc<A>
Type Parameters:
A - the Iterable element type
All Implemented Interfaces:
Fn1<A,Fn1<Iterable<A>,Iterable<A>>>, Fn2<A,Iterable<A>,Iterable<A>>, Applicative<Fn1<Iterable<A>,Iterable<A>>,Fn1<A,?>>, Cartesian<A,Fn1<Iterable<A>,Iterable<A>>,Fn1<?,?>>, Cocartesian<A,Fn1<Iterable<A>,Iterable<A>>,Fn1<?,?>>, Contravariant<A,Profunctor<?,Fn1<Iterable<A>,Iterable<A>>,Fn1<?,?>>>, Functor<Fn1<Iterable<A>,Iterable<A>>,Fn1<A,?>>, Profunctor<A,Fn1<Iterable<A>,Iterable<A>>,Fn1<?,?>>, Monad<Fn1<Iterable<A>,Iterable<A>>,Fn1<A,?>>, MonadReader<A,Fn1<Iterable<A>,Iterable<A>>,Fn1<A,?>>, MonadRec<Fn1<Iterable<A>,Iterable<A>>,Fn1<A,?>>, MonadWriter<A,Fn1<Iterable<A>,Iterable<A>>,Fn1<A,?>>

public final class Snoc<A> extends Object implements Fn2<A,Iterable<A>,Iterable<A>>
Opposite of Cons: lazily append an element to the end of the given Iterable.

Note that obtaining both laziness and stack-safety is particularly tricky here, and requires an initial eager deforestation of O(k) traversals where k is the number of contiguously nested Snocs.