By now, we have two years of experience with generics in Go. Most Go developers are probably familiar with its basic usage, but there are some less obvious issues you might stumble over when trying to use them, as well as some niche problems they can help you with.
In this talk, we will go beyond the basic examples of higher-level functions. We will explore how to use constraints effectively, the ergonomics of generic APIs, how to use phantom types to increase the type-safety of your programs, and enable some transparent efficiency patterns.