Project Euler solutions implemented in Haskell