Type Annotations
When declaring a constant or variable, an optional type annotation can be provided, to make it explicit what type the declaration has.
If no type annotation is provided, the type of the declaration is inferred from the initial value.
For function parameters a type annotation must be provided.
If a type annotation is provided, the initial value must be of this type. All new values assigned to variables must match its type. This type safety is explained in more detail in a separate section.