How to modify contents of 3dm files without opening a new Rhino instance?

This thread from two years ago suggests that the only way to modify entities of 3dm files is removing the old ones and adding new ones - however I’m not sure if that wouldn’t break methods that rely on each others’ guids - I assume that new entities would have new ids (unless there is a way to make exact copies including their guids?).

It would be however very useful to know at least why there is no other way to make changes to existing objects in 3dm files or how the existing add/remove calls can accomplish the same (e.g. changing layer colors or object names).

A reasonable workaround would be (for example for modifying modelbasepoint in a 3dm file:

import Rhino

rhino_file = Rhino.FileIO.File3dm.Read("C:\\Path\\test.3dm")
rhino_file.Settings.ModelBasepoint = Rhino.Geometry.Point3d(0,0,0)
rhino_file.Write("C:\\Path\\test-modified.3dm", version=8)

effectively copying everything to a new file (I hope it’s all the same with only basepoint modified).

Write was 10 times slower than usual though…