It seems like a messy abstraction whose results could be achieved through a variety of other tools. :/
Once I was building a declarative components library in PHP, using the ideas I've learned from free monads. I'm sure you can't imagine what an attrocity I've built. It did the job, but I had to mentally check out and throw in a couple of goto's in my main evalution loop.
All that to say that elegance of expressivity is tied to the syntax and semantics of languages.