code: func (intstr *IntOrString) UnmarshalJSON(value []byte) error {
  	if value[0] == '"' {
  		intstr.Type = String
  		return json.Unmarshal(value, &intstr.StrVal)
  	}
  	intstr.Type = Int
  	return json.Unmarshal(value, &intstr.IntVal)
  }
docs: // UnmarshalJSON implements the json.Unmarshaller interface.