Definitions within a let block now all share a scope upon evaluation.
In other words, recursive helper functions in let blocks! Woo!
Added a reverse function to show off the new and improved let stuff