Monadification, Memoization and Dynamic Programming by Simon Wimmer 🌐, Shuwei Hu 📧 and Tobias Nipkow 🌐 May 22