I think you may be talking past each other. C++ or D templates allow you to express (in a crude, verbose, error-prone way) some kinds of abstractions that are not expressible in Golang or ML. Not sure about C#.
There are certainly lots of abstractions you can express in Golang.
There are certainly lots of abstractions you can express in Golang.