docs: async def aiter(obj, sentinel=_sentinel):
      '''
      Analogous to the builtin :func:`iter()`.
      '''
  
      if sentinel is _sentinel:
          # Since we cannot directly return the return value of obj.__aiter__()
          # as being an async-generator, we do the async-iteration here.
          async for item in obj:
              yield item
      else:
          while True:
              item = await obj()
              if item == sentinel:
                  break
              yield item