def merge(self, other):
newstart = min(self._start, other.start)<EOL>newend = max(self._end, other.end)<EOL>return Range(newstart, newend)<EOL>
Merge this range object with another (ranges need not overlap or abut).

:returns: a new Range object representing the interval containing both
          ranges.