https://learn-functional-programming.com/chapters/4.5-memoization/
4.5 - Memoization