macro_rules! graph {
(
with_node: $node:expr,
with_edges: $type:tt,
nodes: [$($ident:expr),*],
connections: [ $($from:expr => {$(($cost:expr) $to:expr),+}),* ]
) => { ... };
(
nodes: [$($ident:expr => $node:expr),*],
connections: [ $($from:expr => {$(($type:tt, $cost:expr) {$($to:expr),+}),+}),* ]
) => { ... };
}