In the current rfc for 0.3.0 (#13) I mention the possibility to use this ability within enums and have them be derivable with BinaryIo.
This feature would make the following code block valid:
#[derive(BinaryIo)]
#[repr(u8)]
pub enum NamedEnum {
One { foo: u8 }
}
fn test() {
let a = NamedEnum::One { foo: 3 };
a.write_to_bytes(); // [0, 3]
}