Draft solution to problem 92
Move local functions to top-level in problem 92
Optimize function in ProjectEuler module
Optimize solution to problem 92 by using the State monad