Interface for coders that can encode and decode values.
[kCoderKind]: symbol
Symbol tag identifying the kind of coder; used to distinguish coder variants without string comparisons.
Encodes a value into a byte buffer and returns the number of bytes written.