The function you want is deepcopy()… (copy() works if the thing you’re copying aren’t nested containers inside containers).
I can recommend this blog post for a more thorough discussion. The short version is, when you do update_results = init_results in Julia, you’re just assigning a new name to the exact same object. So when you change one, the other variable points to the same, now changed, thing.