title: Why use async and return await, when you can return Task<T> directly?
body: <p>Is there <strong>any</strong> scenario where writing method like this:</p>
  
  <pre><code>public async Task&lt;SomeResult&gt; DoSomethingAsync()
  {
      // Some synchronous code might or might not be here... //
      return await DoAnotherThingAsync();
  }
  </code></pre>
  
  <p>instead of this:</p>
  
  <pre><code>public Task&lt;SomeResult&gt; DoSomethingAsync()
  {
      // Some synchronous code might or might not be here... //
      return DoAnotherThingAsync();
  }
  </code></pre>
  
  <p>would make sense?</p>
  
  <p><strong>Why use <code>return await</code> construct when you can directly return <code>Task&lt;T&gt;</code> from the inner <code>DoAnotherThingAsync()</code> invocation?</strong></p>
  
  <p>I see code with <code>return await</code> in so many places, I think I might have missed something. But as far as I understand, not using async/await keywords in this case and directly returning the Task would be functionally equivalent. Why add additional overhead of additional <code>await</code> layer?</p>