macro_rules! derive_relocated {
    (struct $ty:ty { $($field:ident)* }) => { ... };
    (enum $ty:ty { $($pat:pat => $($field:ident)*,)* }) => { ... };
}