code: func (p *PrecisionT) UnmarshalJSON(data []byte) error {
  	var err error
  	var precisionNum json.Number
  	if err = json.Unmarshal(data, &precisionNum); err == nil {
  		*p = PrecisionT(precisionNum)
  		return nil
  	}
  
  	var precisionStr string
  	if err = json.Unmarshal(data, &precisionStr); err == nil {
  		*p = PrecisionT(precisionStr)
  		return nil
  	}
  
  	var p0 PrecisionT
  	*p = p0
  
  	return err
  }
docs: // UnmarshalJSON is a Custom Unmarshal for PrecisionT. The Datadog API can
  // return 1 (int), "1" (number, but a string type) or something like "100%" or
  // "*" (string).