fn pack_discrimination<W: Write>(
    discrimination: Discrimination,
    codec: &mut Codec<W>
) -> Result<(), WriteError>