macro_rules! getter {
($field:ident -> $typ:ty) => { ... };
(&$field:ident -> $typ:ty) => { ... };
($getter_name:ident -> unwrap_or $field:ident $fallback:expr => $typ:ty) => { ... };
($getter_name:ident -> $field:ident -> $typ:ty) => { ... };
($getter_name:ident -> &$field:ident => $typ:ty) => { ... };
}