macro_rules! operation {
($name:expr => {
config: {$($ckey:expr => $cvalue:expr),* $(,)?},
inputs: {$($ikey:expr => $ivalue:expr),* $(,)?},
outputs: {$($okey:expr => $ovalue:expr),* $(,)?},
}) => { ... };
($name:expr => {
inputs: {$($ikey:expr => $ivalue:expr),* $(,)?},
outputs: {$($okey:expr => $ovalue:expr),* $(,)?},
}) => { ... };
}