The use case for CNL is to make the (usually domain-specific) code readable, but writing it has been hard, because there was no way to stop people from typing invalid syntax, and the CNL syntax was so similar to natural language that it was difficult to remember what you can and cannot say. Block-based languages solve the problem by not allowing you to type. You must drag and drop valid syntax nodes and combine them. That's good, but the interface is unfamiliar for some people. Oracle Policy Automation allows you to type anything you want (in MS Word), and offers a search bar you can use to find valid syntax if you get messed up. It's more familiar, but very easy to make syntax errors. A structure aware XML editor would look and feel more like Word, giving non-programmers a familiar environment, but only allow you to type things that were syntactically correct. I'm imagining a sort of strict autocomplete. My particular use case is knowledge representation of statute and regulation, so my users are used to those things being expressed as documents.