These are a collection of internal objects that represent
standard data types used by LLVM. These are different
types of integers and real numbers, pointers, etc.
We use these to specify types for return values, parameters,
and different inputs to instructions.