method patt =
fun f p ->
let () = o#node f p Ast.loc_of_patt
in
match p with
| Ast.PaAli (_, p1, p2) ->
pp f "@[<1>(%a@ as@ %a)@]" o#patt p1 o#patt p2
| Ast.PaEq (_, i, p) ->
pp f "@[<2>%a =@ %a@]" o#var_ident i o#patt p
| Ast.PaSem (_, p1, p2) ->
pp f "%a;@ %a" o#patt p1 o#patt p2
| p -> o#patt1 f p