The process of mutating IPLD Nodes can be split into two types of operations:
- hierarchy mutations (changes to the Node graph through sub-Node insertion/deletion)
- content mutations (in-place sub-Node update)
By building on existing traversal
code to walk a Node hierarchy and accumulate targeted mutations, hierarchy mutation can be done in a way that is agnostic of individual Node types and their specific implementations.
- Requires maintenance of "metadata" representing the source Node hierarchy: