macro_rules! define_logic { ($logic: ident, $op: ident, $sorts: ty, map { $($fv: pat => $rt: path),* }) => { ... }; }