type generic … // instance returns a Function that is the instantiation of generic // origin function fn with the type arguments targs. // // Any created instance is added to cr. // // Acquires fn.generic.instancesMu. func (fn *Function) instance(targs []types.Type, b *builder) *Function { … } // createInstance returns the instantiation of generic function fn using targs. // // Requires fn.generic.instancesMu. func createInstance(fn *Function, targs []types.Type) *Function { … } // isParameterized reports whether any of the specified types contains // a free type parameter. It is safe to call concurrently. func (prog *Program) isParameterized(ts ...types.Type) bool { … }