I have some code that looks like this:
If MyField is null, the serializer saves it without problems, but when I try to read it back (using the same settings), I get an exception "Required property 'MyField' expects a value but got null."
In other words, the serializer writes output that it cannot read. I think a better design would be to throw an exception rather than saving invalid data. Otherwise these errors aren't caught until much later when attempting to reload the
Also, the documentation for "Required.Always" could be clearer. I interpreted it to mean that the field must appear in the JSON tree, not that the field cannot be null. Arguably both would be useful behaviors.