anonymous function
corrected keyword
formatting
recursion in let