## Uses of Interface
com.jnape.palatable.lambda.functions.Fn8

- Packages that use Fn8
  Package | Description
  --- | ---
  com.jnape.palatable.lambda.adt.product |
  com.jnape.palatable.lambda.functions |
  com.jnape.palatable.lambda.functions.builtin.fn2 |
  com.jnape.palatable.lambda.functions.builtin.fn8 |

- - ### Uses of Fn8 in com.jnape.palatable.lambda.adt.product

    Methods in com.jnape.palatable.lambda.adt.product with parameters of type Fn8
    Modifier and Type | Method and Description
    --- | ---
    `default <R> R` | Product8.`into(Fn8<? super _1,? super _2,? super _3,? super _4,? super _5,? super _6,? super _7,? super _8,? extends R> fn)` Destructure and apply this product to a function accepting the same number of arguments as this product's slots.

  - ### Uses of Fn8 in com.jnape.palatable.lambda.functions

    Methods in com.jnape.palatable.lambda.functions that return Fn8
    Modifier and Type | Method and Description
    --- | ---
    `default <Y,Z> Fn8<Y,Z,B,C,D,E,F,G,Fn1<H,I>>` | Fn8.`compose(Fn2<? super Y,? super Z,? extends A> before)`
    `default <Y,Z> Fn8<Y,Z,B,C,D,E,F,G,H>` | Fn7.`compose(Fn2<? super Y,? super Z,? extends A> before)`
    `default <Z> Fn8<Z,B,C,D,E,F,G,H,I>` | Fn8.`contraMap(Fn1<? super Z,? extends A> fn)`
    `default <Z> Fn8<Z,B,C,D,E,F,G,H,I>` | Fn8.`diMapL(Fn1<? super Z,? extends A> fn)`
    `default <J> Fn8<A,B,C,D,E,F,G,H,I>` | Fn8.`discardR(Applicative<J,Fn1<A,?>> appB)`
    `default Fn8<B,A,C,D,E,F,G,H,I>` | Fn8.`flip()` Flip the order of the first two arguments.
    `static <A,B,C,D,E,F,G,H,I> Fn8<A,B,C,D,E,F,G,H,I>` | Fn8.`fn8(Fn1<A,Fn7<B,C,D,E,F,G,H,I>> curriedFn1)` Static factory method for wrapping a curried `Fn1` in an `Fn8`.
    `static <A,B,C,D,E,F,G,H,I> Fn8<A,B,C,D,E,F,G,H,I>` | Fn8.`fn8(Fn2<A,B,Fn6<C,D,E,F,G,H,I>> curriedFn2)` Static factory method for wrapping a curried `Fn2` in an `Fn8`.
    `static <A,B,C,D,E,F,G,H,I> Fn8<A,B,C,D,E,F,G,H,I>` | Fn8.`fn8(Fn3<A,B,C,Fn5<D,E,F,G,H,I>> curriedFn3)` Static factory method for wrapping a curried `Fn3` in an `Fn8`.
    `static <A,B,C,D,E,F,G,H,I> Fn8<A,B,C,D,E,F,G,H,I>` | Fn8.`fn8(Fn4<A,B,C,D,Fn4<E,F,G,H,I>> curriedFn4)` Static factory method for wrapping a curried `Fn4` in an `Fn8`.
    `static <A,B,C,D,E,F,G,H,I> Fn8<A,B,C,D,E,F,G,H,I>` | Fn8.`fn8(Fn5<A,B,C,D,E,Fn3<F,G,H,I>> curriedFn5)` Static factory method for wrapping a curried `Fn5` in an `Fn8`.
    `static <A,B,C,D,E,F,G,H,I> Fn8<A,B,C,D,E,F,G,H,I>` | Fn8.`fn8(Fn6<A,B,C,D,E,F,Fn2<G,H,I>> curriedFn6)` Static factory method for wrapping a curried `Fn6` in an `Fn8`.
    `static <A,B,C,D,E,F,G,H,I> Fn8<A,B,C,D,E,F,G,H,I>` | Fn8.`fn8(Fn7<A,B,C,D,E,F,G,Fn1<H,I>> curriedFn7)` Static factory method for wrapping a curried `Fn7` in an `Fn8`.
    `static <A,B,C,D,E,F,G,H,I> Fn8<A,B,C,D,E,F,G,H,I>` | Fn8.`fn8(Fn8<A,B,C,D,E,F,G,H,I> fn)` Static factory method for coercing a lambda to an `Fn8`.
    `default <Z> Fn8<Z,A,B,C,D,E,F,G,H>` | Fn7.`widen()` Widen this function's argument list by prepending an ignored argument of any type to the front.

    Methods in com.jnape.palatable.lambda.functions with parameters of type Fn8
    Modifier and Type | Method and Description
    --- | ---
    `static <A,B,C,D,E,F,G,H,I> Fn8<A,B,C,D,E,F,G,H,I>` | Fn8.`fn8(Fn8<A,B,C,D,E,F,G,H,I> fn)` Static factory method for coercing a lambda to an `Fn8`.

  - ### Uses of Fn8 in com.jnape.palatable.lambda.functions.builtin.fn2

    Methods in com.jnape.palatable.lambda.functions.builtin.fn2 with parameters of type Fn8
    Modifier and Type | Method and Description
    --- | ---
    `I` | Into8.`checkedApply(Fn8<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? super H,? extends I> fn, Product8<A,B,C,D,E,F,G,H> product)`
    `static <A,B,C,D,E,F,G,H,I> Fn1<Product8<A,B,C,D,E,F,G,H>,I>` | Into8.`into8(Fn8<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? super H,? extends I> fn)`
    `static <A,B,C,D,E,F,G,H,I> I` | Into8.`into8(Fn8<? super A,? super B,? super C,? super D,? super E,? super F,? super G,? super H,? extends I> fn, Product8<A,B,C,D,E,F,G,H> product)`

  - ### Uses of Fn8 in com.jnape.palatable.lambda.functions.builtin.fn8

    Classes in com.jnape.palatable.lambda.functions.builtin.fn8 that implement Fn8
    Modifier and Type | Class and Description
    --- | ---
    `class` | `LiftA7<A,B,C,D,E,F,G,H,App extends Applicative<?,App>,AppH extends Applicative<H,App>>` Lift into and apply an `Fn7` to seven `Applicative` values, returning the result inside the same `Applicative` context.