## Uses of Interface
com.jnape.palatable.lambda.optics.Optic.Simple

- Packages that use Optic.Simple
  Package | Description
  --- | ---
  com.jnape.palatable.lambda.adt.hmap |
  com.jnape.palatable.lambda.optics |

- - ### Uses of Optic.Simple in com.jnape.palatable.lambda.adt.hmap

    Subinterfaces of Optic.Simple in com.jnape.palatable.lambda.adt.hmap
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Schema<Values extends HList>` A lens that focuses on the `heterogeneous list` of values pointed at by one or more `typesafe keys` that must all exist in the same `HMap` to be collectively extracted.
    `interface` | `TypeSafeKey<A,B>` An interface representing a parametrized key for use in `HMap`s.
    `static interface` | `TypeSafeKey.Simple<A>` A simplified `TypeSafeKey` that can only view a value of type `A` as an `A`.

  - ### Uses of Optic.Simple in com.jnape.palatable.lambda.optics

    Subinterfaces of Optic.Simple in com.jnape.palatable.lambda.optics
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `Iso.Simple<S,A>` A convenience type with a simplified type signature for common isos with both unified "larger" values and unified "smaller" values.
    `static interface` | `Lens.Simple<S,A>` A convenience type with a simplified type signature for common lenses with both unified "larger" values and unified "smaller" values.

    Methods in com.jnape.palatable.lambda.optics that return Optic.Simple
    Modifier and Type | Method and Description
    --- | ---
    `static <P extends Profunctor<?,?,? extends P>,F extends Functor<?,? extends F>,S,A> Optic.Simple<P,F,S,A>` | Optic.Simple.`adapt(Optic<? super P,? super F,S,S,A,A> optic)` Adapt an `Optic` with S/T and A/B unified into a `simple optic`.
    `default <B> Optic.Simple<P,F,S,B>` | Optic.Simple.`andThen(Optic.Simple<? super P,? super F,A,B> f)` Compose two simple optics from left to right.
    `default <R> Optic.Simple<P,F,R,A>` | Optic.Simple.`compose(Optic.Simple<? super P,? super F,R,S> g)` Compose two simple optics from right to left.

    Methods in com.jnape.palatable.lambda.optics with parameters of type Optic.Simple
    Modifier and Type | Method and Description
    --- | ---
    `default <B> Lens.Simple<S,B>` | Lens.Simple.`andThen(Optic.Simple<? super Cartesian<?,?,?>,? super Functor<?,?>,A,B> f)` Compose two simple optics from left to right.
    `default <B> Optic.Simple<P,F,S,B>` | Optic.Simple.`andThen(Optic.Simple<? super P,? super F,A,B> f)` Compose two simple optics from left to right.
    `default <B> Iso.Simple<S,B>` | Iso.Simple.`andThen(Optic.Simple<? super Profunctor<?,?,?>,? super Functor<?,?>,A,B> f)` Compose two simple optics from left to right.
    `default <R> Lens.Simple<R,A>` | Lens.Simple.`compose(Optic.Simple<? super Cartesian<?,?,?>,? super Functor<?,?>,R,S> g)` Compose two simple optics from right to left.
    `default <R> Optic.Simple<P,F,R,A>` | Optic.Simple.`compose(Optic.Simple<? super P,? super F,R,S> g)` Compose two simple optics from right to left.
    `default <R> Iso.Simple<R,A>` | Iso.Simple.`compose(Optic.Simple<? super Profunctor<?,?,?>,? super Functor<?,?>,R,S> g)` Compose two simple optics from right to left.