int hashCode(const IntRange& r) { return hashCode(r.min(), r.max()); }
bool operator <(const IntRange& r1, const IntRange& r2) { return r1.min() < r2.min() || (r1.min() == r2.min() && r1.max() < r2.max()); }
bool operator ==(const IntRange& r1, const IntRange& r2) { return r1.min() == r2.min() && r1.max() == r2.max(); }