Consider this sequence on a 3-node set. Why can the value written by client X be lost even though the write returned successfully to X?
// 3-node set, client X (no explicit write concern)
db.orders.insertOne({ _id: 1, status: "paid" });
// ack returned to X
// ... primary is network-partitioned from the other two
// ... a new primary is elected among the remaining majority
// ... old primary rejoins