Since the syntax provided by camlp4o is already an extension of ocaml, I don't see any real problem here.
By the way, the need for parentheses in ocaml is only a consequence of the limitations of LALR parsing.

Camlp4 usual parsing technique is LL(something) and so cannot parse this either. However their is a backtracking hack in Camlp4 to make it work. Maybe we will switch to allowing only simple expressions here.

I just expected camp4o to abide by the ocamlc syntax rules for regular ocaml code (without stream parsers or loaded extensions), otherwise it makes some minor surprises when moving code between files (which are not all processed by camlp4o).