The == method has to generate dummy message-ids if none exist. As it stands, if either message does not have an id, then both are set to the same fixed value. This seems fine for the case where neither message has an id, but is it the best strategy when one already has an id and the other does not? Similarly for Dates (see #1527)