I see how it could be useful occasionally, but I don’t see it as an important feature that should be higher priority than what maintainers are already working on. Especially if existing links are just going to get dropped; how is that so much better than delete/add?
If you are going to try to keep existing links, there are so many ways that could be said to be “right”, how do you choose which to code? If pins don’t need the same name (only judge by type), how do you determine if order should be changed? What about pins that allow multiple types? Unless you force pin-name match, you are just asking for introduction of bugs in your code using it.
Even if you use pin-name, do all pins need to match, or do you keep links for pins that match & drop other links? If you are dropping some links, should there be some way to flag the dropped links to make it obvious they need resolved (perhaps keep them, but flag them as errors; what if replacement node has fewer pins)?
I guess you could eliminate much of the confusion if you only allow replacement with nodes that have matching pins (by name, or by type? By type adds risk since order of pins might change in replacement), perhaps allowing replacement to have additional pins for added functionality (adding even more risk if you only match by type).