There are some details here about the history of how generics finally came to Go: https://golang.design/under-the-hood/en/part2lang/ch08generi...
The tl;dr boils down to a combination of valuing both compilation speed and execution speed.