a = [1, 2, 3] b = a.dup b << 4 # a top-level change to the copy leaves the original alone p a p b
top-level edits stay separate