in reply to References and state-saving

You can use something like 'dclone' in Storable to achieve the "deep copy" you're looking for. Yes, since the values in one structure reference the same values in the other, they'll both change the same thing when modifications are made. You may have some luck trying to localize your changes to a specific function.