Cool to see persistent data structures under the covers here. I tried to make a contentEditable editor some time ago and gave up when I realized how many edge cases there would be, but from what I learned when working on that, this general sort of approach seems like the right way.
What do you feel like you learned when working on this project? Will any of it make it back to Codemirror?