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
Every definition must have a type signature that comes before it.