See #3049 for the initial motivation behind this. Need to explain how this interacts with non-`read_only` fields, and describe why a dictionary is expected from `to_internal_value` in that case.