# Uses of Package
com.jnape.palatable.lambda.functions.recursion

- Packages that use com.jnape.palatable.lambda.functions.recursion
  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.functor.builtin |
  com.jnape.palatable.lambda.internal.iteration |
  com.jnape.palatable.lambda.io |
  com.jnape.palatable.lambda.monad |
  com.jnape.palatable.lambda.monad.transformer.builtin |
  com.jnape.palatable.lambda.optics |
  com.jnape.palatable.lambda.traversable |

- Classes in com.jnape.palatable.lambda.functions.recursion used by com.jnape.palatable.lambda.adt
  Class and Description
  RecursiveResult Specialized `CoProduct2` representing the possible results of a primitive recursive function.

- Classes in com.jnape.palatable.lambda.functions.recursion used by com.jnape.palatable.lambda.adt.choice
  Class and Description
  RecursiveResult Specialized `CoProduct2` representing the possible results of a primitive recursive function.

- Classes in com.jnape.palatable.lambda.functions.recursion used by com.jnape.palatable.lambda.adt.hlist
  Class and Description
  RecursiveResult Specialized `CoProduct2` representing the possible results of a primitive recursive function.

- Classes in com.jnape.palatable.lambda.functions.recursion used by com.jnape.palatable.lambda.functions
  Class and Description
  RecursiveResult Specialized `CoProduct2` representing the possible results of a primitive recursive function.

- Classes in com.jnape.palatable.lambda.functions.recursion used by com.jnape.palatable.lambda.functions.recursion
  Class and Description
  RecursiveResult Specialized `CoProduct2` representing the possible results of a primitive recursive function.
  Trampoline Given an ``Fn1`<A, `CoProduct2`<A, B, ?>>` (analogous to "recurse" and "return" tail position instructions, respectively), produce a ``Fn1`<A, B>` that unrolls the original function by iteratively passing each result that matches the input (`A`) back to the original function, and then terminating on and returning the first output (`B`).

- Classes in com.jnape.palatable.lambda.functions.recursion used by com.jnape.palatable.lambda.functor.builtin
  Class and Description
  RecursiveResult Specialized `CoProduct2` representing the possible results of a primitive recursive function.

- Classes in com.jnape.palatable.lambda.functions.recursion used by com.jnape.palatable.lambda.internal.iteration
  Class and Description
  RecursiveResult Specialized `CoProduct2` representing the possible results of a primitive recursive function.

- Classes in com.jnape.palatable.lambda.functions.recursion used by com.jnape.palatable.lambda.io
  Class and Description
  RecursiveResult Specialized `CoProduct2` representing the possible results of a primitive recursive function.

- Classes in com.jnape.palatable.lambda.functions.recursion used by com.jnape.palatable.lambda.monad
  Class and Description
  RecursiveResult Specialized `CoProduct2` representing the possible results of a primitive recursive function.

- Classes in com.jnape.palatable.lambda.functions.recursion used by com.jnape.palatable.lambda.monad.transformer.builtin
  Class and Description
  RecursiveResult Specialized `CoProduct2` representing the possible results of a primitive recursive function.

- Classes in com.jnape.palatable.lambda.functions.recursion used by com.jnape.palatable.lambda.optics
  Class and Description
  RecursiveResult Specialized `CoProduct2` representing the possible results of a primitive recursive function.

- Classes in com.jnape.palatable.lambda.functions.recursion used by com.jnape.palatable.lambda.traversable
  Class and Description
  RecursiveResult Specialized `CoProduct2` representing the possible results of a primitive recursive function.