async def foo(x, y):
    pass

    async def foo_nested():
        pass


async = 10


def bar():
    print(async)

    async def bar_nested():
        pass
