Go is a language that is built in a way that makes it impossible to write generic code. This has been done on purpose, to make sure that the language stays simple (['Less is exponentially more'](
https://commandcenter.blogspot.nl/2012/06/less-is-exponentia...), so that it can be easily understood and used and maintained by large teams.
However, I personally am against the idea that it is a good idea to solve your problems by giving a restrictive tool to large groups of mediocre programmers. Rather, I like the smaller, smart teams approach, which is what both Rust and Haskell fit much better.
If by 'used more' you mean that more people will use it, then Go will undoubtedly win because it has a much lower learning curve because there is just not a lot to learn. However, I do not think that Go will allow as innovative solutions to be created as Rust or Haskell do.