code: func (f flatAttrDiff) keepDiff(ignoreChanges map[string]bool) bool {
  	for k, v := range f {
  		ignore := false
  		for attr := range ignoreChanges {
  			if strings.HasPrefix(k, attr) {
  				ignore = true
  			}
  		}
  
  		if !v.Empty() && !v.NewComputed && !ignore {
  			return true
  		}
  	}
  	return false
  }
docs: // we need to keep all keys if any of them have a diff that's not ignored