Does 'perform(schedule: .immediate)' guarantee serial execution?

If I have two consecutive calls like to perform(schedule: .immediate) like so:

func doSomething() async {
   await self.perform(schedule: .immediate) {
       // add log event 1 to data store
   }
   await self.perform(schedule: .immediate) {
       // add log event 2 to data store
   }
}

Can I be guaranteed that the block for log event 1 will happen after log event 2?

"log event" here is just an example, so please ignore things like storing date, etc.

Looking at the documentation here:

https://developer.apple.com/documentation/coredata/nsmanagedobjectcontext/perform(schedule:_:)

It's a little unclear whether any such guarantee is in place. However, given that the function returns the value from the block, it seems like I should be able to expect event 1 will always be executed before event 2 regardless of the schedule parameter?

Does 'perform(schedule: .immediate)' guarantee serial execution?
 
 
Q