@@ -0,0 +1,791 @@
+%22%22%22%0AMiscellaneous utilities used throughout the library.%0A%22%22%22%0Aimport collections.abc%0A%0A%0Aclass IterToAiter(collections.abc.Iterator, collections.abc.AsyncIterator):%0A    %22%22%22%0A    Transforms an %60__iter__%60 method into an %60__aiter__%60 method.%0A    %22%22%22%0A%0A    def __init__(self, iterator: collections.abc.Iterator):%0A        self._it = iterator%0A%0A    # magic methods%0A    def __iter__(self):%0A        return self%0A%0A    def __next__(self):%0A        return self._it.__next__()%0A%0A    def __aiter__(self):%0A        return self%0A%0A    async def __anext__(self):%0A        return self.__next__()%0A%0A%0Adef iter_to_aiter(type_):%0A    %22%22%22%0A    Transforms a normal iterable type into an async iterable type.%0A    %22%22%22%0A%0A    def __aiter__(self):%0A        return IterToAiter(iter(self))%0A%0A    type_.__aiter__ = __aiter__%0A    return type_%0A

Add utils module