type MethodSetCache … // MethodSet returns the method set of type T. It is thread-safe. // // If cache is nil, this function is equivalent to types.NewMethodSet(T). // Utility functions can thus expose an optional *MethodSetCache // parameter to clients that care about performance. func (cache *MethodSetCache) MethodSet(T types.Type) *types.MethodSet { … } func (cache *MethodSetCache) lookupNamed(named *types.Named) struct{ … }