# Uses of Package
com.jnape.palatable.lambda.monad

- Packages that use com.jnape.palatable.lambda.monad
  Package | Description
  --- | ---
  com.jnape.palatable.lambda.adt |
  com.jnape.palatable.lambda.adt.choice |
  com.jnape.palatable.lambda.adt.hlist |
  com.jnape.palatable.lambda.adt.hmap |
  com.jnape.palatable.lambda.functions |
  com.jnape.palatable.lambda.functions.builtin.fn1 |
  com.jnape.palatable.lambda.functions.builtin.fn2 |
  com.jnape.palatable.lambda.functions.builtin.fn3 |
  com.jnape.palatable.lambda.functions.builtin.fn4 |
  com.jnape.palatable.lambda.functions.builtin.fn5 |
  com.jnape.palatable.lambda.functions.builtin.fn6 |
  com.jnape.palatable.lambda.functions.builtin.fn7 |
  com.jnape.palatable.lambda.functions.builtin.fn8 |
  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 |
  com.jnape.palatable.lambda.monad.transformer.builtin |
  com.jnape.palatable.lambda.monoid |
  com.jnape.palatable.lambda.monoid.builtin |
  com.jnape.palatable.lambda.optics |
  com.jnape.palatable.lambda.optics.functions |
  com.jnape.palatable.lambda.semigroup |
  com.jnape.palatable.lambda.semigroup.builtin |
  com.jnape.palatable.lambda.traversable |

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.adt
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadError An interface for `monads` that can be interrupted with some type of error.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.adt.choice
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.adt.hlist
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.adt.hmap
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.functions
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.functions.builtin.fn1
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.functions.builtin.fn2
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.functions.builtin.fn3
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.functions.builtin.fn4
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.functions.builtin.fn5
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.functions.builtin.fn6
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.functions.builtin.fn7
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.functions.builtin.fn8
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.functions.recursion
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.functions.specialized
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadBase A type into which a `MonadRec` is embedded whilst internally preserving the `MonadRec` structure.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.functor.builtin
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.io
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadError An interface for `monads` that can be interrupted with some type of error.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.monad
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadBase A type into which a `MonadRec` is embedded whilst internally preserving the `MonadRec` structure.
  MonadError An interface for `monads` that can be interrupted with some type of error.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.
  SafeT A stack-safe `monad transformer` that can safely interpret deeply nested left- or right-associated binds for any `MonadRec`.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.monad.transformer
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadBase A type into which a `MonadRec` is embedded whilst internally preserving the `MonadRec` structure.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.monad.transformer.builtin
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadBase A type into which a `MonadRec` is embedded whilst internally preserving the `MonadRec` structure.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.monoid
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.monoid.builtin
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.optics
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.optics.functions
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.semigroup
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.semigroup.builtin
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadReader A monad that is capable of reading an environment `R` and producing a lifted value `A`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.
  MonadWriter A `Monad` that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.

- Classes in com.jnape.palatable.lambda.monad used by com.jnape.palatable.lambda.traversable
  Class and Description
  Monad Monads are `Applicative` functors that support a flattening operation to unwrap `M<M<A>> -> M<A>`.
  MonadRec A class of `monads` that offer a stack-safe interface for performing arbitrarily many `flatmap-like` operations via `MonadRec.trampolineM(Fn1)`.