Personally, I'm very disappointed that we've lost immutability, along with support for nullable fields (e.g. Protobuf3 now assumes that 0 == null).
For when you actually want a nullable field, I think the idea is that it is easy to have a wrapper message (just like boxing in languages). Such wrappers could even be made standard and provided by protobuf.
They will be: https://github.com/google/protobuf/issues/159#issuecomment-7...