code: func WithValues(ctx context.Context, m map[string]interface{}) context.Context {
  	mo := make(map[string]interface{}, len(m)) // make our own copy.
  	for k, v := range m {
  		mo[k] = v
  	}
  
  	return stringMapContext{
  		Context: ctx,
  		m:       mo,
  	}
  }
docs: // WithValues returns a context that proxies lookups through a map. Only
  // supports string keys.