code: func NewError(code string, loc *Location, f string, a ...interface{}) *Error {
  	return &Error{
  		Code:     code,
  		Location: loc,
  		Message:  fmt.Sprintf(f, a...),
  	}
  }
docs: // NewError returns a new Error object.