## Uses of Class
com.jnape.palatable.lambda.adt.Unit

- Packages that use Unit
  Package | Description
  --- | ---
  com.jnape.palatable.lambda.adt |
  com.jnape.palatable.lambda.functions |
  com.jnape.palatable.lambda.functor.builtin |
  com.jnape.palatable.lambda.io |
  com.jnape.palatable.lambda.monad.transformer.builtin |
  com.jnape.palatable.lambda.monoid.builtin |
  com.jnape.palatable.lambda.optics.prisms |

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

    Fields in com.jnape.palatable.lambda.adt declared as Unit
    Modifier and Type | Field and Description
    --- | ---
    `static Unit` | Unit.`UNIT` The singleton instance.

    Methods in com.jnape.palatable.lambda.adt that return types with arguments of type Unit
    Modifier and Type | Method and Description
    --- | ---
    `<B> Choice3<Unit,A,B>` | Maybe.`diverge()` Diverge this coproduct by introducing another possible type that it could represent.
    `Choice2<A,Unit>` | Maybe.`invert()` Swap the type parameters.
    `Tuple2<Maybe<Unit>,Maybe<A>>` | Maybe.`project()` Project this coproduct onto a product, such that the index in the product that corresponds to this coproduct's value is present, while the other indices are absent.
    `static Either<Throwable,Unit>` | Either.`trying(SideEffect sideEffect)` Attempt to execute the `SideEffect`, returning `Unit` in a right value.
    `static Try<Unit>` | Try.`trying(SideEffect sideEffect)` Execute `runnable`, returning a success `Unit` or a failure of the thrown `Throwable`.
    `static <L> Either<L,Unit>` | Either.`trying(SideEffect sideEffect, Fn1<? super Throwable,? extends L> leftFn)` Attempt to execute the `SideEffect`, returning `Unit` in a right value.

    Methods in com.jnape.palatable.lambda.adt with parameters of type Unit
    Modifier and Type | Method and Description
    --- | ---
    `Maybe<A>` | Maybe.`throwError(Unit unit)` Throw an error value of type `E` into the `monad`.

    Method parameters in com.jnape.palatable.lambda.adt with type arguments of type Unit
    Modifier and Type | Method and Description
    --- | ---
    `Maybe<A>` | Maybe.`catchError(Fn1<? super Unit,? extends Monad<A,Maybe<?>>> recoveryFn)` Catch any `thrown` errors inside the `Monad` and resume normal operations.

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

    Methods in com.jnape.palatable.lambda.functions that return types with arguments of type Unit
    Modifier and Type | Method and Description
    --- | ---
    `default IO<Unit>` | Effect.`apply(A a)` Invoke this function explosively with the given argument.
    `IO<Unit>` | Effect.`checkedApply(A a)`

    Methods in com.jnape.palatable.lambda.functions with parameters of type Unit
    Modifier and Type | Method and Description
    --- | ---
    `default A` | Fn0.`checkedApply(Unit unit)` Invoke this function with the given argument, potentially throwing any `Throwable`.

    Method parameters in com.jnape.palatable.lambda.functions with type arguments of type Unit
    Modifier and Type | Method and Description
    --- | ---
    `default <B> Fn0<B>` | Fn0.`discardL(Applicative<B,Fn1<Unit,?>> appB)`
    `default <B> Fn0<A>` | Fn0.`discardR(Applicative<B,Fn1<Unit,?>> appB)`
    `default <B> Fn0<B>` | Fn0.`flatMap(Fn1<? super A,? extends Monad<B,Fn1<Unit,?>>> f)`
    `static <A> Fn0<A>` | Fn0.`fn0(Fn1<Unit,A> fn)` Static factory method for adapting an ``Fn1`<Unit, A>` to an ``Fn0`<A>`.
    `default <B> Fn0<B>` | Fn0.`zip(Applicative<Fn1<? super A,? extends B>,Fn1<Unit,?>> appFn)`
    `default <B> Fn0<B>` | Fn0.`zip(Fn2<Unit,A,B> appFn)`

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

    Methods in com.jnape.palatable.lambda.functor.builtin that return types with arguments of type Unit
    Modifier and Type | Method and Description
    --- | ---
    `static <S> State<S,Unit>` | State.`modify(Fn1<? super S,? extends S> fn)` Create a `State` that maps its initial state into its final state, returning a `Unit` result type.
    `static <S> State<S,Unit>` | State.`put(S s)` Create a `State` that ignores its initial state, returning a `Unit` result and `s` as its final state.
    `static <W> Writer<W,Unit>` | Writer.`tell(W w)` Construct a `Writer` from an accumulation.

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

    Methods in com.jnape.palatable.lambda.io that return types with arguments of type Unit
    Modifier and Type | Method and Description
    --- | ---
    `static IO<Unit>` | IO.`io(SideEffect sideEffect)` Static factory method for creating an `IO` that runs a `SideEffect` and returns `Unit`.

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

    Methods in com.jnape.palatable.lambda.monad.transformer.builtin that return types with arguments of type Unit
    Modifier and Type | Method and Description
    --- | ---
    `static <S,M extends MonadRec<?,M>> StateT<S,M,Unit>` | StateT.`modify(Fn1<? super S,? extends MonadRec<S,M>> updateFn)` Lift a function that makes a stateful modification inside an `Monad` into `StateT`.
    `static <S,M extends MonadRec<?,M>> StateT<S,M,Unit>` | StateT.`put(MonadRec<S,M> ms)` Lift a `monadic state` into `StateT`.
    `static <W,M extends MonadRec<?,M>> WriterT<W,M,Unit>` | WriterT.`tell(MonadRec<W,M> mw)` Lift an accumulation embedded in a `Monad` into a `WriterT`.

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

    Methods in com.jnape.palatable.lambda.monoid.builtin that return Unit
    Modifier and Type | Method and Description
    --- | ---
    `Unit` | Trivial.`checkedApply(Unit x, Unit y)`
    `Unit` | Trivial.`identity()`
    `static Unit` | Trivial.`trivial(Unit x, Unit y)`

    Methods in com.jnape.palatable.lambda.monoid.builtin that return types with arguments of type Unit
    Modifier and Type | Method and Description
    --- | ---
    `static Fn1<Unit,Unit>` | Trivial.`trivial(Unit x)`
    `static Fn1<Unit,Unit>` | Trivial.`trivial(Unit x)`

    Methods in com.jnape.palatable.lambda.monoid.builtin with parameters of type Unit
    Modifier and Type | Method and Description
    --- | ---
    `Unit` | Trivial.`checkedApply(Unit x, Unit y)`
    `static Fn1<Unit,Unit>` | Trivial.`trivial(Unit x)`
    `static Unit` | Trivial.`trivial(Unit x, Unit y)`

  - ### Uses of Unit in com.jnape.palatable.lambda.optics.prisms

    Methods in com.jnape.palatable.lambda.optics.prisms that return types with arguments of type Unit
    Modifier and Type | Method and Description
    --- | ---
    `static <A> Prism.Simple<Maybe<A>,Unit>` | MaybePrism.`_nothing()` A `Prism` that focuses on absent values in a `Maybe`, for symmetry.