pub fn to_writer<W: Writer, T: Serialize + ?Sized>(
    write: &mut W,
    value: &T
) -> Result<(), Error>