title: Why does 'await' trigger '.then()' on a Proxy returned by an 'async' function ?
body: <p>I am compiling the code with babel (env), compiling down to ES5.</p>
  
  <p>Here's the code:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>(async () =&gt; {
       const p = async () =&gt; {
            return new Proxy({}, {
                 get: (target, property) =&gt; {
                      console.log(property);
                 }
            })
       };
  
       const r = await p();// await calls .then on the result of p()
  })();</code></pre>
  </div>
  </div>
  </p>