Unlike the other heap, this one can't throw away items and has to be able to grow as nodes are appended (it's all but impossible to predict how many nodes will be pushed into the heap during a query). It might be possible to abstract some of the heap infrastructure and share code between the two, but it wouldn't be straightforward.