+ *
+ * - my technique for highlighting errors in the tent/tree matching
+ * is not perfect. It currently works by finding the connected
+ * components of the bipartite adjacency graph between tents and
+ * trees, and highlighting red all the tents in such a component
+ * if they outnumber the trees (the red meaning "these tents have
+ * too few trees between them") and vice versa if the trees
+ * outnumber the tents (but this time considering BLANKs as
+ * potential tents as yet unplaced, to avoid highlighting
+ * 'errors' from the word go before the player has actually made
+ * any mistake). However, something more subtle can go wrong
+ * within a component: consider, for instance, the setup
+ *
+ * T
+ * tTtT
+ * t
+ *
+ * in which there is one connected component containing equal
+ * numbers of trees and tents, but nonetheless there is no
+ * perfect matching that can link the two sensibly. This will be
+ * rejected by the rigorous solution checker, but the error
+ * highlighter won't currently spot it.