Serialize values from a packed type.
Use fn _serialize_chained to generate a chain serialization function for use within
SubRecord, or just pass the type, value, and field to chain serialize a given value.
A date is stored as a 64-bit integer amount of “ticks” since 00:00:00 UTC on January 1 of year
1 A.D. in the Gregorian calendar, where a “tick” is 100 nanoseconds.
This allows us to either wrap an existing &[T] slice to serialize it OR to store a raw byte
slice from an encoding and access its potentially unaligned values.
A trait which should be given to any type which will always take up the same amount of space
when serialized. This goes one step beyond the Sized trait which only requires it to take up
a set amount of space on the stack. This is saying that the total data it contains and points to
must always be of the exact same size for every instance.