## Uses of Interface
com.jnape.palatable.lambda.functions.specialized.Pure

- Packages that use Pure
  Package | Description
  --- | ---
  com.jnape.palatable.lambda.adt |
  com.jnape.palatable.lambda.adt.choice |
  com.jnape.palatable.lambda.adt.hlist |
  com.jnape.palatable.lambda.functions |
  com.jnape.palatable.lambda.functions.recursion |
  com.jnape.palatable.lambda.functions.specialized |
  com.jnape.palatable.lambda.functor.builtin |
  com.jnape.palatable.lambda.io |
  com.jnape.palatable.lambda.monad |
  com.jnape.palatable.lambda.monad.transformer.builtin |
  com.jnape.palatable.lambda.monoid.builtin |
  com.jnape.palatable.lambda.optics |
  com.jnape.palatable.lambda.traversable |

- - ### Uses of Pure in com.jnape.palatable.lambda.adt

    Methods in com.jnape.palatable.lambda.adt that return Pure
    Modifier and Type | Method and Description
    --- | ---
    `static <L> Pure<Either<L,?>>` | Either.`pureEither()` The canonical `Pure` instance for `Either`.
    `static Pure<Maybe<?>>` | Maybe.`pureMaybe()` The canonical `Pure` instance for `Maybe`.
    `static <A> Pure<These<A,?>>` | These.`pureThese()` The canonical `Pure` instance for `These`.
    `static Pure<Try<?>>` | Try.`pureTry()` The canonical `Pure` instance for `Try`.

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

    Methods in com.jnape.palatable.lambda.adt.choice that return Pure
    Modifier and Type | Method and Description
    --- | ---
    `static <A> Pure<Choice2<A,?>>` | Choice2.`pureChoice()` The canonical `Pure` instance for `Choice2`.
    `static <A,B> Pure<Choice3<A,B,?>>` | Choice3.`pureChoice()` The canonical `Pure` instance for `Choice3`.
    `static <A,B,C> Pure<Choice4<A,B,C,?>>` | Choice4.`pureChoice()` The canonical `Pure` instance for `Choice4`.
    `static <A,B,C,D> Pure<Choice5<A,B,C,D,?>>` | Choice5.`pureChoice()` The canonical `Pure` instance for `Choice5`.
    `static <A,B,C,D,E> Pure<Choice6<A,B,C,D,E,?>>` | Choice6.`pureChoice()` The canonical `Pure` instance for `Choice6`.
    `static <A,B,C,D,E,F> Pure<Choice7<A,B,C,D,E,F,?>>` | Choice7.`pureChoice()` The canonical `Pure` instance for `Choice7`.
    `static <A,B,C,D,E,F,G> Pure<Choice8<A,B,C,D,E,F,G,?>>` | Choice8.`pureChoice()` The canonical `Pure` instance for `Choice8`.

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

    Methods in com.jnape.palatable.lambda.adt.hlist that return Pure
    Modifier and Type | Method and Description
    --- | ---
    `static Pure<SingletonHList<?>>` | SingletonHList.`pureSingletonHList()` The canonical `Pure` instance for `SingletonHList`.
    `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`.
    `static <_1,_2,_3,_4,_5,_6> Pure<Tuple7<_1,_2,_3,_4,_5,_6,?>>` | Tuple7.`pureTuple(_1 _1, _2 _2, _3 _3, _4 _4, _5 _5, _6 _6)` The canonical `Pure` instance for `Tuple7`.
    `static <_1,_2,_3,_4,_5> Pure<Tuple6<_1,_2,_3,_4,_5,?>>` | Tuple6.`pureTuple(_1 _1, _2 _2, _3 _3, _4 _4, _5 _5)` The canonical `Pure` instance for `Tuple6`.
    `static <_1,_2,_3,_4> Pure<Tuple5<_1,_2,_3,_4,?>>` | Tuple5.`pureTuple(_1 _1, _2 _2, _3 _3, _4 _4)` The canonical `Pure` instance for `Tuple5`.
    `static <_1,_2,_3> Pure<Tuple4<_1,_2,_3,?>>` | Tuple4.`pureTuple(_1 _1, _2 _2, _3 _3)` The canonical `Pure` instance for `Tuple4`.
    `static <_1,_2> Pure<Tuple3<_1,_2,?>>` | Tuple3.`pureTuple(_1 _1, _2 _2)` The canonical `Pure` instance for `Tuple3`.
    `static <_1> Pure<Tuple2<_1,?>>` | Tuple2.`pureTuple(_1 _1)` The canonical `Pure` instance for `Tuple2`.

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

    Methods in com.jnape.palatable.lambda.functions that return Pure
    Modifier and Type | Method and Description
    --- | ---
    `static <A> Pure<Fn1<A,?>>` | Fn1.`pureFn1()` The canonical `Pure` instance for `Fn1`.

  - ### Uses of Pure in com.jnape.palatable.lambda.functions.recursion

    Methods in com.jnape.palatable.lambda.functions.recursion that return Pure
    Modifier and Type | Method and Description
    --- | ---
    `static <A> Pure<RecursiveResult<A,?>>` | RecursiveResult.`pureRecursiveResult()` The canonical `Pure` instance for `RecursiveResult`.

  - ### Uses of Pure in com.jnape.palatable.lambda.functions.specialized

    Methods in com.jnape.palatable.lambda.functions.specialized that return Pure
    Modifier and Type | Method and Description
    --- | ---
    `static <F extends Applicative<?,? extends F>> Pure<F>` | Pure.`of(Applicative<?,? extends F> app)` Extract an `Applicative's` `pure` implementation to an instance of `Pure`.
    `static <F extends Functor<?,? extends F>> Pure<F>` | Pure.`pure(Pure<F> pure)` Static method to aid inference.

    Methods in com.jnape.palatable.lambda.functions.specialized with parameters of type Pure
    Modifier and Type | Method and Description
    --- | ---
    `static <F extends Functor<?,? extends F>> Pure<F>` | Pure.`pure(Pure<F> pure)` Static method to aid inference.

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

    Methods in com.jnape.palatable.lambda.functor.builtin that return Pure
    Modifier and Type | Method and Description
    --- | ---
    `static <F extends Applicative<?,F>,G extends Applicative<?,G>> Pure<Compose<F,G,?>>` | Compose.`pureCompose(Pure<F> pureF, Pure<G> pureG)` The canonical `Pure` instance for `Compose`.
    `static <A> Pure<Const<A,?>>` | Const.`pureConst(A a)` The canonical `Pure` instance for `Const`.
    `static Pure<Identity<?>>` | Identity.`pureIdentity()` The canonical `Pure` instance for `Identity`.
    `static Pure<Lazy<?>>` | Lazy.`pureLazy()` The canonical `Pure` instance for `Lazy`.
    `static <A,B,S> Pure<Market<A,B,S,?>>` | Market.`pureMarket()` The canonical `Pure` instance for `Market`.
    `static <S> Pure<State<S,?>>` | State.`pureState()` The canonical `Pure` instance for `State`.
    `static <S> Pure<Tagged<S,?>>` | Tagged.`pureTagged()` The canonical `Pure` instance for `Tagged`.
    `static <W> Pure<Writer<W,?>>` | Writer.`pureWriter()` The canonical `Pure` instance for `Writer`.

    Methods in com.jnape.palatable.lambda.functor.builtin with parameters of type Pure
    Modifier and Type | Method and Description
    --- | ---
    `static <F extends Applicative<?,F>,G extends Applicative<?,G>> Pure<Compose<F,G,?>>` | Compose.`pureCompose(Pure<F> pureF, Pure<G> pureG)` The canonical `Pure` instance for `Compose`.
    `static <F extends Applicative<?,F>,G extends Applicative<?,G>> Pure<Compose<F,G,?>>` | Compose.`pureCompose(Pure<F> pureF, Pure<G> pureG)` The canonical `Pure` instance for `Compose`.

  - ### Uses of Pure in com.jnape.palatable.lambda.io

    Methods in com.jnape.palatable.lambda.io that return Pure
    Modifier and Type | Method and Description
    --- | ---
    `static Pure<IO<?>>` | IO.`pureIO()` The canonical `Pure` instance for `IO`.

  - ### Uses of Pure in com.jnape.palatable.lambda.monad

    Methods in com.jnape.palatable.lambda.monad that return Pure
    Modifier and Type | Method and Description
    --- | ---
    `static <M extends MonadRec<?,M>> Pure<SafeT<M,?>>` | SafeT.`pureSafeT(Pure<M> pureM)` The canonical `Pure` instance for `SafeT`.

    Methods in com.jnape.palatable.lambda.monad with parameters of type Pure
    Modifier and Type | Method and Description
    --- | ---
    `static <M extends MonadRec<?,M>> Pure<SafeT<M,?>>` | SafeT.`pureSafeT(Pure<M> pureM)` The canonical `Pure` instance for `SafeT`.

  - ### Uses of Pure in com.jnape.palatable.lambda.monad.transformer.builtin

    Methods in com.jnape.palatable.lambda.monad.transformer.builtin that return Pure
    Modifier and Type | Method and Description
    --- | ---
    `static <M extends MonadRec<?,M>,L> Pure<EitherT<M,L,?>>` | EitherT.`pureEitherT(Pure<M> pureM)` The canonical `Pure` instance for `EitherT`.
    `static <M extends MonadRec<?,M>> Pure<IdentityT<M,?>>` | IdentityT.`pureIdentityT(Pure<M> pureM)` The canonical `Pure` instance for `IdentityT`.
    `static <M extends MonadRec<?,M>> Pure<LazyT<M,?>>` | LazyT.`pureLazyT(Pure<M> pureM)` The canonical `Pure` instance for `LazyT`.
    `static <M extends MonadRec<?,M>> Pure<MaybeT<M,?>>` | MaybeT.`pureMaybeT(Pure<M> pureM)` The canonical `Pure` instance for `MaybeT`.
    `static <R,M extends MonadRec<?,M>> Pure<ReaderT<R,M,?>>` | ReaderT.`pureReaderT(Pure<M> pureM)` The canonical `Pure` instance for `ReaderT`.
    `static <S,M extends MonadRec<?,M>> Pure<StateT<S,M,?>>` | StateT.`pureStateT(Pure<M> pureM)` The canonical `Pure` instance for `StateT`.
    `static <W,M extends MonadRec<?,M>> Pure<WriterT<W,M,?>>` | WriterT.`pureWriterT(Pure<M> pureM)` The canonical `Pure` instance for `WriterT`.

    Methods in com.jnape.palatable.lambda.monad.transformer.builtin with parameters of type Pure
    Modifier and Type | Method and Description
    --- | ---
    `static <A,M extends MonadRec<?,M>> StateT<A,M,A>` | StateT.`get(Pure<M> pureM)` Given a `pure` construction of some `Monad`, produce a `StateT` that equates its output with its state.
    `static <M extends MonadRec<?,M>,L> Pure<EitherT<M,L,?>>` | EitherT.`pureEitherT(Pure<M> pureM)` The canonical `Pure` instance for `EitherT`.
    `static <M extends MonadRec<?,M>> Pure<IdentityT<M,?>>` | IdentityT.`pureIdentityT(Pure<M> pureM)` The canonical `Pure` instance for `IdentityT`.
    `static <M extends MonadRec<?,M>> Pure<LazyT<M,?>>` | LazyT.`pureLazyT(Pure<M> pureM)` The canonical `Pure` instance for `LazyT`.
    `static <M extends MonadRec<?,M>> Pure<MaybeT<M,?>>` | MaybeT.`pureMaybeT(Pure<M> pureM)` The canonical `Pure` instance for `MaybeT`.
    `static <R,M extends MonadRec<?,M>> Pure<ReaderT<R,M,?>>` | ReaderT.`pureReaderT(Pure<M> pureM)` The canonical `Pure` instance for `ReaderT`.
    `static <S,M extends MonadRec<?,M>> Pure<StateT<S,M,?>>` | StateT.`pureStateT(Pure<M> pureM)` The canonical `Pure` instance for `StateT`.
    `static <W,M extends MonadRec<?,M>> Pure<WriterT<W,M,?>>` | WriterT.`pureWriterT(Pure<M> pureM)` The canonical `Pure` instance for `WriterT`.

  - ### Uses of Pure in com.jnape.palatable.lambda.monoid.builtin

    Methods in com.jnape.palatable.lambda.monoid.builtin with parameters of type Pure
    Modifier and Type | Method and Description
    --- | ---
    `Monoid<Fn1<A,MA>>` | EndoK.`checkedApply(Pure<M> pureM)`
    `static <M extends MonadRec<?,M>,A,MA extends MonadRec<A,M>> Monoid<Fn1<A,MA>>` | EndoK.`endoK(Pure<M> pureM)`

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

    Methods in com.jnape.palatable.lambda.optics that return Pure
    Modifier and Type | Method and Description
    --- | ---
    `static <S,A,B> Pure<Iso<S,?,A,B>>` | Iso.`pureIso(Fn1<? super S,? extends A> sa)` The canonical `Pure` instance for `Iso`.
    `static <S,A,B> Pure<Lens<S,?,A,B>>` | Lens.`pureLens(Fn1<? super S,? extends A> sa)` The canonical `Pure` instance for `Lens`.
    `static <S,A,B> Pure<Prism<S,?,A,B>>` | Prism.`purePrism()` The canonical `Pure` instance for `Prism`.

    Methods in com.jnape.palatable.lambda.optics with parameters of type Pure
    Modifier and Type | Method and Description
    --- | ---
    `<F extends Applicative<?,F>> Optic<P,F,S,T,A,B>` | ProtoOptic.`toOptic(Pure<F> pure)` Given a `Pure` lifting function, fix this `ProtoOptic` to the given `Functor` and promote it to an `Optic`.

  - ### Uses of Pure in com.jnape.palatable.lambda.traversable

    Methods in com.jnape.palatable.lambda.traversable that return Pure
    Modifier and Type | Method and Description
    --- | ---
    `static Pure<LambdaIterable<?>>` | LambdaIterable.`pureLambdaIterable()` The canonical `Pure` instance for `LambdaIterable`.