macro_rules! gen_slice { ($i:expr, $val:expr) => { ... }; }
gen_slice!(I, &[u8]) => I -> Result<I,E> Writes a slice, copying it entirely to the output buffer.
gen_slice!(I, &[u8]) => I -> Result<I,E>