protected function heapSort(callable $cb) { $h = new CallbackHeap($cb); foreach ($this as $el) { $h->insert($el); } return static::fromItems($h); }