With one parameter
With multiple parameters
Without any return value
Function as a parameter
Void function as a parameter
Function as a return value
With multiple operators
Capture of variables
Modify captured variables
Currying
Recursion
Memoization