Add a (better) heap copy