# Package com.jnape.palatable.lambda.functions.builtin.fn1

- Class Summary
  Class | Description
  --- | ---
  CatMaybes<A> | Given an ``Iterable`<`Maybe`<A>>`, return an ``Iterable`<A>` of only the present values.
  Coalesce<L,R> | Fold an ``Iterable`<`Either`<L, R>>` into an ``Either`<`Iterable`<L>, `Iterable`<R>>`, preserving all results of the side that's returned.
  Constantly<A,B> | A function that takes two arguments and always returns the first argument.
  Cycle<A> | Given an `Iterable`, return an infinite `Iterable` that repeatedly cycles its elements, in order.
  Distinct<A> | Return an `Iterable` of the distinct values from the given input `Iterable`.
  Downcast<A extends B,B> | Covariantly cast a value of type `B` to a value of subtype `A`.
  Empty<A> | A predicate that returns true if `as` is empty; false otherwise.
  Flatten<A> | Given a nested `Iterable` of `Iterable`s, return a lazily flattening `Iterable` of the nested elements.
  Force<A> | Deprecated in favor of `traversing` into an `IO` and running it
  Head<A> | Retrieve the head element of an `Iterable`, wrapped in an `Maybe`.
  Id<A> | The identity function.
  Init<A> | Given an ``Iterable`<A>`, produce an ``Iterable`<A>` of all elements but the last one.
  Inits<A> | Given an ``Iterable`<A>`, produce an ``Iterable`<`Iterable`<A>>`, representing all of the subsequences of initial elements, ordered by size, starting with the empty `Iterable`.
  Last<A> | Retrieve the last element of an `Iterable`, wrapped in a `Maybe`.
  Magnetize<A> | `Magnetize` an `Iterable` using value equality as the magnetizing function.
  Not<A> | Negate a predicate function.
  Occurrences<A> | Given an ``Iterable`<A>`, return a ``Map`<A, Long>` representing each unique element in the `Iterable` paired with its number of occurrences.
  Repeat<A> | Given a value, return an infinite `Iterable` that repeatedly iterates that value.
  Reverse<A> | Given an `Iterable`, return a reversed representation of that `Iterable`.
  Size |
  Sort<A extends Comparable<A>> | Given an `Iterable` of `Comparable` elements, return a `List` of the sorted elements.
  Tail<A> | Returns the tail of an `Iterable`; the is, an `Iterable` of all the elements except for the head element.
  Tails<A> | Given an ``Iterable`<A>`, produce an ``Iterable`<`Iterable`<A>>`, representing all of the subsequences of tail elements, ordered by size, starting with the full `Iterable`.
  Uncons<A> | Destructure an `Iterable` into a `Tuple2` of its head and tail, wrapped in an `Maybe`.
  Upcast<A extends B,B> | Upcast a value of type `B` to a value of type `A` that `B` extends.