title: python asynchronous context manager
body: <p>In Python Lan Ref. 3.4.4, it is said that <code>__aenter__()</code> and <code>__aexit__()</code> must return awaitables. However, in the example async context manager, these two methods return None:</p>
  
  <pre><code>class AsyncContextManager:
      async def __aenter__(self):
          await log('entering context')
  
      async def __aexit__(self, exc_type, exc, tb):
          await log('exiting context')
  </code></pre>
  
  <p>Is this code correct?</p>