replace-with-predecessor implemented. Now needs integrating into delete-node