CONST interpretSets
... otherwise "{", ".", and enclosed integers will be returned individually.
There is an interesting ambiguity here, which I have deliberately avoided mentioning as I thought the discussion on scanning SETs was intense enough!.
What does the "otherwise" refer to: the presence of the option "interpretSets", or the presence of a "set as defined by the language".
With the second interpretation even the new scanning procedure
Set is not correct, and one could make an argument that it should be.
Rather than just setting the the type to invalid whenever the character "{" is found (and not part of a valid set) it should set the type to
char and rewind to that point.