The union blockstore takes a list of blockstores. It returns the first satisfying read, and broadcasts writes to all stores. It can be used for operations that require reading from any two blockstores, for example WalkSnapshot.