When to use generics and how they look - The Go Programming Language