Seconded. I have been bitten far more often by too fancy abstractions then by not having more fancy abstractions in my tooling. And Go has quite a few fundamental ones, like first class functions and closures.
What's with the notion of "getting shit down" vs "being smart". I want to get shit done as well. And for me, an expressive proramming language helps me with that. Otherwise I would be using assembly. It really doesn't have to do anything with "being smart".