macro_rules! get_field {
($($name:ident: &$T:ty),* $(,)?) => { ... };
($($name:ident: $T:ty),* $(,)?) => { ... };
(@getter $name:ident: &$T:ty) => { ... };
(@getter $name:ident: $T:ty) => { ... };
(@get_mut $name:ident: $T:ty) => { ... };
(@get $name:ident: &$T:ty) => { ... };
(@get $name:ident: $T:ty) => { ... };
}