code: func SetContext(err error, key string, value interface{}) {
  	if e, ok := err.(withContext); ok {
  		e.Set(key, value)
  	}
  }
docs: // ErrorSetContext sets a value in the error's context. If the error has not
  // been wrapped, it does nothing.