Document the quirks of merge sequence

Test: no need
Change-Id: I6f802580e686737b24db2f4fe0b985225157d001
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()) {