Protocol buffers are an efficient wire format for sending data and RPCs by using generated code based on a schema. While the generated code has reflection APIs that describe the underlying format, it requires generating the most verbose version of the code. Mechanical code that deals with the generated protocol buffer can be generated rather than relying on generics and abstract implementations.