Just realized that this is what tells the matcher to not overwrite the attribute. What if someone comes along and they don't have that constraint? Imagine: they have an enum-like attribute which only allows certain values, where nil is one of those valid values, which means the attribute doesn't have a default either, as nil *is* the default value. Your fix would not provide a solution for that case.

It makes me think that it was a bad idea to add this logic in the first place. There is no way we can handle every case that will come up, but my fear is that people are starting to think `validate_uniqueness_of` is this magical matcher that they can use and it will work with any code they dream up, which is simply not true. At a certain point, it's easier for you to make a record before you call `validate_uniqueness_of` than for us to figure out how to make `validate_uniqueness_of` do something automatically.

I feel like this requires some thought as to what the best course of action is here.