# Package com.jnape.palatable.lambda.semigroup.builtin

- Class Summary
  Class | Description
  --- | ---
  Absent<A> | A `Semigroup` instance formed by ``Maybe`<A>` and a semigroup over `A`.
  Collapse<_1,_2> | A `Semigroup` instance formed by a ``Tuple2`<_1, _2>` and semigroups over `_1` and `_2`.
  Compose<A> | A `Semigroup` instance formed by ``CompletableFuture`<A>` and a semigroup over `A`.
  Intersection<A> | Given two `Iterables` `xs` and `ys`, return the `distinct` elements of `xs` that are also in `ys` in order of their unique occurrence in `xs`.
  LeftAll<L,R> | A `Semigroup` instance formed by ``Either`<L,R>` and a semigroup over `L`.
  LeftAny<L,R> | A `Semigroup` instance formed by ``Either`<L,R>` and a semigroup over `L`.
  Max<A extends Comparable<A>> | A `Semigroup` over `A` that chooses between two values `x` and `y` via the following rules: If `x` is strictly less than `y`, return `y` Otherwise, return `x`
  MaxBy<A,B extends Comparable<B>> | Given a mapping function from some type `A` to some `Comparable` type `B`, produce a `Semigroup` over `A` that chooses between two values `x` and `y` via the following rules: If `x` is strictly less than `y` in terms of `B`, return `y` Otherwise, return `x`
  Merge<L,R> | A `Semigroup` instance formed by `Either.merge(com.jnape.palatable.lambda.functions.Fn2<? super L, ? super L, ? extends L>, com.jnape.palatable.lambda.functions.Fn2<? super R, ? super R, ? extends R>, com.jnape.palatable.lambda.adt.Either<L, R>...)` and semigroups over `L` and `R`.
  Min<A extends Comparable<A>> | A `Semigroup` over `A` that chooses between two values `x` and `y` via the following rules: If `x` is strictly greater than `y`, return `y` Otherwise, return `x`
  MinBy<A,B extends Comparable<B>> | Given a mapping function from some type `A` to some `Comparable` type `B`, produce a `Semigroup` over `A` that chooses between two values `x` and `y` via the following rules: If `x` is strictly greater than `y` in terms of `B`, return `y` Otherwise, return `x`
  RightAll<L,R> | A `Semigroup` instance formed by ``Either`<L,R>` and a semigroup over `R`.
  RightAny<L,R> | A `Semigroup` instance formed by ``Either`<L,R>` and a semigroup over `R`.
  RunAll<A> | Run `IO` operations, aggregating their results in terms of the provided `Semigroup`.