This seems very fragile, and in the medium-to-long run I'd like to disentangle the partitioner and the template compiler.

To me it seems there are two concerns:

* editing: the partitioner wants to include the `.` in the previous partition, as it is most likely followed by member selection.
* validation: the template compiler considers the source "ready" and tries to find errors

As a first step could we have a template compiler that's more or less the original one, and a partitioner-parser that subclasses the first one, with a different rule for `.`? In this way, there's no need to suppress errors in validation.