code: def discard(self, interval):
          
          if interval not in self:
              return
          self.all_intervals.discard(interval)
          self.top_node = self.top_node.discard(interval)
          self._remove_boundaries(interval)
docs: Removes an interval from the tree, if present. If not, does
          nothing.
  
          Completes in O(log n) time.