Recursion
Inside a function declaration, we can refer to the function itself using the
self keyword. This allows us to write recursive functions. A recursive
function to calculate the fibonacci numbers can be written using the func keyword and a match block for handling the anchor cases.