Solving Project Euler in Haskell, One at a Time