## Uses of Class
com.jnape.palatable.lambda.adt.hlist.HList

- Packages that use HList
  Package | Description
  --- | ---
  com.jnape.palatable.lambda.adt.hlist |
  com.jnape.palatable.lambda.adt.hmap |
  com.jnape.palatable.lambda.optics.lenses |

- - ### Uses of HList in com.jnape.palatable.lambda.adt.hlist

    Classes in com.jnape.palatable.lambda.adt.hlist with type parameters of type HList
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `HList.HCons<Head,Tail extends HList>` The consing of a head element to a tail `HList`.

    Subclasses of HList in com.jnape.palatable.lambda.adt.hlist
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `HList.HCons<Head,Tail extends HList>` The consing of a head element to a tail `HList`.
    `static class` | `HList.HNil` The empty `HList`.
    `class` | `SingletonHList<_1>` A singleton HList.
    `class` | `Tuple2<_1,_2>` A 2-element tuple product type, implemented as a specialized HList.
    `class` | `Tuple3<_1,_2,_3>` A 3-element tuple product type, implemented as a specialized HList.
    `class` | `Tuple4<_1,_2,_3,_4>` A 4-element tuple product type, implemented as a specialized HList.
    `class` | `Tuple5<_1,_2,_3,_4,_5>` A 5-element tuple product type, implemented as a specialized HList.
    `class` | `Tuple6<_1,_2,_3,_4,_5,_6>` A 6-element tuple product type, implemented as a specialized HList.
    `class` | `Tuple7<_1,_2,_3,_4,_5,_6,_7>` A 7-element tuple product type, implemented as a specialized HList.
    `class` | `Tuple8<_1,_2,_3,_4,_5,_6,_7,_8>` An 8-element tuple product type, implemented as a specialized HList.

    Methods in com.jnape.palatable.lambda.adt.hlist with type parameters of type HList
    Modifier and Type | Method and Description
    --- | ---
    `static <Head,Tail extends HList> HList.HCons<Head,Tail>` | HList.`cons(Head head, Tail tail)` Static factory method for creating an HList from the given head and tail.

    Methods in com.jnape.palatable.lambda.adt.hlist that return types with arguments of type HList
    Modifier and Type | Method and Description
    --- | ---
    `abstract <NewHead> HList.HCons<NewHead,? extends HList>` | HList.`cons(NewHead newHead)` Cons an element onto the front of this HList.

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

    Classes in com.jnape.palatable.lambda.adt.hmap with type parameters of type HList
    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.

  - ### Uses of HList in com.jnape.palatable.lambda.optics.lenses

    Methods in com.jnape.palatable.lambda.optics.lenses with type parameters of type HList
    Modifier and Type | Method and Description
    --- | ---
    `static <Head,Tail extends HList> Lens.Simple<HList.HCons<Head,? extends Tail>,Head>` | HListLens.`head()` Focus on the head of an `HList`.
    `static <Head,Tail extends HList> Lens.Simple<HList.HCons<Head,? extends Tail>,Tail>` | HListLens.`tail()` Focus on the tail of an `HList`.