Class LiftA2<A, B, C, App extends Applicative<?,App>, AppC extends Applicative<C,App>>

java.lang.Object
com.jnape.palatable.lambda.functions.builtin.fn3.LiftA2<A,B,C,App,AppC>
Type Parameters:
A - the function's first argument type
B - the function's second argument type
C - the function's return type
App - the applicative witness
AppC - the inferred applicative return type
All Implemented Interfaces:
Fn1<Fn2<? super A, ? super B, ? extends C>, Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, AppC>>>, Fn2<Fn2<? super A, ? super B, ? extends C>, Applicative<A,App>, Fn1<Applicative<B,App>, AppC>>, Fn3<Fn2<? super A, ? super B, ? extends C>, Applicative<A,App>, Applicative<B,App>, AppC>, Applicative<Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, AppC>>, Fn1<Fn2<? super A, ? super B, ? extends C>, ?>>, Cartesian<Fn2<? super A, ? super B, ? extends C>, Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, AppC>>, Fn1<?,?>>, Cocartesian<Fn2<? super A, ? super B, ? extends C>, Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, AppC>>, Fn1<?,?>>, Contravariant<Fn2<? super A, ? super B, ? extends C>, Profunctor<?, Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, AppC>>, Fn1<?,?>>>, Functor<Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, AppC>>, Fn1<Fn2<? super A, ? super B, ? extends C>, ?>>, Profunctor<Fn2<? super A, ? super B, ? extends C>, Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, AppC>>, Fn1<?,?>>, Monad<Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, AppC>>, Fn1<Fn2<? super A, ? super B, ? extends C>, ?>>, MonadReader<Fn2<? super A, ? super B, ? extends C>, Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, AppC>>, Fn1<Fn2<? super A, ? super B, ? extends C>, ?>>, MonadRec<Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, AppC>>, Fn1<Fn2<? super A, ? super B, ? extends C>, ?>>, MonadWriter<Fn2<? super A, ? super B, ? extends C>, Fn1<Applicative<A,App>, Fn1<Applicative<B,App>, AppC>>, Fn1<Fn2<? super A, ? super B, ? extends C>, ?>>

public final class LiftA2<A, B, C, App extends Applicative<?,App>, AppC extends Applicative<C,App>> extends Object implements Fn3<Fn2<? super A, ? super B, ? extends C>, Applicative<A,App>, Applicative<B,App>, AppC>
Lift into and apply an Fn2 to two Applicative values, returning the result inside the same Applicative context. Functionally equivalent to appB.zip(appA.fmap(fn)).
See Also: