macro_rules! impl_writable {
    (__write) => { ... };
    (__write_all) => { ... };
    () => { ... };
    (with_all) => { ... };
}