then, front could return null (or whatever flag value) when the condition is not fulfilled, in which case the range does not move forward at all.
LexemeStream cannot just shrink its internal array when matching.