code: func AsError(r interface{}) error {
  	if r == nil {
  		return nil
  	}
  	if err, ok := r.(error); ok {
  		return err
  	}
  	return fmt.Errorf("%v", r)
  }
docs: // AsError returns r as error, converting it when necessary