Hello, could someone tell me what is the difference between these two ways of synchronization and why would I use one over the other? I noticed it's impossible to call suspending functions inside a synchronized block but it's fine with the other way, why is that?