## Uses of Interface
com.jnape.palatable.lambda.functions.specialized.MonoidFactory

- Packages that use MonoidFactory
  Package | Description
  --- | ---
  com.jnape.palatable.lambda.functions.specialized |
  com.jnape.palatable.lambda.monoid.builtin |

- - ### Uses of MonoidFactory in com.jnape.palatable.lambda.functions.specialized

    Methods in com.jnape.palatable.lambda.functions.specialized that return MonoidFactory
    Modifier and Type | Method and Description
    --- | ---
    `default MonoidFactory<B,C>` | BiMonoidFactory.`apply(A a)`
    `default MonoidFactory<B,C>` | BiMonoidFactory.`checkedApply(A a)`
    `default MonoidFactory<? super Product2<? extends A,? extends B>,C>` | BiMonoidFactory.`uncurry()`

  - ### Uses of MonoidFactory in com.jnape.palatable.lambda.monoid.builtin

    Classes in com.jnape.palatable.lambda.monoid.builtin that implement MonoidFactory
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AddAll<A,C extends Collection<A>>` The `Monoid` instance formed under mutative concatenation for an arbitrary `Collection`.
    `class` | `Compose<A>` A `Monoid` instance formed by ``CompletableFuture`<A>` and a monoid over `A`.
    `class` | `EndoK<M extends MonadRec<?,M>,A,MA extends MonadRec<A,M>>` The monoid formed under monadic endomorphism.
    `class` | `LeftAll<L,R>` A `Monoid` instance formed by ``Either`<L,R>` and a monoid over `L`.
    `class` | `LeftAny<L,R>` A `Monoid` instance formed by ``Either`<L,R>` and a monoid over `L`.
    `class` | `Present<A>` A `Monoid` instance formed by ``Maybe`<A>` and a semigroup over `A`.
    `class` | `RightAll<L,R>` A `Monoid` instance formed by ``Either`<L,R>` and a monoid over `R`.
    `class` | `RightAny<L,R>` A `Monoid` instance formed by ``Either`<L,R>` and a monoid over `R`.
    `class` | `RunAll<A>` Run `IO` operations, aggregating their results in terms of the provided `Monoid`.

    Methods in com.jnape.palatable.lambda.monoid.builtin that return MonoidFactory
    Modifier and Type | Method and Description
    --- | ---
    `static <_1,_2> MonoidFactory<Monoid<_2>,Tuple2<_1,_2>>` | Collapse.`collapse(Monoid<_1> _1Monoid)`
    `static <L,R> MonoidFactory<Monoid<R>,Either<L,R>>` | Merge.`merge(Semigroup<L> lSemigroup)`
    `static <K,V> MonoidFactory<Semigroup<V>,Map<K,V>>` | MergeMaps.`mergeMaps(Fn0<Map<K,V>> mFn0)`