So my question is whether the discrepancy between what `async for` expects and what `aiter()` expects on purpose?
https://bugs.python.org/issue31861 was the issue for creating aiter() and I didn't notice a discussion of this difference. The key reason I'm asking is this does cause a deviation compared to the relationship between `for` and `iter()` (which does not require `__iter__` to be defined on the iterator, although collections.abc.Iterator does). It also makes the glossary definition being linked from
https://docs.python.org/3.10/reference/compound_stmts.html#the-async-for-statement incorrect.