   return True
        return self.start == other.start and self.end == other.end

    def __hash__(self):
        return hash((self._start, self._end))

    def __lt__(self, other) -&gt; bool:
        if not isinstance(other, Span):
            raise Exception(&#34;Cannot compare to non-Span&#34;)
        if self.start &lt; other.start:
            return True
        if self.start &gt; other.start:
            return False
        return self.end &lt; other.end

    def __repr__(self) -&gt; str:
        r