Defining and calling simple functions
Defining a function with an arbitrary number of arguments
Lambda Inline, Anonymous Functions
Defining a function with optional arguments
Defining a function with optional mutable arguments
Argument passing and mutability
Returning values from functions
Forcing the use of named parameters
Defining a function with arguments
Recursive Lambda using assigned variable