pub trait Write { type Output: ?Sized; fn write(&self, writer: &mut Writer) -> Position<Self::Output>; }