pub fn write<'writer, T: Serialize, W: 'writer + Writer + ?Sized>( writer: &mut W, serialize: impl Fn(T) -> Result<Vec<u8>>, obj: T) -> Result<SizedPointer>