static IntRange parseHexRange(S s) { LS parts = splitAtMinus(s); int start = hexToInt(first(parts)); if (empty(parts)) null; else if (l(parts) == 1) ret intRange_incl(start, start); else if (l(parts) == 2) { int end = hexToInt(second(parts)); ret intRange_incl(start, end); } else fail("Too many minuses"); }