I get why people may not like the comparison you're making, but that aside, I agree that the article insists uncomfortably often that the freedom only comes if "the work" gets done (in various phrasings). As if to ensure that nobody gets the impression that a pleasant work experience is something anyone deserves rather than a generous gift by such a magnanimous employer.
The lack of tooling for XSLT and modern JavaScript stuff are on different sides of the adoption curve. XSLT lacked tooling on the upside of the curve so it never hit critical mass. Its other problems could have been solved had it hit critical mass and seen wider adoption.
That's why I prefer outliners. They still provide the sense of an infinitely nestable hierarchy, allow focusing on arbitrary levels of it as a temporary "root" document", and allow collapsing entire trees that are irrelevant for the current work I'm doing. But crucially, if they implement live cloning of subtrees (in Workflowy, for example, these are called "mirrors"), they can also allow a more flexible graph structure as opposed to a strictly hierarchical tree.
Of course, that misses the graphical/spatial aspect of other tools, but as josephg points out, these sometimes backfire without a natural, design-encouraged way to organize the content, and a stable frame reference. I for one don't miss the ability to organize my content spatially, even though I do that when working with physical paper. I think that's because of the limitations of the medium — i.e. I spread paper sheets out on a surface, and spread content within those sheets, because it's the only way to group content in a stable manner. The nesting system performs the same function for me in outliners.
It's really great to be able to just click a link and start playing with Julia without installing anything! While there are other platforms offering a similar experience, I'm glad Repl.it added Julia to its tool belt.
Just a quick note for the inattentive like me: you have to click the "Run" button before executing the `@enter foo(20)` command.
I found https://giordano.github.io/blog/2017-11-03-rock-paper-scisso... to be a pretty good attempt at that. Of course, the code's elegance will probably not be immediately evident to a beginner, but a link to the full explanation could suffice to complement that.