The programmer may define subroutines and functions. The name of a function may appear in a type declaration statement to indicate the type of its result.
Functions are used inside of expressions, and are called whenever used.
There are also a number of special type-declaration statements to describe characteristics peculiar to functions and which appear in the calling program.