Type signature
A type signature declares what type a variable has. It consists of a variable name, a colon, and a type on one line together. For example,
x : Z
is a type signature declaring the variable x to have type Z.
Every definition must have a type signature that comes before it.