Because Go doesn't support userland generic types, I see liberal use of `interface{}` types in APIs. There must be a better way.
For example Go's `sort.Interface` provides a mechanism to implement generic sort, find and set operations on any type of collection that implements those three methods (Len, Swap, and Less).
I nearly never find myself having to use `interface{}` in my Go code, and those that do usually don't have to, they just don't want to define an appropriate interface.
I wrote an article about where to find Go-related content a while ago: https://henvic.dev/posts/go/
What I like most about `go` is how standard a lot of the "good practices" are, with a focus on getting stuff implemented. There is no time to argue about spacing and bracing, just run `go fmt`.
But if you need type parameters, then you wouldn't be able to do this.