The same thing is in fact part of problem. What I mean is that in order for plumbing to be effective, the higher level expressive abstraction (like a language) needs to describe what eventually gets plumbed. This is precisely why things like metaprogramming
(and declarative expression, generally) is the trend. The only reason functional programming has moved into the mainstream mindset, for example, is due to its declarative nature, explicitly controlable side effects, composability, etc, all paramount to building
reliable concurrent systems that are compositional. Part of me agrees with your vote, but another part can't help but wonder if we don't, in parallel, start from first principles in the (con)current context.
More and more these day I like the ideas of Languages such as Erlang and Axum, and find my self trying to use some of their ideas in my everyday work.