code: func (rule *overlappingFieldsCanBeMergedRule) collectConflictsWithin(conflicts []conflict, fieldsInfo *fieldsAndFragmentNames) []conflict {
  	// A field map is a keyed collection, where each key represents a response
  	// name and the value at that key is a list of all fields which provide that
  	// response name. For every response name, if there are multiple fields, they
  	// must be compared to find a potential conflict.
  	for _, responseName := range fieldsInfo.fieldsOrder {
  		fields, ok := fieldsInfo.fieldMap[responseName]
  		if !ok {
  			continue
  		}
  		// This compares every field in the list to every other field in this list
  		// (except to itself). If the list only has one item, nothing needs to
  		// be compared.
  		if len(fields) <= 1 {
  			continue
  		}
  		for i := 0; i < len(fields); i++ {
  			for k := i + 1; k < len(fields); k++ {
  				// within one collection is never mutually exclusive
  				isMutuallyExclusive := false
  				conflict := rule.findConflict(isMutuallyExclusive, responseName, fields[i], fields[k])
  				if conflict != nil {
  					conflicts = append(conflicts, *conflict)
  				}
  			}
  		}
  	}
  	return conflicts
  }
docs: // Collect all Conflicts "within" one collection of fields.