>It's cool, but it has some major downsides too. For example, MPS stores the source as XML, not text (since it isn't text, it's a tree). This makes lots of basic tools we've taken for granted a lot harder, such as git merging etc. They've had to make a custom mergetool just to make basic collaborative coding feasible.
Doesn't solving this just require a text-to-AST, AST-to-text input and output step?
Anyplace outside the editor the programmer just sees regular text.