more annotations
explicit error for invalid thermometer
parsing shim for thermo sudoku
Positive test for thermo sudoku parsing.
Two (commented) broken thermo-sudoku tests.
Provide values :: Grid s a -> [(p, a)]

This supplements clues, useful when the grid has an
incomplete map instead of a map to maybe. That distinction
needs to be made clear somehow.
A shape now knows its neighbour property.
newtype for parsing letters.
drawIntClues variant for "full maps"
Relax type signatures, sudoku grid doesn't depend on contents.
Split listlist conversion out of rect grid conversion.
partitionEithers for Data.Map
Proper thermo sudoku parser.

Now fails to parse for invalid thermometers.

As collateral, the int clue grid is now an int grid
with an incomplete map...

Tests now pass.