code: func WrapPrefix(e interface{}, prefix string, skip int) *Error {
  	if e == nil {
  		return nil
  	}
  
  	err := Wrap(e, 1+skip)
  
  	if err.prefix != "" {
  		prefix = fmt.Sprintf("%s: %s", prefix, err.prefix)
  	}
  
  	return &Error{
  		Err:    err.Err,
  		stack:  err.stack,
  		prefix: prefix,
  	}
  
  }
docs: // WrapPrefix makes an Error from the given value. If that value is already an
  // error then it will be used directly, if not, it will be passed to
  // fmt.Errorf("%v"). The prefix parameter is used to add a prefix to the
  // error message when calling Error(). The skip parameter indicates how far
  // up the stack to start the stacktrace. 0 is from the current call,
  // 1 from its caller, etc.