Working with DAGs

Basic question from someone new to ipfs - is there support for updating a dag with one operation? I Say we have a dag with 3 objects (a root object with 2 linked children) and we’d like to update one of the child objects’ data. e.g create a new immutable dag with the same objects and the modified object replacing the old object data and hash. The objects api allows to modify an object data and/or its links. However, doing so will create a new object with a new hash and will not, AFAIK update the links in parent objects to the new update object. So, to generate a new dag with the same old data and the updated object, one will have to traverse up the dag and update links all the way to the top root object. What am I missing? Seems like it will be useful to add basic DAG ops to the api, e.g. update(key, newVal) and delete(key) and get back a hash of the new dag with the updated data. Seems useful as ipfs is in some way a DAG data store.