Also issue with golang (+ protobufs) where you can't distinguish a populated zero value from the default "not present" value.
Last I checked (this was years ago) the way to deal with this is to wrap it in a sub-message (which are actually nullable), which is just kinda gross.