AST definitions for types and expressions.