## Uses of Class
com.jnape.palatable.lambda.adt.choice.Choice5

- Packages that use Choice5
  Package | Description
  --- | ---
  com.jnape.palatable.lambda.adt.choice |

- - ### Uses of Choice5 in com.jnape.palatable.lambda.adt.choice

    Methods in com.jnape.palatable.lambda.adt.choice with type parameters of type Choice5
    Modifier and Type | Method and Description
    --- | ---
    `<F,App extends Applicative<?,App>,TravB extends Traversable<F,Choice5<A,B,C,D,?>>,AppTrav extends Applicative<TravB,App>> AppTrav` | Choice5.`traverse(Fn1<? super E,? extends Applicative<F,App>> fn, Fn1<? super TravB,? extends AppTrav> pure)` Apply `fn` to each element of this traversable from left to right, and collapse the results into a single resulting applicative, potentially with the assistance of the applicative's pure function.

    Methods in com.jnape.palatable.lambda.adt.choice that return Choice5
    Modifier and Type | Method and Description
    --- | ---
    `static <A,B,C,D,E> Choice5<A,B,C,D,E>` | Choice5.`a(A a)` Static factory method for wrapping a value of type `A` in a `Choice5`.
    `static <A,B,C,D,E> Choice5<A,B,C,D,E>` | Choice5.`b(B b)` Static factory method for wrapping a value of type `B` in a `Choice5`.
    `<F,G> Choice5<A,B,C,F,G>` | Choice5.`biMap(Fn1<? super D,? extends F> lFn, Fn1<? super E,? extends G> rFn)` Dually map covariantly over both the left and right parameters.
    `<F> Choice5<A,B,C,F,E>` | Choice5.`biMapL(Fn1<? super D,? extends F> fn)` Covariantly map over the left parameter.
    `<F> Choice5<A,B,C,D,F>` | Choice5.`biMapR(Fn1<? super E,? extends F> fn)` Covariantly map over the right parameter.
    `static <A,B,C,D,E> Choice5<A,B,C,D,E>` | Choice5.`c(C c)` Static factory method for wrapping a value of type `C` in a `Choice5`.
    `Choice5<A,B,C,D,E>` | Choice6.`converge(Fn1<? super F,? extends CoProduct5<A,B,C,D,E,?>> convergenceFn)` Converge this coproduct down to a lower order coproduct by mapping the last possible type into an earlier possible type.
    `static <A,B,C,D,E> Choice5<A,B,C,D,E>` | Choice5.`d(D d)` Static factory method for wrapping a value of type `D` in a `Choice5`.
    `<F> Choice5<A,B,C,D,F>` | Choice5.`discardL(Applicative<F,Choice5<A,B,C,D,?>> appB)` Sequence both this `Applicative` and `appB`, discarding this `Applicative's` result and returning `appB`.
    `<F> Choice5<A,B,C,D,E>` | Choice5.`discardR(Applicative<F,Choice5<A,B,C,D,?>> appB)` Sequence both this `Applicative` and `appB`, discarding `appB's` result and returning this `Applicative`.
    `<E> Choice5<A,B,C,D,E>` | Choice4.`diverge()` Diverge this coproduct by introducing another possible type that it could represent.
    `static <A,B,C,D,E> Choice5<A,B,C,D,E>` | Choice5.`e(E e)` Static factory method for wrapping a value of type `E` in a `Choice5`.
    `<F> Choice5<A,B,C,D,F>` | Choice5.`flatMap(Fn1<? super E,? extends Monad<F,Choice5<A,B,C,D,?>>> f)` Chain dependent computations that may continue or short-circuit based on previous results.
    `<F> Choice5<A,B,C,D,F>` | Choice5.`fmap(Fn1<? super E,? extends F> fn)` Covariantly transmute this functor's parameter using the given mapping function.
    `<F> Choice5<A,B,C,D,F>` | Choice5.`pure(F f)` Lift the value `b` into this applicative functor.
    `<F> Choice5<A,B,C,D,F>` | Choice5.`trampolineM(Fn1<? super E,? extends MonadRec<RecursiveResult<E,F>,Choice5<A,B,C,D,?>>> fn)` Given some operation yielding a `RecursiveResult` inside this `MonadRec`, internally trampoline the operation until it yields a `termination` instruction.
    `<F> Choice5<A,B,C,D,F>` | Choice5.`zip(Applicative<Fn1<? super E,? extends F>,Choice5<A,B,C,D,?>> appFn)` Given another instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.

    Methods in com.jnape.palatable.lambda.adt.choice that return types with arguments of type Choice5
    Modifier and Type | Method and Description
    --- | ---
    `<F> Lazy<Choice5<A,B,C,D,F>>` | Choice5.`lazyZip(Lazy<? extends Applicative<Fn1<? super E,? extends F>,Choice5<A,B,C,D,?>>> lazyAppFn)` Given a `lazy` instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.
    `static <A,B,C,D> Pure<Choice5<A,B,C,D,?>>` | Choice5.`pureChoice()` The canonical `Pure` instance for `Choice5`.

    Method parameters in com.jnape.palatable.lambda.adt.choice with type arguments of type Choice5
    Modifier and Type | Method and Description
    --- | ---
    `<F> Choice5<A,B,C,D,F>` | Choice5.`discardL(Applicative<F,Choice5<A,B,C,D,?>> appB)` Sequence both this `Applicative` and `appB`, discarding this `Applicative's` result and returning `appB`.
    `<F> Choice5<A,B,C,D,E>` | Choice5.`discardR(Applicative<F,Choice5<A,B,C,D,?>> appB)` Sequence both this `Applicative` and `appB`, discarding `appB's` result and returning this `Applicative`.
    `<F> Choice5<A,B,C,D,F>` | Choice5.`flatMap(Fn1<? super E,? extends Monad<F,Choice5<A,B,C,D,?>>> f)` Chain dependent computations that may continue or short-circuit based on previous results.
    `<F> Lazy<Choice5<A,B,C,D,F>>` | Choice5.`lazyZip(Lazy<? extends Applicative<Fn1<? super E,? extends F>,Choice5<A,B,C,D,?>>> lazyAppFn)` Given a `lazy` instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.
    `<F> Choice5<A,B,C,D,F>` | Choice5.`trampolineM(Fn1<? super E,? extends MonadRec<RecursiveResult<E,F>,Choice5<A,B,C,D,?>>> fn)` Given some operation yielding a `RecursiveResult` inside this `MonadRec`, internally trampoline the operation until it yields a `termination` instruction.
    `<F> Choice5<A,B,C,D,F>` | Choice5.`zip(Applicative<Fn1<? super E,? extends F>,Choice5<A,B,C,D,?>> appFn)` Given another instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.