When we get to larger trees, it will be important to have a strategy that is low in its storage / memory. We may want to expose an RPC function that serves paginated leaves for a specific mixer group.
Then simultaneously, we need an algorithm that rebuilds the merkle tree incrementally with these paginated results and KNOWS which intermediate merkle tree nodes are necessary for the proof path. If we have this algorithm, it is likely that we won't need to fetch all leaves at once, but only some leaves in paginated batches, making the UI a lot more efficient.