```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.
useEffect(() => {
                    if (prop1) {
                      setState(prop2);
                    }
                  }, [prop1, prop2]);
                }
              `,
            },
          ],
        },
      ],
    },
    {
      code: normalizeIndent`
        function Thing() {
          useEffect(async () => {}, []);
        }
      `,
      errors: [
        {
          message:
            `Effect callbacks are synchronous to prevent race conditions. ` +
            `Put the async function inside:\n\n` +
            'useEffect(() => {\n' +
            '  async function fetchData() {\n' +
            '    // You can await here\n' +
            '    const response = await MyAPI.getData(someId);\n' +
            '    // ...\n' +
            '  }\n' +
            '  fetchData();\n' +