Could macros build on #1847 to create nice syntax for selecting from differently-typed ports? ``` #select { int_port: n { consume_int(n); } str_port: s { consume_str(s); } } ```