Function Type - Func<ARGS..., RET>
The function type is a special type that represents a function. It is used to define functions and to call functions by storing them in variables.
Generic Arguments
ARGS...
An exhaustive list of arguments that the function takes. This may be empty if the function does not take any arguments.
This list takes in each element except the last one.
RET
The return type of the function. This may be void
if the function does not return
anything.