Main data types representing Types
Constructing and deconstructing types
Common type constructors
Predicates on types
Main data types representing Kinds
Finding the kind of a type
Common Kinds and SuperKinds
Common Kind type constructors
Type free variables
Type comparison
Forcing evaluation of types
Other views onto Types
Type representation for the code generator
Main type substitution data types
Manipulating type substitutions
Performing substitution on types and kinds
Pretty-printing
Tidying type related things up for printing