code: func (c *CheckType) Validate() error {
  	intervalCheck := c.IsScript() || c.HTTP != "" || c.TCP != "" || c.GRPC != ""
  
  	if c.Interval > 0 && c.TTL > 0 {
  		return fmt.Errorf("Interval and TTL cannot both be specified")
  	}
  	if intervalCheck && c.Interval <= 0 {
  		return fmt.Errorf("Interval must be > 0 for Script, HTTP, or TCP checks")
  	}
  	if intervalCheck && c.IsAlias() {
  		return fmt.Errorf("Interval cannot be set for Alias checks")
  	}
  	if c.IsAlias() && c.TTL > 0 {
  		return fmt.Errorf("TTL must be not be set for Alias checks")
  	}
  	if !intervalCheck && !c.IsAlias() && c.TTL <= 0 {
  		return fmt.Errorf("TTL must be > 0 for TTL checks")
  	}
  	return nil
  }
docs: // Validate returns an error message if the check is invalid