Memoisation can save you a ton of performance cost. Even though recursion is a really col technique, usually it's actually faster to do things with loops. We wrote the book for intermediate to advance pyphon programmes. So it's really not appropriate for people who are just learning pyphon for the first time.