Generics.Deriving.Base

# Introduction

## Representing datatypes

## Derived and fundamental representation types

### Individual fields of constructors: `K1`

### Meta information: `M1`

### Additional generic representation type constructors

#### Empty datatypes: `V1`

#### Constructors without fields: `U1`

### Representation of types with many constructors or many fields

## Defining datatype-generic functions

### Definition of the generic representation types

### Generic instances

### The wrapper and generic default

### Omitting generic instances

## Generic constructor classes

### The `Generic1` class

### Representation of `* -> *` types

### Representation of unlifted types