generics generator for golang