karthik and I discussed this in chat.  Personally, I like the behavior as is.  If there is only a default value, and that value exists, I think it should be valid.  I think `@Required` is really kind of a special beast that should not be emulated.