...
On a side note: RSpace Next does not hold a separate data bag for replay, so the data is not duplicated.
Thought
One could make a case that the highest level PointerBlocks (let's say 3 levels) will change constantly and will be heavily populated (256 * 32 bytes).
Maybe it would make sense to differentiate them from the pointer blocks that will live lower in the trie and invest in some sort of structure sharing.
But at the time of writing no such structure (that would save space) comes to mind.