docs: def pop_smallest(self):
          """Return the item with the lowest priority and remove it.
  
          Raises IndexError if the object is empty.
          """
  
          heap = self._heap
          v, k = heappop(heap)
          while k not in self or self[k] != v:
              v, k = heappop(heap)
          del self[k]
          return k