// can overwrite original object! static Range addToIntRange(IntRange r, int val) { if (r == null) ret new IntRange(val); if (r.min > r.max) r.min = r.max = val; else { if (val < r.min) r.min = val; if (val > r.max) r.max = val; } ret r; }