Today I learned a fancy term for something I've been doing since 2008. Memoization: the process of saving the output to f(n) to a hashmap (dictionary), in order to save time and reduce calls on the stack the next time the function is called with the same argument