"update" if the node exists and cascade to children, add! if it does not exists.
For example, mergeVariable! should update the direct mutable variable fields and then call merge on states, bloblets, and blobentries.
This is to allow mergeGraph!(to_dfg, from_dfg) to work.