Document the quirks of merge sequence am: 5e4e293510

Original change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1792748

Change-Id: I9879eaba13772967415d59076c0e084c5cee1652
diff --git a/payload_generator/merge_sequence_generator.cc b/payload_generator/merge_sequence_generator.cc
index 7f5032b..6cbb57b 100644
--- a/payload_generator/merge_sequence_generator.cc
+++ b/payload_generator/merge_sequence_generator.cc
@@ -269,6 +269,11 @@
     }
   }
 
+  // Technically, we can use std::unordered_set or just a std::vector. but
+  // std::set gives the benefit where operations are sorted by dst blocks. This
+  // will ensure that operations that do not have dependency constraints appear
+  // in increasing block order. Such order would help snapuserd batch merges and
+  // improve boot time, but isn't strictly needed for correctness.
   std::set<CowMergeOperation> free_operations;
   for (const auto& op : operations_) {
     if (incoming_edges.find(op) == incoming_edges.end()) {