On the main protobuf page there is no clear support for Rust, so I was just wondering what's the best practice for using protobuf in rust. Am I supposed to use codegen? What value does codegen bring? I think if I don't use codegen, I could do customization for the struct in rust, for example, impl some trait for it. But with codegen, i would lose that flexibility. Is that flexibility discouraged?