Okay, having given up on the crazy structural editor angle for now, I have a little parser in a little subset of ML that can parse itself. Nothing that hasn't been coded thirteen zillion times before, but it feels like good mental exercise. I rather like the tension of bootstrapping a compiler, something that I've never directly appreciated before now. Adding more language features implies perhaps more and/or less work for myself depending, respectively on how hard the feature is to implement and how much power it would give me if I had it available. I find it very much like inductive theorem-proving, something far more familiar to me personally.