pub fn write_all<ErrType, OutputType>(
    w: &mut OutputType,
    buf: &[u8]
) -> Result<(), ErrType>where
    OutputType: CustomWrite<ErrType>,