let pnot ?(loc=Lexing.dummy_pos,Lexing.dummy_pos) p2 = match p2.content with | Ptrue -> {p2 with content = Pfalse; loc = loc } | Pfalse -> {p2 with content = Ptrue; loc = loc } | _ -> unamed ~loc (Pnot p2)