A backtracking sudoku solver in Haskell