Interestingly, Delphi Pascal has a single pass compiler with generics, though I'm not sure about type inference.
I was under the impression Go originally avoided generics more for a perceived abstract complexity for developers, the idea being they are hard to understand for new recruits.