[Haskell-beginners] suggestions for optimizing sudoku solver