This is somewhat related to the unified persistence and microkernel
ideas. Instead of keeping the different workspaces and the version
storage in separate storage locations it might be useful for a
repository to have just a single underlying content hierarchy whose
subtrees are seen as separate workspaces by JCR sessions. This would
make many cross-workspace operations easier to implement and would
give us transactional versioning as an added bonus.
The most obvious trouble with this approach is that the node UUIDs
would no longer be unique within such a super-workspace. I'm not sure
how to best solve that problem, apart from switching to some
alternative internal node identifiers. Any ideas?