## Uses of Interface
com.jnape.palatable.lambda.monad.transformer.MonadT

- Packages that use MonadT
  Package | Description
  --- | ---
  com.jnape.palatable.lambda.monad |
  com.jnape.palatable.lambda.monad.transformer |
  com.jnape.palatable.lambda.monad.transformer.builtin |

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

    Classes in com.jnape.palatable.lambda.monad that implement MonadT
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SafeT<M extends MonadRec<?,M>,A>` A stack-safe `monad transformer` that can safely interpret deeply nested left- or right-associated binds for any `MonadRec`.

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

    Classes in com.jnape.palatable.lambda.monad.transformer with type parameters of type MonadT
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `MonadT<M extends MonadRec<?,M>,A,MT extends MonadT<M,?,MT,T>,T extends MonadT<?,?,?,T>>` The generic type representing a `Monad` transformer, exposing the argument `Monad` as a type parameter.
    `interface` | `MonadT<M extends MonadRec<?,M>,A,MT extends MonadT<M,?,MT,T>,T extends MonadT<?,?,?,T>>` The generic type representing a `Monad` transformer, exposing the argument `Monad` as a type parameter.

    Methods in com.jnape.palatable.lambda.monad.transformer that return MonadT
    Modifier and Type | Method and Description
    --- | ---
    `default <B> MonadT<M,B,MT,T>` | MonadT.`discardL(Applicative<B,MT> appB)` Sequence both this `Applicative` and `appB`, discarding this `Applicative's` result and returning `appB`.
    `default <B> MonadT<M,A,MT,T>` | MonadT.`discardR(Applicative<B,MT> appB)` Sequence both this `Applicative` and `appB`, discarding `appB's` result and returning this `Applicative`.
    `<B> MonadT<M,B,MT,T>` | MonadT.`flatMap(Fn1<? super A,? extends Monad<B,MT>> f)` Chain dependent computations that may continue or short-circuit based on previous results.
    `default <B> MonadT<M,B,MT,T>` | MonadT.`fmap(Fn1<? super A,? extends B> fn)` Covariantly transmute this functor's parameter using the given mapping function.
    `<B,N extends MonadRec<?,N>> MonadT<N,B,?,T>` | MonadT.`lift(MonadRec<B,N> mb)` Lift a new argument `MonadRec` into this `MonadBase`.
    `<B> MonadT<M,B,MT,T>` | MonadT.`pure(B b)` Lift the value `b` into this applicative functor.
    `default <B> MonadT<M,B,MT,T>` | MonadT.`zip(Applicative<Fn1<? super A,? extends B>,MT> 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.monad.transformer that return types with arguments of type MonadT
    Modifier and Type | Method and Description
    --- | ---
    `default <B> Lazy<? extends MonadT<M,B,MT,T>>` | MonadT.`lazyZip(Lazy<? extends Applicative<Fn1<? super A,? extends B>,MT>> 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.

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

    Classes in com.jnape.palatable.lambda.monad.transformer.builtin that implement MonadT
    Modifier and Type | Class and Description
    --- | ---
    `class` | `EitherT<M extends MonadRec<?,M>,L,R>` A `monad transformer` for `Either`.
    `class` | `IdentityT<M extends MonadRec<?,M>,A>` A `monad transformer` for `Identity`.
    `class` | `LazyT<M extends MonadRec<?,M>,A>` A `monad transformer` for `Lazy`.
    `class` | `MaybeT<M extends MonadRec<?,M>,A>` A `monad transformer` for `Maybe`.
    `class` | `ReaderT<R,M extends MonadRec<?,M>,A>` A `monad transformer` for any `function` from some type `R` to some `monadic` embedding ``MonadRec`<A, M>`.
    `class` | `StateT<S,M extends MonadRec<?,M>,A>` The `State` `monad transformer`.
    `class` | `WriterT<W,M extends MonadRec<?,M>,A>` A `monad transformer` for `Writer`.