# Hierarchy For Package com.jnape.palatable.lambda.adt.hmap

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - com.jnape.palatable.lambda.adt.hmap.HMap (implements java.lang.Iterable<T>)

## Interface Hierarchy

- com.jnape.palatable.lambda.functor.Contravariant<A,C>
  - com.jnape.palatable.lambda.functor.Profunctor<A,B,PF>
    - com.jnape.palatable.lambda.optics.Iso<S,T,A,B> (also extends com.jnape.palatable.lambda.monad.MonadRec<A,M>, com.jnape.palatable.lambda.optics.Optic<P,F,S,T,A,B>)
      - com.jnape.palatable.lambda.optics.Iso.Simple<S,A> (also extends com.jnape.palatable.lambda.optics.Optic.Simple<P,F,S,A>)
        - com.jnape.palatable.lambda.adt.hmap.TypeSafeKey<A,B>
          - com.jnape.palatable.lambda.adt.hmap.TypeSafeKey.Simple<A>
    - com.jnape.palatable.lambda.optics.Lens<S,T,A,B> (also extends com.jnape.palatable.lambda.monad.MonadRec<A,M>, com.jnape.palatable.lambda.optics.Optic<P,F,S,T,A,B>)
      - com.jnape.palatable.lambda.optics.Lens.Simple<S,A> (also extends com.jnape.palatable.lambda.optics.Optic.Simple<P,F,S,A>)
        - com.jnape.palatable.lambda.adt.hmap.Schema<Values>
- 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.MonadRec<A,M>
        - com.jnape.palatable.lambda.optics.Iso<S,T,A,B> (also extends com.jnape.palatable.lambda.optics.Optic<P,F,S,T,A,B>, com.jnape.palatable.lambda.functor.Profunctor<A,B,PF>)
          - com.jnape.palatable.lambda.optics.Iso.Simple<S,A> (also extends com.jnape.palatable.lambda.optics.Optic.Simple<P,F,S,A>)
            - com.jnape.palatable.lambda.adt.hmap.TypeSafeKey<A,B>
              - com.jnape.palatable.lambda.adt.hmap.TypeSafeKey.Simple<A>
        - com.jnape.palatable.lambda.optics.Lens<S,T,A,B> (also extends com.jnape.palatable.lambda.optics.Optic<P,F,S,T,A,B>, com.jnape.palatable.lambda.functor.Profunctor<A,B,PF>)
          - com.jnape.palatable.lambda.optics.Lens.Simple<S,A> (also extends com.jnape.palatable.lambda.optics.Optic.Simple<P,F,S,A>)
            - com.jnape.palatable.lambda.adt.hmap.Schema<Values>
- com.jnape.palatable.lambda.optics.Optic<P,F,S,T,A,B>
  - com.jnape.palatable.lambda.optics.Iso<S,T,A,B> (also extends com.jnape.palatable.lambda.monad.MonadRec<A,M>, com.jnape.palatable.lambda.functor.Profunctor<A,B,PF>)
    - com.jnape.palatable.lambda.optics.Iso.Simple<S,A> (also extends com.jnape.palatable.lambda.optics.Optic.Simple<P,F,S,A>)
      - com.jnape.palatable.lambda.adt.hmap.TypeSafeKey<A,B>
        - com.jnape.palatable.lambda.adt.hmap.TypeSafeKey.Simple<A>
  - com.jnape.palatable.lambda.optics.Lens<S,T,A,B> (also extends com.jnape.palatable.lambda.monad.MonadRec<A,M>, com.jnape.palatable.lambda.functor.Profunctor<A,B,PF>)
    - com.jnape.palatable.lambda.optics.Lens.Simple<S,A> (also extends com.jnape.palatable.lambda.optics.Optic.Simple<P,F,S,A>)
      - com.jnape.palatable.lambda.adt.hmap.Schema<Values>
  - com.jnape.palatable.lambda.optics.Optic.Simple<P,F,S,A>
    - com.jnape.palatable.lambda.optics.Iso.Simple<S,A> (also extends com.jnape.palatable.lambda.optics.Iso<S,T,A,B>)
      - com.jnape.palatable.lambda.adt.hmap.TypeSafeKey<A,B>
        - com.jnape.palatable.lambda.adt.hmap.TypeSafeKey.Simple<A>
    - com.jnape.palatable.lambda.optics.Lens.Simple<S,A> (also extends com.jnape.palatable.lambda.optics.Lens<S,T,A,B>)
      - com.jnape.palatable.lambda.adt.hmap.Schema<Values>