Future<void> updateDocumentAtomic(DocumentReference ref, Map<String, dynamic> Function(DocumentData? data) txn);