Simplest possible block_on?

It is the reality. It is true that there are some crates this prevents you from using, but that's a consequence of how async/await works. It is not compatible with all other crates.

You can try to use block_in_place, but as I mentioned before, it's a footgun due to its extra non-local requirements.

There are no other possible solutions than what is offered by block_in_place. It is simply theoretically impossible to fix it in any other way besides completely changing how async/await is implemented.