title: Async function returning promise, instead of value
body: <p>I'm trying to understand how async/await works in conjunction together with promises. </p>
  
  <h1>Code</h1>
  
  <pre><code>async function latestTime() {
    const bl = await web3.eth.getBlock('latest');
    console.log(bl.timestamp); // Returns a primitive
    console.log(typeof bl.timestamp.then == 'function'); //Returns false - not a promise
    return bl.timestamp;
  }
  const time = latestTime(); // Promise { &lt;pending&gt; }
  </code></pre>
  
  <h1>Issue</h1>
  
  <p>As far as I understand, await should be blocking and in the code above it seemingly blocks returning an object <code>bl</code> with the primitive <code>timestamp</code>. Then, my function returns the primitive value, however the time variable is set to a pending promise instead of that primitive. What am I missing?</p>