docs: def popitem(self):
          """remove the next prioritized [key, val, priority] and return it"""
          pq = self.pq
          while pq:
              priority, key, val = heapq.heappop(pq)
              if val is None:
                  self.removed_count -= 1
  
              else:
                  del self.item_finder[key]
                  return key, val, priority
  
          raise KeyError("pop from an empty priority queue")