com.jnape.palatable.lambda.monoid.builtin

## Class Collapse<_1,_2>

- java.lang.Object
- - com.jnape.palatable.lambda.monoid.builtin.Collapse<_1,_2>

- Type Parameters:
    `_1` - the first slot parameter type
    `_2` - the second slot parameter type
  All Implemented Interfaces:
    Fn1<Monoid<_1>,Fn1<Monoid<_2>,Fn1<Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>>>, Fn2<Monoid<_1>,Monoid<_2>,Fn1<Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>>, Fn3<Monoid<_1>,Monoid<_2>,Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>, Fn4<Monoid<_1>,Monoid<_2>,Tuple2<_1,_2>,Tuple2<_1,_2>,Tuple2<_1,_2>>, BiMonoidFactory<Monoid<_1>,Monoid<_2>,Tuple2<_1,_2>>, BiSemigroupFactory<Monoid<_1>,Monoid<_2>,Tuple2<_1,_2>>, Applicative<Fn1<Monoid<_2>,Fn1<Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>>,Fn1<Monoid<_1>,?>>, Cartesian<Monoid<_1>,Fn1<Monoid<_2>,Fn1<Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>>,Fn1<?,?>>, Cocartesian<Monoid<_1>,Fn1<Monoid<_2>,Fn1<Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>>,Fn1<?,?>>, Contravariant<Monoid<_1>,Profunctor<?,Fn1<Monoid<_2>,Fn1<Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>>,Fn1<?,?>>>, Functor<Fn1<Monoid<_2>,Fn1<Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>>,Fn1<Monoid<_1>,?>>, Profunctor<Monoid<_1>,Fn1<Monoid<_2>,Fn1<Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>>,Fn1<?,?>>, Monad<Fn1<Monoid<_2>,Fn1<Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>>,Fn1<Monoid<_1>,?>>, MonadReader<Monoid<_1>,Fn1<Monoid<_2>,Fn1<Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>>,Fn1<Monoid<_1>,?>>, MonadRec<Fn1<Monoid<_2>,Fn1<Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>>,Fn1<Monoid<_1>,?>>, MonadWriter<Monoid<_1>,Fn1<Monoid<_2>,Fn1<Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>>,Fn1<Monoid<_1>,?>>

      public final class Collapse<_1,_2>
      extends Object
      implements BiMonoidFactory<Monoid<_1>,Monoid<_2>,Tuple2<_1,_2>>

  A `Monoid` instance formed by a ``Tuple2`<_1, _2>` and monoids over `_1` and `_2`. Successively collapses multiple `Tuple2`s into a single `Tuple2` by collapsing the values of each slot under the provided monoid instance.

  For the `Semigroup`, see `Collapse`.

  See Also:
    `Monoid`, `Tuple2`

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Monoid<Tuple2<_1,_2>>` | `checkedApply(Monoid<_1> _1Monoid, Monoid<_2> _2Monoid)`
    `static <_1,_2> Collapse<_1,_2>` | `collapse()`
    `static <_1,_2> MonoidFactory<Monoid<_2>,Tuple2<_1,_2>>` | `collapse(Monoid<_1> _1Monoid)`
    `static <_1,_2> Monoid<Tuple2<_1,_2>>` | `collapse(Monoid<_1> _1Monoid, Monoid<_2> _2Monoid)`
    `static <_1,_2> Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>` | `collapse(Monoid<_1> _1Monoid, Monoid<_2> _2Monoid, Tuple2<_1,_2> x)`
    `static <_1,_2> Tuple2<_1,_2>` | `collapse(Monoid<_1> _1Monoid, Monoid<_2> _2Monoid, Tuple2<_1,_2> x, Tuple2<_1,_2> y)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.jnape.palatable.lambda.functions.specialized.BiMonoidFactory

      `apply, apply, checkedApply, flip, uncurry`

    - ### Methods inherited from interface com.jnape.palatable.lambda.functions.specialized.BiSemigroupFactory

      `checkedApply`

    - ### Methods inherited from interface com.jnape.palatable.lambda.functions.Fn4

      `apply, apply, checkedApply, compose, contraMap, diMapL, discardR, fn4, fn4, fn4, fn4, widen`

    - ### Methods inherited from interface com.jnape.palatable.lambda.functions.Fn3

      `fn3, fn3, fn3`

    - ### Methods inherited from interface com.jnape.palatable.lambda.functions.Fn2

      `curried, curry, fn2, fromBiFunction, toBiFunction`

    - ### Methods inherited from interface com.jnape.palatable.lambda.functions.Fn1

      `andThen, carry, cartesian, censor, choose, cocartesian, diMap, diMapR, discardL, flatMap, fmap, fn1, fromFunction, lazyZip, listens, local, pure, pureFn1, thunk, toFunction, trampolineM, zip, zip`

    - ### Methods inherited from interface com.jnape.palatable.lambda.monad.Monad

      `join`

    - ### Methods inherited from interface com.jnape.palatable.lambda.functor.Functor

      `coerce`

- - ### Method Detail

    - #### checkedApply

          public Monoid<Tuple2<_1,_2>> checkedApply(Monoid<_1> _1Monoid,
                                                    Monoid<_2> _2Monoid)

      Description copied from interface: `Fn3`
      Specified by:
        `checkedApply` in interface `Fn2<Monoid<_1>,Monoid<_2>,Fn1<Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>>`
      Specified by:
        `checkedApply` in interface `Fn3<Monoid<_1>,Monoid<_2>,Tuple2<_1,_2>,Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>>>`
      Specified by:
        `checkedApply` in interface `BiMonoidFactory<Monoid<_1>,Monoid<_2>,Tuple2<_1,_2>>`
      Specified by:
        `checkedApply` in interface `BiSemigroupFactory<Monoid<_1>,Monoid<_2>,Tuple2<_1,_2>>`

    - #### collapse

          public static <_1,_2> Collapse<_1,_2> collapse()

    - #### collapse

          public static <_1,_2> MonoidFactory<Monoid<_2>,Tuple2<_1,_2>> collapse(Monoid<_1> _1Monoid)

    - #### collapse

          public static <_1,_2> Monoid<Tuple2<_1,_2>> collapse(Monoid<_1> _1Monoid,
                                                               Monoid<_2> _2Monoid)

    - #### collapse

          public static <_1,_2> Fn1<Tuple2<_1,_2>,Tuple2<_1,_2>> collapse(Monoid<_1> _1Monoid,
                                                                          Monoid<_2> _2Monoid,
                                                                          Tuple2<_1,_2> x)

    - #### collapse

          public static <_1,_2> Tuple2<_1,_2> collapse(Monoid<_1> _1Monoid,
                                                       Monoid<_2> _2Monoid,
                                                       Tuple2<_1,_2> x,
                                                       Tuple2<_1,_2> y)