@MathieuGuindon something I've been stumbling on for my master thesis a LOT now: Projectional Editors
the kicker of these things is that the user directly edits the AST and the editor displays a "rendering" of the AST
That paradigm shift would knock out multiple complicated issues with RD near-instantly: Invalidation detection, Attribute representation and precompiler directive AST shenanigans
and it would immensely benefit from the existing block completion setup to determine what kind of AST node the user intends to insert