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.