com.jnape.palatable.lambda.functions.specialized

## Interface Pure<F extends Functor<?,? extends F>>

- Type Parameters:
    `F` - the `Functor` to lift into
  Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

      @FunctionalInterface
      public interface Pure<F extends Functor<?,? extends F>>

  Generalized, portable `Applicative.pure(Object)`, with a loosened `Functor` constraint.

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default <A,FA extends Functor<A,? extends F>> FA` | `apply(A a)`
    `<A> Functor<A,? extends F>` | `checkedApply(A a)`
    `static <F extends Applicative<?,? extends F>> Pure<F>` | `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<F> pure)` Static method to aid inference.

- - ### Method Detail

    - #### checkedApply

          <A> Functor<A,? extends F> checkedApply(A a)
                                           throws Throwable

      Throws:
        `Throwable`

    - #### apply

          default <A,FA extends Functor<A,? extends F>> FA apply(A a)

    - #### pure

          static <F extends Functor<?,? extends F>> Pure<F> pure(Pure<F> pure)

      Static method to aid inference.
      Type Parameters:
        `F` - the `Functor` witness
      Parameters:
        `pure` - the `Pure`
      Returns:
        the `Pure`

    - #### of

          static <F extends Applicative<?,? extends F>> Pure<F> of(Applicative<?,? extends F> app)

      Extract an `Applicative's` `pure` implementation to an instance of `Pure`.
      Type Parameters:
        `F` - the witness
      Parameters:
        `app` - the `Applicative`
      Returns:
        the `Pure`