+PARSE_TYPED(let_vals, vals,
+ TYPED(let_val, val)) {
+ vals = init_let_vals(val);
+}
+PARSE_TYPED(let_vals, vals,
+ TYPED(let_vals, vals_)
+ TOKEN(COMMA)
+ TYPED(let_val, val)) {
+ vals = add_let_val(vals_, val);
+}
+
+PARSE_TYPED(let_func, func,
+ NAMED(let_func_token, T)
+ TOKEN(LPAREN)
+ TYPED(impl_var, var)
+ TOKEN(COMMA)
+ TYPED(let_vals, vals)
+ TOKEN(RPAREN)) {
+ func = init_let_func(T->type, T->text, var);
+ func->inner = vals;
+ free(T);
+}
+