Class LiftA4<A,B,C,D,E,App extends Applicative<?,App>,AppE extends Applicative<E,App>>

java.lang.Object
com.jnape.palatable.lambda.functions.builtin.fn5.LiftA4<A,B,C,D,E,App,AppE>
Type Parameters:
A - the function's first argument type
B - the function's second argument type
C - the function's third argument type
D - the function's fourth argument type
E - the function's return type
App - the applicative witness
AppE - the inferred applicative return type
All Implemented Interfaces:
Fn1<Fn4<A,B,C,D,E>,Fn1<Applicative<A,App>,Fn1<Applicative<B,App>,Fn1<Applicative<C,App>,Fn1<Applicative<D,App>,AppE>>>>>, Fn2<Fn4<A,B,C,D,E>,Applicative<A,App>,Fn1<Applicative<B,App>,Fn1<Applicative<C,App>,Fn1<Applicative<D,App>,AppE>>>>, Fn3<Fn4<A,B,C,D,E>,Applicative<A,App>,Applicative<B,App>,Fn1<Applicative<C,App>,Fn1<Applicative<D,App>,AppE>>>, Fn4<Fn4<A,B,C,D,E>,Applicative<A,App>,Applicative<B,App>,Applicative<C,App>,Fn1<Applicative<D,App>,AppE>>, Fn5<Fn4<A,B,C,D,E>,Applicative<A,App>,Applicative<B,App>,Applicative<C,App>,Applicative<D,App>,AppE>, Applicative<Fn1<Applicative<A,App>,Fn1<Applicative<B,App>,Fn1<Applicative<C,App>,Fn1<Applicative<D,App>,AppE>>>>,Fn1<Fn4<A,B,C,D,E>,?>>, Cartesian<Fn4<A,B,C,D,E>,Fn1<Applicative<A,App>,Fn1<Applicative<B,App>,Fn1<Applicative<C,App>,Fn1<Applicative<D,App>,AppE>>>>,Fn1<?,?>>, Cocartesian<Fn4<A,B,C,D,E>,Fn1<Applicative<A,App>,Fn1<Applicative<B,App>,Fn1<Applicative<C,App>,Fn1<Applicative<D,App>,AppE>>>>,Fn1<?,?>>, Contravariant<Fn4<A,B,C,D,E>,Profunctor<?,Fn1<Applicative<A,App>,Fn1<Applicative<B,App>,Fn1<Applicative<C,App>,Fn1<Applicative<D,App>,AppE>>>>,Fn1<?,?>>>, Functor<Fn1<Applicative<A,App>,Fn1<Applicative<B,App>,Fn1<Applicative<C,App>,Fn1<Applicative<D,App>,AppE>>>>,Fn1<Fn4<A,B,C,D,E>,?>>, Profunctor<Fn4<A,B,C,D,E>,Fn1<Applicative<A,App>,Fn1<Applicative<B,App>,Fn1<Applicative<C,App>,Fn1<Applicative<D,App>,AppE>>>>,Fn1<?,?>>, Monad<Fn1<Applicative<A,App>,Fn1<Applicative<B,App>,Fn1<Applicative<C,App>,Fn1<Applicative<D,App>,AppE>>>>,Fn1<Fn4<A,B,C,D,E>,?>>, MonadReader<Fn4<A,B,C,D,E>,Fn1<Applicative<A,App>,Fn1<Applicative<B,App>,Fn1<Applicative<C,App>,Fn1<Applicative<D,App>,AppE>>>>,Fn1<Fn4<A,B,C,D,E>,?>>, MonadRec<Fn1<Applicative<A,App>,Fn1<Applicative<B,App>,Fn1<Applicative<C,App>,Fn1<Applicative<D,App>,AppE>>>>,Fn1<Fn4<A,B,C,D,E>,?>>, MonadWriter<Fn4<A,B,C,D,E>,Fn1<Applicative<A,App>,Fn1<Applicative<B,App>,Fn1<Applicative<C,App>,Fn1<Applicative<D,App>,AppE>>>>,Fn1<Fn4<A,B,C,D,E>,?>>

public final class LiftA4<A,B,C,D,E,App extends Applicative<?,App>,AppE extends Applicative<E,App>> extends Object implements Fn5<Fn4<A,B,C,D,E>,Applicative<A,App>,Applicative<B,App>,Applicative<C,App>,Applicative<D,App>,AppE>
Lift into and apply an Fn4 to four Applicative values, returning the result inside the same Applicative context.
See Also: