Readonly charA super set of the first character.
We can usually only guarantee a super set because lookaround in the pattern may narrow down the actual character set.
Readonly emptyIf true, then the first character also includes the empty word.
Readonly exactIf true, then char is guaranteed to be exactly the first character and not just a super set of it.
This is equivalent to a regex fragment
[char].See
FirstConsumedChar