Tracking the line/column of each token takes a surprising big part of the command parsing logic runtime and is only necessary when we hit an error.