Right, implementing adding timeouts was an error,that's why I'm asking to remove it.

It will be still async if we do setTimeout(f, 0);