fn pack_block_date<W: Write>(
    block_date: BlockDate,
    codec: &mut Codec<W>
) -> Result<(), WriteError>