Types

Primitives

Product types

Disjoint unions