>>6
the only interesting response to OP and it gets no responses.
What I will say is that you are mostly wrong for a couple of reasons. First, your argument depends on the assumption that premature optimization is a good thing. Second, it's just incorrect. Declarative programming ideally ONLY leaks in performance, and with a "sufficiently intelligent compiler", not by much. Otherwise, declarative programming IS the abstractions that you are trying to express, and that's just one small part of what makes it so powerful. I honestly have trouble approaching a project in an imperative language without first going "ok, how do I get the effects of closures, garbage collection, lazy lists, data-as-code, code-as-data, persistent data structures, interned strings, destructuring, etc etc" Most of times the work arounds for the lack of these features are not worth my time or are inefficient (eg, for persistent data structures, just doing a naive linear copy) and I think, "OK, I'd honestly rather implement a better language than work in this one."
These general purpose abstracts REALLY ARE general purpose. There are VERY FEW applications for which they leak, and when they do it is ONLY in performance.