Returning a slice would also match the API of `std.fmt.bufPrint` ```zig pub fn encode(self: *Message, buf: []u8) Error![]u8 ``` vs. (current API) ```zig pub fn encode(self: *Message, buf: []u8) Error!usize ```