title: Returning a promise in an async function in TypeScript
body: <p>It's my understanding that these two functions will have the same behavior in JavaScript:</p>
  
  <pre><code>const whatever1 = (): Promise&lt;number&gt; =&gt; {
      return new Promise((resolve) =&gt; {
          resolve(4);
      });
  };
  
  const whatever2 = async (): Promise&lt;number&gt; =&gt; {
      return new Promise((resolve) =&gt; {
          resolve(4);
      });
  };
  </code></pre>
  
  <p>But TypeScript seems to not like the second one, it says:</p>
  
  <pre><code>Type '{}' is not assignable to type 'number'.
  </code></pre>
  
  <p>Is this a bug in TypeScript, or am I misunderstanding something about async functions?</p>