Adding variable to structure causes error in all nodes it contains

When adding a new variable to a structure, all the existing nodes that contained it(for example a for loop or a reference) are broken and have errors. Then you have to refresh the nodes and re-attach all the pins it was connected to. I assume the same problem would arise if you remove a variable.

What I’m wondering is, why can’t the program just refresh them automatically without breaking things? Is there a way to prevent this from happening or is there a smooth way to rebuild your blueprints with the new variable?