title: "arrow function expected no return value" with clean-up function in useEffect
body: <p>Here is my <code>useEffect</code> with a simple clean-up function <code>() =&gt; { inbox?.destroy(); }</code>, but it raises a warning when I let the clean-up function there. Why is that, isn't the clean-up function a legit syntax? How to fix it (<em>of course without removing the clean-up function</em>)?</p>
  <p><a href="https://i.stack.imgur.com/TgVmV.png" rel="noreferrer"><img src="https://i.stack.imgur.com/TgVmV.png" alt="enter image description here" /></a></p>
  <pre><code>  useEffect(() =&gt; {
      const { currentUser } = initialState!;
      let inbox: Talk.Inbox;
      if (!currentUser || !talkjsContainerRef.current) return;
  
      Talk.ready.then(async () =&gt; {
        const me = employeeToUser(currentUser);
        window.talkSession = new Talk.Session({ appId, me });
        if (id === undefined) {
          // me without other =&gt; most recent message first
          inbox = window.talkSession.createInbox();
        } else {
          // me with an other =&gt; select other
          const other = employeeToUser(await readEmployee(Number(id)));
          const conversation = window.talkSession.getOrCreateConversation(Talk.oneOnOneId(me, other));
          conversation.setParticipant(me);
          conversation.setParticipant(other);
          inbox = window.talkSession.createInbox({ selected: conversation });
        }
        inbox.mount(talkjsContainerRef.current);
      });
  
      return () =&gt; {
        inbox?.destroy();
      };
    }, [id, initialState]);
  </code></pre>