# Hierarchy For Package com.jnape.palatable.lambda.functions.specialized

Package Hierarchies:

- All Packages

## Interface Hierarchy

- com.jnape.palatable.lambda.functor.Contravariant<A,C>
  - com.jnape.palatable.lambda.functor.Profunctor<A,B,PF>
    - com.jnape.palatable.lambda.functor.Cartesian<A,B,P>
      - com.jnape.palatable.lambda.functions.Fn1<A,B> (also extends com.jnape.palatable.lambda.functor.Cocartesian<A,B,P>, com.jnape.palatable.lambda.monad.MonadReader<R,A,MR>, com.jnape.palatable.lambda.monad.MonadRec<A,M>, com.jnape.palatable.lambda.monad.MonadWriter<W,A,MW>)
        - com.jnape.palatable.lambda.functions.Fn2<A,B,C>
          - com.jnape.palatable.lambda.functions.specialized.BiPredicate<A,B>
          - com.jnape.palatable.lambda.functions.Fn3<A,B,C,D>
            - com.jnape.palatable.lambda.functions.Fn4<A,B,C,D,E>
              - com.jnape.palatable.lambda.functions.specialized.BiSemigroupFactory<A,B,C>
                - com.jnape.palatable.lambda.functions.specialized.BiMonoidFactory<A,B,C>
            - com.jnape.palatable.lambda.functions.specialized.SemigroupFactory<A,B>
              - com.jnape.palatable.lambda.functions.specialized.MonoidFactory<A,B>
        - com.jnape.palatable.lambda.functions.specialized.Kleisli<A,B,M,MB>
        - com.jnape.palatable.lambda.functions.specialized.Predicate<A>
    - com.jnape.palatable.lambda.functor.Cocartesian<A,B,P>
      - com.jnape.palatable.lambda.functions.Fn1<A,B> (also extends com.jnape.palatable.lambda.functor.Cartesian<A,B,P>, com.jnape.palatable.lambda.monad.MonadReader<R,A,MR>, com.jnape.palatable.lambda.monad.MonadRec<A,M>, com.jnape.palatable.lambda.monad.MonadWriter<W,A,MW>)
        - com.jnape.palatable.lambda.functions.Fn2<A,B,C>
          - com.jnape.palatable.lambda.functions.specialized.BiPredicate<A,B>
          - com.jnape.palatable.lambda.functions.Fn3<A,B,C,D>
            - com.jnape.palatable.lambda.functions.Fn4<A,B,C,D,E>
              - com.jnape.palatable.lambda.functions.specialized.BiSemigroupFactory<A,B,C>
                - com.jnape.palatable.lambda.functions.specialized.BiMonoidFactory<A,B,C>
            - com.jnape.palatable.lambda.functions.specialized.SemigroupFactory<A,B>
              - com.jnape.palatable.lambda.functions.specialized.MonoidFactory<A,B>
        - com.jnape.palatable.lambda.functions.specialized.Kleisli<A,B,M,MB>
        - com.jnape.palatable.lambda.functions.specialized.Predicate<A>
- com.jnape.palatable.lambda.functor.Functor<A,F>
  - com.jnape.palatable.lambda.functor.Applicative<A,App>
    - com.jnape.palatable.lambda.monad.Monad<A,M>
      - com.jnape.palatable.lambda.monad.MonadReader<R,A,MR>
        - com.jnape.palatable.lambda.functions.Fn1<A,B> (also extends com.jnape.palatable.lambda.functor.Cartesian<A,B,P>, com.jnape.palatable.lambda.functor.Cocartesian<A,B,P>, com.jnape.palatable.lambda.monad.MonadRec<A,M>, com.jnape.palatable.lambda.monad.MonadWriter<W,A,MW>)
          - com.jnape.palatable.lambda.functions.Fn2<A,B,C>
            - com.jnape.palatable.lambda.functions.specialized.BiPredicate<A,B>
            - com.jnape.palatable.lambda.functions.Fn3<A,B,C,D>
              - com.jnape.palatable.lambda.functions.Fn4<A,B,C,D,E>
                - com.jnape.palatable.lambda.functions.specialized.BiSemigroupFactory<A,B,C>
                  - com.jnape.palatable.lambda.functions.specialized.BiMonoidFactory<A,B,C>
              - com.jnape.palatable.lambda.functions.specialized.SemigroupFactory<A,B>
                - com.jnape.palatable.lambda.functions.specialized.MonoidFactory<A,B>
          - com.jnape.palatable.lambda.functions.specialized.Kleisli<A,B,M,MB>
          - com.jnape.palatable.lambda.functions.specialized.Predicate<A>
      - com.jnape.palatable.lambda.monad.MonadRec<A,M>
        - com.jnape.palatable.lambda.functions.Fn1<A,B> (also extends com.jnape.palatable.lambda.functor.Cartesian<A,B,P>, com.jnape.palatable.lambda.functor.Cocartesian<A,B,P>, com.jnape.palatable.lambda.monad.MonadReader<R,A,MR>, com.jnape.palatable.lambda.monad.MonadWriter<W,A,MW>)
          - com.jnape.palatable.lambda.functions.Fn2<A,B,C>
            - com.jnape.palatable.lambda.functions.specialized.BiPredicate<A,B>
            - com.jnape.palatable.lambda.functions.Fn3<A,B,C,D>
              - com.jnape.palatable.lambda.functions.Fn4<A,B,C,D,E>
                - com.jnape.palatable.lambda.functions.specialized.BiSemigroupFactory<A,B,C>
                  - com.jnape.palatable.lambda.functions.specialized.BiMonoidFactory<A,B,C>
              - com.jnape.palatable.lambda.functions.specialized.SemigroupFactory<A,B>
                - com.jnape.palatable.lambda.functions.specialized.MonoidFactory<A,B>
          - com.jnape.palatable.lambda.functions.specialized.Kleisli<A,B,M,MB>
          - com.jnape.palatable.lambda.functions.specialized.Predicate<A>
      - com.jnape.palatable.lambda.monad.MonadWriter<W,A,MW>
        - com.jnape.palatable.lambda.functions.Fn1<A,B> (also extends com.jnape.palatable.lambda.functor.Cartesian<A,B,P>, com.jnape.palatable.lambda.functor.Cocartesian<A,B,P>, com.jnape.palatable.lambda.monad.MonadReader<R,A,MR>, com.jnape.palatable.lambda.monad.MonadRec<A,M>)
          - com.jnape.palatable.lambda.functions.Fn2<A,B,C>
            - com.jnape.palatable.lambda.functions.specialized.BiPredicate<A,B>
            - com.jnape.palatable.lambda.functions.Fn3<A,B,C,D>
              - com.jnape.palatable.lambda.functions.Fn4<A,B,C,D,E>
                - com.jnape.palatable.lambda.functions.specialized.BiSemigroupFactory<A,B,C>
                  - com.jnape.palatable.lambda.functions.specialized.BiMonoidFactory<A,B,C>
              - com.jnape.palatable.lambda.functions.specialized.SemigroupFactory<A,B>
                - com.jnape.palatable.lambda.functions.specialized.MonoidFactory<A,B>
          - com.jnape.palatable.lambda.functions.specialized.Kleisli<A,B,M,MB>
          - com.jnape.palatable.lambda.functions.specialized.Predicate<A>
- com.jnape.palatable.lambda.functions.specialized.Lift<B>
- com.jnape.palatable.lambda.functions.specialized.Pure<F>
- com.jnape.palatable.lambda.functions.specialized.SideEffect