scanner.position() implies scanner.peek()

This ensures that we're always getting the position of what we're peeking
at, rather than what came before it.