=rem #16428 optimize protobuf serializer for master

#16428 for master
this is the first time I write tailrec.