Eval monad , 1000 Sparks sudoku solver