static TimestampRange joinTimestampRanges(TimestampRange a, TimestampRange b) { if (a == null) ret b; if (b == null) ret a; ret TimestampRange(min(a.start, b.start), max(a.end, b.end)); } static TimestampRange joinTimestampRanges(Iterable l) { ret fold joinTimestampRanges(l); }