Hmm, this is fascinating. I hadn’t heard of ProseMirror before. Clearly it does seem to be able to define and work with block-level elements (eg https://prosemirror.net/examples/schema/)
I guess one of the main questions is what this looks like in the “raw” markdown file? Would you end up with files that are so full of HTML tags or other snippets that they are unintelligible without a specific application (Obsidian) to parse it?
If not, if it is possible for ProseMirror to do the block-level referencing and management without over-running the raw file, that would be cool! I would certainly be keen for something where powerful block/paragraph manipulation happens within Obsidian (or a plug-in), but if I want I can still access a (relatively) neat raw .md file.