## Uses of Class
com.jnape.palatable.lambda.adt.hlist.Tuple8

- Packages that use Tuple8
  Package | Description
  --- | ---
  com.jnape.palatable.lambda.adt.choice |
  com.jnape.palatable.lambda.adt.hlist |
  com.jnape.palatable.lambda.adt.hmap |

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

    Methods in com.jnape.palatable.lambda.adt.choice that return Tuple8
    Modifier and Type | Method and Description
    --- | ---
    `Tuple8<Maybe<A>,Maybe<B>,Maybe<C>,Maybe<D>,Maybe<E>,Maybe<F>,Maybe<G>,Maybe<H>>` | Choice8.`project()` Specialize this choice's projection to a `Tuple8`.

  - ### Uses of Tuple8 in com.jnape.palatable.lambda.adt.hlist

    Methods in com.jnape.palatable.lambda.adt.hlist with type parameters of type Tuple8
    Modifier and Type | Method and Description
    --- | ---
    `<_8Prime,App extends Applicative<?,App>,TravB extends Traversable<_8Prime,Tuple8<_1,_2,_3,_4,_5,_6,_7,?>>,AppTrav extends Applicative<TravB,App>> AppTrav` | Tuple8.`traverse(Fn1<? super _8,? extends Applicative<_8Prime,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.hlist that return Tuple8
    Modifier and Type | Method and Description
    --- | ---
    `<_7Prime,_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7Prime,_8Prime>` | Tuple8.`biMap(Fn1<? super _7,? extends _7Prime> lFn, Fn1<? super _8,? extends _8Prime> rFn)` Dually map covariantly over both the left and right parameters.
    `<_7Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7Prime,_8>` | Tuple8.`biMapL(Fn1<? super _7,? extends _7Prime> fn)` Covariantly map over the left parameter.
    `<_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8Prime>` | Tuple8.`biMapR(Fn1<? super _8,? extends _8Prime> fn)` Covariantly map over the right parameter.
    `<_0> Tuple8<_0,_1,_2,_3,_4,_5,_6,_7>` | Tuple7.`cons(_0 _0)` Cons an element onto the front of this HList.
    `<_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8Prime>` | Tuple8.`discardL(Applicative<_8Prime,Tuple8<_1,_2,_3,_4,_5,_6,_7,?>> appB)` Sequence both this `Applicative` and `appB`, discarding this `Applicative's` result and returning `appB`.
    `<_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8>` | Tuple8.`discardR(Applicative<_8Prime,Tuple8<_1,_2,_3,_4,_5,_6,_7,?>> appB)` Sequence both this `Applicative` and `appB`, discarding `appB's` result and returning this `Applicative`.
    `static <A> Tuple8<A,A,A,A,A,A,A,A>` | Tuple8.`fill(A a)` Given a value of type `A`, produced an instance of this tuple with each slot set to that value.
    `<_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8Prime>` | Tuple8.`flatMap(Fn1<? super _8,? extends Monad<_8Prime,Tuple8<_1,_2,_3,_4,_5,_6,_7,?>>> f)` Chain dependent computations that may continue or short-circuit based on previous results.
    `<_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8Prime>` | Tuple8.`fmap(Fn1<? super _8,? extends _8Prime> fn)` Covariantly transmute this functor's parameter using the given mapping function.
    `Tuple8<_2,_1,_3,_4,_5,_6,_7,_8>` | Tuple8.`invert()` Rotate the first two slots of this product.
    `<_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8Prime>` | Tuple8.`pure(_8Prime _8Prime)` Lift the value `b` into this applicative functor.
    `Tuple8<_2,_3,_1,_4,_5,_6,_7,_8>` | Tuple8.`rotateL3()` Rotate the first three values of this product one slot to the left.
    `Tuple8<_2,_3,_4,_1,_5,_6,_7,_8>` | Tuple8.`rotateL4()` Rotate the first four values of this product one slot to the left.
    `Tuple8<_2,_3,_4,_5,_1,_6,_7,_8>` | Tuple8.`rotateL5()` Rotate the first five values of this product one slot to the left.
    `Tuple8<_2,_3,_4,_5,_6,_1,_7,_8>` | Tuple8.`rotateL6()` Rotate the first six values of this product one slot to the left.
    `Tuple8<_2,_3,_4,_5,_6,_7,_1,_8>` | Tuple8.`rotateL7()` Rotate the first seven values of this product one slot to the left.
    `Tuple8<_2,_3,_4,_5,_6,_7,_8,_1>` | Tuple8.`rotateL8()` Rotate all eight values of this product one slot to the left.
    `Tuple8<_3,_1,_2,_4,_5,_6,_7,_8>` | Tuple8.`rotateR3()` Rotate the first three values of this product one slot to the right.
    `Tuple8<_4,_1,_2,_3,_5,_6,_7,_8>` | Tuple8.`rotateR4()` Rotate the first four values of this product one slot to the right.
    `Tuple8<_5,_1,_2,_3,_4,_6,_7,_8>` | Tuple8.`rotateR5()` Rotate the first five values of this product one slot to the right.
    `Tuple8<_6,_1,_2,_3,_4,_5,_7,_8>` | Tuple8.`rotateR6()` Rotate the first six values of this product one slot to the right.
    `Tuple8<_7,_1,_2,_3,_4,_5,_6,_8>` | Tuple8.`rotateR7()` Rotate the first seven values of this product one slot to the right.
    `Tuple8<_8,_1,_2,_3,_4,_5,_6,_7>` | Tuple8.`rotateR8()` Rotate all eight values of this product one slot to the right.
    `<_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8Prime>` | Tuple8.`trampolineM(Fn1<? super _8,? extends MonadRec<RecursiveResult<_8,_8Prime>,Tuple8<_1,_2,_3,_4,_5,_6,_7,?>>> fn)` Given some operation yielding a `RecursiveResult` inside this `MonadRec`, internally trampoline the operation until it yields a `termination` instruction.
    `static <_1,_2,_3,_4,_5,_6,_7,_8> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8>` | HList.`tuple(_1 _1, _2 _2, _3 _3, _4 _4, _5 _5, _6 _6, _7 _7, _8 _8)` Static factory method for creating an 8-element HList.
    `<_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8Prime>` | Tuple8.`zip(Applicative<Fn1<? super _8,? extends _8Prime>,Tuple8<_1,_2,_3,_4,_5,_6,_7,?>> 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.hlist that return types with arguments of type Tuple8
    Modifier and Type | Method and Description
    --- | ---
    `<_0> HList.HCons<_0,Tuple8<_1,_2,_3,_4,_5,_6,_7,_8>>` | Tuple8.`cons(_0 _0)` Cons an element onto the front of this HList.
    `static <A> Maybe<Tuple8<A,A,A,A,A,A,A,A>>` | Tuple8.`fromIterable(Iterable<A> as)` Return `just` the first eight elements from the given `Iterable`, or `nothing` if there are less than eight elements.
    `<_8Prime> Lazy<Tuple8<_1,_2,_3,_4,_5,_6,_7,_8Prime>>` | Tuple8.`lazyZip(Lazy<? extends Applicative<Fn1<? super _8,? extends _8Prime>,Tuple8<_1,_2,_3,_4,_5,_6,_7,?>>> 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 <_1,_2,_3,_4,_5,_6,_7> Pure<Tuple8<_1,_2,_3,_4,_5,_6,_7,?>>` | Tuple8.`pureTuple(_1 _1, _2 _2, _3 _3, _4 _4, _5 _5, _6 _6, _7 _7)` The canonical `Pure` instance for `Tuple8`.

    Method parameters in com.jnape.palatable.lambda.adt.hlist with type arguments of type Tuple8
    Modifier and Type | Method and Description
    --- | ---
    `<_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8Prime>` | Tuple8.`discardL(Applicative<_8Prime,Tuple8<_1,_2,_3,_4,_5,_6,_7,?>> appB)` Sequence both this `Applicative` and `appB`, discarding this `Applicative's` result and returning `appB`.
    `<_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8>` | Tuple8.`discardR(Applicative<_8Prime,Tuple8<_1,_2,_3,_4,_5,_6,_7,?>> appB)` Sequence both this `Applicative` and `appB`, discarding `appB's` result and returning this `Applicative`.
    `<_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8Prime>` | Tuple8.`flatMap(Fn1<? super _8,? extends Monad<_8Prime,Tuple8<_1,_2,_3,_4,_5,_6,_7,?>>> f)` Chain dependent computations that may continue or short-circuit based on previous results.
    `<_8Prime> Lazy<Tuple8<_1,_2,_3,_4,_5,_6,_7,_8Prime>>` | Tuple8.`lazyZip(Lazy<? extends Applicative<Fn1<? super _8,? extends _8Prime>,Tuple8<_1,_2,_3,_4,_5,_6,_7,?>>> 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.
    `<_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8Prime>` | Tuple8.`trampolineM(Fn1<? super _8,? extends MonadRec<RecursiveResult<_8,_8Prime>,Tuple8<_1,_2,_3,_4,_5,_6,_7,?>>> fn)` Given some operation yielding a `RecursiveResult` inside this `MonadRec`, internally trampoline the operation until it yields a `termination` instruction.
    `<_8Prime> Tuple8<_1,_2,_3,_4,_5,_6,_7,_8Prime>` | Tuple8.`zip(Applicative<Fn1<? super _8,? extends _8Prime>,Tuple8<_1,_2,_3,_4,_5,_6,_7,?>> appFn)` Given another instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.

  - ### Uses of Tuple8 in com.jnape.palatable.lambda.adt.hmap

    Methods in com.jnape.palatable.lambda.adt.hmap that return types with arguments of type Tuple8
    Modifier and Type | Method and Description
    --- | ---
    `static <A,B,C,D,E,F,G,H> Schema<Tuple8<A,B,C,D,E,F,G,H>>` | Schema.`schema(TypeSafeKey<?,A> aKey, TypeSafeKey<?,B> bKey, TypeSafeKey<?,C> cKey, TypeSafeKey<?,D> dKey, TypeSafeKey<?,E> eKey, TypeSafeKey<?,F> fKey, TypeSafeKey<?,G> gKey, TypeSafeKey<?,H> hKey)` Create a `Schema` from eight `TypeSafeKeys`.