```js
  let foo = {}
  useEffect(() => {
    foo.bar.baz = 43;
  }, []);
```

This asks you to include `foo.bar.baz` into deps. But this doesn't make sense, as you write to it. Instead it should ask to include `foo.bar` into array.

If `foo` is a newly created object in render scope then we might additionally nudge you to `useRef` for it instead. Because otherwise it won't be shared between renders.
ref => ref.identifier === maybeID,
          );
          
          declaredDependencies.push({
            key: declaredDependency,
            node: declaredDependencyNode,
          });
          if (!isDeclaredInComponent) {
            externalDependencies.add(declaredDependency);
          }
        });
      }
      const {
        suggestedDependencies,
        unnecessaryDependencies,
        missingDependencies,
        duplicateDependencies,
      } = collectRecommendations({
        dependencies,
        declaredDependencies,
        optionalDependencies,
        externalDependencies,
        isEffect,
      });
      let suggestedDeps = suggestedDependencies;
      const problemCount =
        duplicateDependencies.size +
        missingDependencies.size +
        unnecessaryDependencies.size;
      if (problemCount === 0) {