Syntax
Typedefs are very simple. They are composed of the inherited type, and an optional default value.
Semantics
A type section assigns a name to a type specifier, and gives it module scope. The type definition's name can be used in a type specifier. For example, if a type were to be defined called Bird, a new variable of that type could be defined with the syntax varName:Bird.