Firestore allows a maximum of 500 operations in a batch.
If you want to upload a complex document with subcollections that each have hundreds of documents, how are you supposed to ensure an atomic upload?
This question has been asked multiple times on SO, but all of them are some variation of "make multiple batches and retry if one fails" which IS NOT atomic.