The following program crashes OCamlformat: ```ocaml let (Foo ((A | B) [@attr])) = () ``` OCamlformat tries to format the pattern as "`Foo (A | B)[@attr]`", which causes the attribute to change locations in the AST.