I'm afraid that more than a decade of picking through legacy code (both other people's and my own) has irrevocably convinced me that "expressive" is newspeak for "unmaintainable".
Productivity during creation isn't worth the cost of maintenance later. At least, not the psychological cost.
even with productive languages, there is such a thing as 'idiomatic'.. (I say to myself as I munge some legacy clojure)... I still prefer to work on old clojure code than new java code after a year and a half with it, even java written by 'experts'.
Now flexibility certainly comes with a cost: there's just that much more you need to understand about theory and architecture to be able to account for all the different code permutations. That said, it also allows for those who dedicate themselves to programming as a science to write exceptionally and more productively.
I would say Go raises the average productivity compared to more complex languages but dramatically caps the upper bound as well. Whether that's good or bad is as much philosophical as practical.