Answer: In proto3, all fields are "optional".
import "google/protobuf/wrappers.proto";
message Foo {
int32 bar = 1;
google.protobuf.Int32Value baz = 2;
}
if(foo.hasBaz()) { ... }
https://matsu-chara.hatenablog.com/entry/2016/11/12/110000
https://tomasbasham.co.uk/development/2017/09/13/protocol-buffers-and-optional-values.html
https://stackoverflow.com/questions/42622015/how-to-define-an-optional-field-in-protobuf-3