Sound changes saved permanently

I have a custom block that takes in a sound, gets it's samples list, removes half (or 2/3rds, or 3/4ths etc. depending on what speed you choose) of the samples (to speed it up) and then finally returns the list (full custom block included at the end).
It worked well, except that these changes are being saved in the samples of sound block. You could still, say, play cat sound and it would work normal, but if you got the samples of sound cat then you get an altered list, not in sync with the actual sound that would have been played.
Sorry if this sounds confusing, please ask if you need any clarification.
untitled script pic

This is where you lost me

untitled script pic - 2022-05-12T001837.341
It seems that sample is a "live" property.
You can make deep copy with "map" or "id"

untitled script pic - 2022-05-12T001817.986