code: func BuildNumeric(val string) (n Value, err error) {
  	if val[0] == '-' || val[0] == '+' {
  		signed, err := strconv.ParseInt(val, 0, 64)
  		if err != nil {
  			return Value{}, err
  		}
  		n = Value{Numeric(strconv.AppendInt(nil, signed, 10))}
  	} else {
  		unsigned, err := strconv.ParseUint(val, 0, 64)
  		if err != nil {
  			return Value{}, err
  		}
  		n = Value{Numeric(strconv.AppendUint(nil, unsigned, 10))}
  	}
  	return n, nil
  }
docs: // BuildNumeric builds a Numeric type that represents any whole number.
  // It normalizes the representation to ensure 1:1 mapping between the
  // number and its representation.