Rust does not seem to behave the same way as C# when it comes to signed integers and attempts to partially represent them.
Any test for signed ints that involved a negative value and incomplete (de)serialization (that is, partial serialization by specifying bit count) currently fail.
read_x_part/write_x_part are no longer public for i8, i16, i32, and i64 until I can fill in this knowledge gap.