Corrected off by one errors.

Was originally thinking that End points would not really be points,
but rather sentinels. This was a bit too counter-intuitive, and I've now
changed this.