Please note: consume did more than just consume characters: when given a string, it would also check the consumed string and throw an `UnexpectedTokenException` if it doesn’t match. `consumeByte` needs to do this as well in order for strict parsing to work. Also passing the byte to consume (instead of writing a comment) is a nice way to create self-documenting code, even if it didn’t do anything.