The following patchset adjusts various files for adherence to the irange API. There are no functional changes. The changes are mostly obvious and will be pushed pending tests.
No effort was made to improve the existing code. That is, I didn't bend over backwards to convert the code to multi-ranges unless it was trivial. There are still plenty of uses of min(), max(), kind(), etc. I will be converting those as time permits, but I make no promises that I'll be able to get to all of them. Aldy