syntax expr match from "match" s Arg(<expr>, ex) [s]
"{"
[s] Arg([<ident> [s] ":" [s]], n) Arg(<type>, ts) [s] "=>" [s] Arg(<expr>, es) [s]
{ [","] [s] Arg([<ident> [s] ":" [s]], n) Arg(<type>, ts) [s] "=>" [s] Arg(<expr>, es) [s] }
[","] [s] "_" [s] "=>" [s] Arg(<expr>, fe) [s]
[","] [s]
"}"
{
do {
@ts.i {
if is<$ts.i>($ex) {
{|
// Create variable if there is a name
if "$n.i".ref().len() != 0 {
emit("let $n.i $ts.i = as<$ts.i>($ex);");
\}
|}
return $es.i;
\}
}
return $fe;
\}
}