code: func Reason(reason string, args ...interface{}) *Annotator {
  	currentStack := captureStack(1)
  	frameInfo := stackFrameInfo{0, currentStack}
  	return (&Annotator{nil, stackContext{
  		frameInfo: frameInfo,
  		reason:    fmt.Sprintf(reason, args...),
  	}})
  }
docs: // Reason builds a new Annotator starting with reason. This allows you to use
  // all the formatting directives you would normally use with Annotate, in case
  // your originating error needs tags or an internal reason.
  //
  //   errors.Reason("something bad: %d", value).Tag(transient.Tag).Err()
  //
  // Prefer this form to errors.New(fmt.Sprintf("..."))