The ast.type submodule defines the (abstract) types that can be specified in a program. Note that these are different than type nodes, which represent actual syntactic elements in the program. The types are generated by processing and interpreting the type nodes. Two different type nodes may specify the same type (for example, int).