Updated iterator proposal. It was supposed to just go into a bit more detail about ranges, but ended up being a complete rewrite.