id, Some typ
| arg = single_arg -> arg, None
| SYMBOL "_" -> Ast.Ident ("_", None), None
+ | LPAREN; SYMBOL "_"; SYMBOL ":"; typ = term; RPAREN ->
+ Ast.Ident ("_", None), Some typ
]
];
match_pattern: [
[ id = IDENT -> id, None, []
| LPAREN; id = IDENT; vars = LIST1 possibly_typed_name; RPAREN ->
id, None, vars
+ | id = IDENT; vars = LIST1 possibly_typed_name -> id, None, vars
]
];
binder: [