whys-the-design-go-generics