if the interval does not exist.
        &#34;&#34;&#34;
        self._by_start.remove((start, end, data))
        self._by_end.remove((start, end, data))

    def discard(self, start, end, data):
        &#34;&#34;&#34;
        Removes and interval, do nothing if the interval does not exist.
        &#34;&#34;&#34;
        self._by_start.discard((start, end, data))
        self._by_end.discard((start, end, data))

    def __len__(self):
        &#34;&#34;&#34;
        Returns the number of intervals.
      