## Uses of Class
com.jnape.palatable.lambda.functor.builtin.Identity

- Packages that use Identity
  Package | Description
  --- | ---
  com.jnape.palatable.lambda.functor.builtin |
  com.jnape.palatable.lambda.monad.transformer.builtin |
  com.jnape.palatable.lambda.optics |
  com.jnape.palatable.lambda.optics.functions |

- - ### Uses of Identity in com.jnape.palatable.lambda.functor.builtin

    Methods in com.jnape.palatable.lambda.functor.builtin with type parameters of type Identity
    Modifier and Type | Method and Description
    --- | ---
    `<B,App extends Applicative<?,App>,TravB extends Traversable<B,Identity<?>>,AppTrav extends Applicative<TravB,App>> AppTrav` | Identity.`traverse(Fn1<? super A,? extends Applicative<B,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.functor.builtin that return Identity
    Modifier and Type | Method and Description
    --- | ---
    `<B> Identity<B>` | Identity.`discardL(Applicative<B,Identity<?>> appB)` Sequence both this `Applicative` and `appB`, discarding this `Applicative's` result and returning `appB`.
    `<B> Identity<A>` | Identity.`discardR(Applicative<B,Identity<?>> appB)` Sequence both this `Applicative` and `appB`, discarding `appB's` result and returning this `Applicative`.
    `<B> Identity<B>` | Identity.`flatMap(Fn1<? super A,? extends Monad<B,Identity<?>>> f)` Chain dependent computations that may continue or short-circuit based on previous results.
    `<B> Identity<B>` | Identity.`fmap(Fn1<? super A,? extends B> fn)` Covariantly transmute this functor's parameter using the given mapping function.
    `<B> Identity<B>` | Identity.`pure(B b)` Lift the value `b` into this applicative functor.
    `<B> Identity<B>` | Identity.`trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,Identity<?>>> fn)` Given some operation yielding a `RecursiveResult` inside this `MonadRec`, internally trampoline the operation until it yields a `termination` instruction.
    `<B> Identity<B>` | Identity.`zip(Applicative<Fn1<? super A,? extends B>,Identity<?>> 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.functor.builtin that return types with arguments of type Identity
    Modifier and Type | Method and Description
    --- | ---
    `<B> Lazy<Identity<B>>` | Identity.`lazyZip(Lazy<? extends Applicative<Fn1<? super A,? extends B>,Identity<?>>> 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 Pure<Identity<?>>` | Identity.`pureIdentity()` The canonical `Pure` instance for `Identity`.

    Method parameters in com.jnape.palatable.lambda.functor.builtin with type arguments of type Identity
    Modifier and Type | Method and Description
    --- | ---
    `<B> Identity<B>` | Identity.`discardL(Applicative<B,Identity<?>> appB)` Sequence both this `Applicative` and `appB`, discarding this `Applicative's` result and returning `appB`.
    `<B> Identity<A>` | Identity.`discardR(Applicative<B,Identity<?>> appB)` Sequence both this `Applicative` and `appB`, discarding `appB's` result and returning this `Applicative`.
    `<B> Identity<B>` | Identity.`flatMap(Fn1<? super A,? extends Monad<B,Identity<?>>> f)` Chain dependent computations that may continue or short-circuit based on previous results.
    `<B> Lazy<Identity<B>>` | Identity.`lazyZip(Lazy<? extends Applicative<Fn1<? super A,? extends B>,Identity<?>>> 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.
    `<B> Identity<B>` | Identity.`trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,Identity<?>>> fn)` Given some operation yielding a `RecursiveResult` inside this `MonadRec`, internally trampoline the operation until it yields a `termination` instruction.
    `<B> Identity<B>` | Identity.`zip(Applicative<Fn1<? super A,? extends B>,Identity<?>> 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 Identity in com.jnape.palatable.lambda.monad.transformer.builtin

    Methods in com.jnape.palatable.lambda.monad.transformer.builtin with type parameters of type Identity
    Modifier and Type | Method and Description
    --- | ---
    `<MIA extends MonadRec<Identity<A>,M>> MIA` | IdentityT.`runIdentityT()` Recover the full structure of the embedded `Monad`.

    Method parameters in com.jnape.palatable.lambda.monad.transformer.builtin with type arguments of type Identity
    Modifier and Type | Method and Description
    --- | ---
    `static <M extends MonadRec<?,M>,A> IdentityT<M,A>` | IdentityT.`identityT(MonadRec<Identity<A>,M> mia)` Static factory method for lifting a ``Monad`<`Identity`<A>, M>` into a `IdentityT`.

  - ### Uses of Identity in com.jnape.palatable.lambda.optics

    Methods in com.jnape.palatable.lambda.optics with type parameters of type Identity
    Modifier and Type | Method and Description
    --- | ---
    `default <CoP extends Profunctor<?,?,? extends Cocartesian<?,?,?>>,CoF extends Functor<?,? extends Identity<?>>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>> PSFT` | Prism.`apply(PAFB pafb)` The polymorphic arrow between profunctors in this optic interface.
    `default <CoP extends Profunctor<?,?,? extends P>,CoF extends Functor<?,? extends Identity<?>>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>> PSFT` | ProtoOptic.`apply(PAFB pafb)` The polymorphic arrow between profunctors in this optic interface.

  - ### Uses of Identity in com.jnape.palatable.lambda.optics.functions

    Method parameters in com.jnape.palatable.lambda.optics.functions with type arguments of type Identity
    Modifier and Type | Method and Description
    --- | ---
    `A` | Under.`checkedApply(Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B> optic, Fn1<? super T,? extends S> fn, B b)`
    `T` | Set.`checkedApply(Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B> optic, B b, S s)`
    `T` | Over.`checkedApply(Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B> optic, Fn1<? super A,? extends B> fn, S s)`
    `Either<T,A>` | Matching.`checkedApply(Optic<? super Market<A,B,?,?>,? super Identity<?>,S,T,A,B> optic, S s)`
    `Optic<Profunctor<?,?,?>,Const<T,?>,B,B,T,T>` | Re.`checkedApply(Optic<? super Tagged<?,?>,? super Identity<?>,S,T,A,B> optic)`
    `static <S,T,A,B> Fn1<S,Either<T,A>>` | Matching.`matching(Optic<? super Market<A,B,?,?>,? super Identity<?>,S,T,A,B> optic)`
    `static <S,T,A,B> Either<T,A>` | Matching.`matching(Optic<? super Market<A,B,?,?>,? super Identity<?>,S,T,A,B> optic, S s)`
    `static <S,T,A,B> Fn2<Fn1<? super A,? extends B>,S,T>` | Over.`over(Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B> optic)`
    `static <S,T,A,B> Fn1<S,T>` | Over.`over(Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B> optic, Fn1<? super A,? extends B> fn)`
    `static <S,T,A,B> T` | Over.`over(Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B> optic, Fn1<? super A,? extends B> fn, S s)`
    `static <S,T,A,B> Optic<Profunctor<?,?,?>,Const<T,?>,B,B,T,T>` | Re.`re(Optic<? super Tagged<?,?>,? super Identity<?>,S,T,A,B> optic)`
    `static <S,T,A,B> Fn2<B,S,T>` | Set.`set(Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B> optic)`
    `static <S,T,A,B> Fn1<S,T>` | Set.`set(Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B> optic, B b)`
    `static <S,T,A,B> T` | Set.`set(Optic<? super Fn1<?,?>,? super Identity<?>,S,T,A,B> optic, B b, S s)`
    `static <S,T,A,B> Fn2<Fn1<? super T,? extends S>,B,A>` | Under.`under(Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B> optic)`
    `static <S,T,A,B> Fn1<B,A>` | Under.`under(Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B> optic, Fn1<? super T,? extends S> fn)`
    `static <S,T,A,B> A` | Under.`under(Optic<? super Exchange<A,B,?,?>,? super Identity<?>,S,T,A,B> optic, Fn1<? super T,? extends S> fn, B b)`