Recursion

We can now create recursive functions like factorial. Recursive functions have to be defined inside a letrec so that they can reference themselves. This is a recursive version of factorial