What happens if someone does it the other way? I could write a synchronous function in an actor, and then provide an asynchronous version that can be called from outside the actor. If the asynchronous function attempts to call the synchronous one as its implementation, it’ll likely call itself instead if the have the same name.
Also, if you are in an asynchronous context, you could still prefer the synchronous version to avoid adding a suspension point that would allow other tasks to change the state mid-way in your function. (I realize it would be better to only block tasks for this actor without blocking the whole thread, had we a way to do than.)