variables and types