+1 Use case:
I have an array of embedded objects representing customers that we automatically contact. After contacting the customer, we update that embedded document and contact the next one some minutes later. If, however, somehow a second copy of that customer's identifier sneaks into the array, our application contacts this customer over and over until we manually stop it, because only the first copy of the customer's status is updates as 'contacted'.
I agree with the above sentiment - this should already be implemented. It's a bug that needs to be fixed, not an optional new feature.