+1 for opt-in deinit async as I previously commented in:
And in my opinion:
"Non-isolated deinit when code is not written" will mislead developers when they just want to write a debug-print to observe when actor instance actually gets deallocated.
// Assume this is implicit isolated deinit.
deinit {
// This printing may be called slower than non-isolated deinit.
// (Also, thread printing will get changed which might also be tricky)
print("deinit in \(Thread.current)")
}