More comments on Heap implementation, linear initialization doesn't retain anything but the references to the values.
Implement heap clone with passing an array of the original's data