gh-121621: Move asyncio freelist to thread state by Fidget-Spinner · Pull Request #121915 · python/cpython
If we go with #121934, then that will make the asyncio freelist implementation a lot easier and will avoid a lot of these warts.
Maybe, in the meantime, we should just disable the freelist in the free-threaded build? That would be a much smaller change and wouldn't introduce duplicate types.