Throughout the term, we've gotten very familiar with recursion. We made use of it for Tour of Hanoï, binary trees, nested lists, etc. For simplicity's sake, a recursive function is simply a function that calls itself within its function definition. Recursive functions are useful when we have to work with nested objects. This concept of "calling the function within itself" is so fascinating because it allows us to solve problems on nested objects by writing code for the main problem and having the recursion work its magic by solving this same problem for all the nested objects on the smaller scale. Once I grasped this idea, with some tracing and practice, I began to seriously understand recursion, not only technically (writing code and all) but visually, the problems became so much easier to picture in my mind. With that, the labs are extremely helpful as usual and I'm looking forward to implementing more recursion in the course!