code: func (api *API) ListWAFRules(zoneID, packageID string) ([]WAFRule, error) {
  	var rules []WAFRule
  	var res []byte
  	var err error
  
  	uri := "/zones/" + zoneID + "/firewall/waf/packages/" + packageID + "/rules"
  	res, err = api.makeRequest("GET", uri, nil)
  	if err != nil {
  		return []WAFRule{}, errors.Wrap(err, errMakeRequestError)
  	}
  
  	var r WAFRulesResponse
  	err = json.Unmarshal(res, &r)
  	if err != nil {
  		return []WAFRule{}, errors.Wrap(err, errUnmarshalError)
  	}
  
  	if !r.Success {
  		// TODO: Provide an actual error message instead of always returning nil
  		return []WAFRule{}, err
  	}
  
  	for ri := range r.Result {
  		rules = append(rules, r.Result[ri])
  	}
  	return rules, nil
  }
docs: // ListWAFRules returns a slice of the WAF rules for the given WAF package.
  //
  // API Reference: https://api.cloudflare.com/#waf-rules-list-rules