macro_rules! setter {
($buffer : ident, $name : ident, slice, $offset : expr) => { ... };
($buffer : ident, $name : ident, $ty : tt, $offset : expr) => { ... };
($name : ident, u8, $offset : expr) => { ... };
($name : ident, u16, $offset : expr) => { ... };
($name : ident, u32, $offset : expr) => { ... };
($name : ident, u64, $offset : expr) => { ... };
($name : ident, i8, $offset : expr) => { ... };
($name : ident, i16, $offset : expr) => { ... };
($name : ident, i32, $offset : expr) => { ... };
($name : ident, i64, $offset : expr) => { ... };
}