Suspends until the lock is available, then executes block exclusively. Always runs block, even if other coroutines are queued behind it.
The return value of block.