While working on #14 I discovered that not only was there a larger than
expected number of repairs being performed, but also that there seemed
to be one repair for every token where the start point was larger than
the endpoint.  This led me to refactor the entire sub-range generation
process.