Document that this was an intentional design choice. Consuming the trie means we have mutable access to the parts of the trie we're visiting. It means Vs, and subtries in future APIs, can be passed as owned objects to closures. Meaning there is no clone overhead for trie transformations that tear down a trie and reconstitute in another form.
Without these docs, it appears we just forgot to update the side-effecting cata.
Document that this was an intentional design choice. Consuming the trie means we have mutable access to the parts of the trie we're visiting. It means Vs, and subtries in future APIs, can be passed as owned objects to closures. Meaning there is no clone overhead for trie transformations that tear down a trie and reconstitute in another form.
Without these docs, it appears we just forgot to update the side-effecting cata.