| Some term -> Some (k term)
and aux_capture_variable (term, typ_opt) = k term, aux_opt typ_opt
and aux_patterns patterns = List.map aux_pattern patterns
- and aux_pattern ((head, hrefs, vars), term) =
- ((head, hrefs, List.map aux_capture_variable vars), k term)
+ and aux_pattern =
+ function
+ Ast.Pattern (head, hrefs, vars), term ->
+ Ast.Pattern (head, hrefs, List.map aux_capture_variable vars), k term
+ | Ast.Wildcard, term -> Ast.Wildcard, k term
and aux_subst (name, term) = (name, k term)
and aux_substs substs = List.map aux_subst substs
in
and aux_branch (pattern, term) =
aux_pattern pattern ;
aux term
- and aux_pattern (head, _, vars) =
- List.iter aux_capture_var vars
+ and aux_pattern =
+ function
+ Ast.Pattern (head, _, vars) -> List.iter aux_capture_var vars
+ | Ast.Wildcard -> ()
and aux_definition (params, var, term, decrno) =
List.iter aux_capture_var params ;
aux_capture_var var ;