<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -398,7 +398,7 @@ module Sig =
         (** The name of the extension, typically the module name. *)
         val name : string
           
-        (** The version of the extension, typically $Id: Sig.ml,v 1.2.2.13 2007/06/23 16:00:09 ertai Exp $ with a versionning system. *)
+        (** The version of the extension, typically $Id$ with a versionning system. *)
         val version : string
           
       end
@@ -3431,6 +3431,11 @@ module Struct =
               | Some '\010' -&gt; (Stream.junk __strm; ())
               | _ -&gt; ()
               
+            let chr c =
+              if (c &lt; 0) || (c &gt; 255)
+              then failwith &quot;invalid char token&quot;
+              else Char.chr c
+              
             let rec backslash (__strm : _ Stream.t) =
               match Stream.peek __strm with
               | Some '\010' -&gt; (Stream.junk __strm; '\010')
@@ -3451,7 +3456,7 @@ module Struct =
                          (match Stream.peek __strm with
                           | Some (('0' .. '9' as c3)) -&gt;
                               (Stream.junk __strm;
-                               Char.chr
+                               chr
                                  (((100 * (valch c1)) + (10 * (valch c2))) +
                                     (valch c3)))
                           | _ -&gt; raise (Stream.Error &quot;&quot;)))
@@ -3466,8 +3471,7 @@ module Struct =
                               (('0' .. '9' | 'a' .. 'f' | 'A' .. 'F' as c2))
                               -&gt;
                               (Stream.junk __strm;
-                               Char.chr
-                                 ((16 * (valch_hex c1)) + (valch_hex c2)))
+                               chr ((16 * (valch_hex c1)) + (valch_hex c2)))
                           | _ -&gt; raise (Stream.Error &quot;&quot;)))
                     | _ -&gt; raise (Stream.Error &quot;&quot;)))
               | _ -&gt; raise Stream.Failure
@@ -6323,7 +6327,7 @@ module Struct =
                   in
                     if quotations c
                     then
-                      (move_start_p (-String.length beginning);
+                      (move_start_p (- (String.length beginning));
                        mk_quotation quotation c &quot;&quot; &quot;&quot; 2)
                     else parse (symbolchar_star (&quot;&lt;&lt;&quot; ^ beginning)) c
               | 19 -&gt;
@@ -6494,7 +6498,7 @@ module Struct =
                     Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos
                       lexbuf.Lexing.lex_curr_pos
                   in
-                    (move_start_p (-String.length beginning) c;
+                    (move_start_p (- (String.length beginning)) c;
                      SYMBOL (beginning ^ tok))
               | __ocaml_lex_state -&gt;
                   (lexbuf.Lexing.refill_buff lexbuf;
@@ -6511,7 +6515,7 @@ module Struct =
                     Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos
                       (lexbuf.Lexing.lex_curr_pos + (-1))
                   in
-                    mk_quotation quotation c &quot;&quot; loc (3 + (String.length loc))
+                    mk_quotation quotation c &quot;&quot; loc (1 + (String.length loc))
               | 1 -&gt;
                   let tok =
                     Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos
@@ -6536,7 +6540,7 @@ module Struct =
                       (lexbuf.Lexing.lex_curr_pos + (-1))
                   in
                     mk_quotation quotation c name &quot;&quot;
-                      (3 + (String.length name))
+                      (1 + (String.length name))
               | 1 -&gt;
                   let name =
                     Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos
@@ -6546,7 +6550,7 @@ module Struct =
                       (lexbuf.Lexing.lex_curr_pos + (-1))
                   in
                     mk_quotation quotation c name loc
-                      ((4 + (String.length loc)) + (String.length name))
+                      ((2 + (String.length loc)) + (String.length name))
               | 2 -&gt;
                   let tok =
                     Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos
@@ -14589,6 +14593,7 @@ module Struct =
                     match super#sig_item sg with
                     | Ast.SgSem (_, (Ast.SgNil _), sg) |
                         Ast.SgSem (_, sg, (Ast.SgNil _)) -&gt; sg
+                    | Ast.SgTyp (loc, (Ast.TyNil _)) -&gt; Ast.SgNil loc
                     | sg -&gt; sg
                   
                 method str_item =
@@ -14596,6 +14601,8 @@ module Struct =
                     match super#str_item st with
                     | Ast.StSem (_, (Ast.StNil _), st) |
                         Ast.StSem (_, st, (Ast.StNil _)) -&gt; st
+                    | Ast.StTyp (loc, (Ast.TyNil _)) -&gt; Ast.StNil loc
+                    | Ast.StVal (loc, _, (Ast.BiNil _)) -&gt; Ast.StNil loc
                     | st -&gt; st
                   
                 method module_type =
@@ -17363,8 +17370,7 @@ module Printers =
           struct
             let name = &quot;Camlp4Printers.DumpCamlp4Ast&quot;
               
-            let version =
-              &quot;$Id: DumpCamlp4Ast.ml,v 1.5.4.2 2007/05/22 09:05:39 pouillar Exp $&quot;
+            let version = &quot;$Id$&quot;
               
           end
           
@@ -17407,8 +17413,7 @@ module Printers =
           struct
             let name = &quot;Camlp4Printers.DumpOCamlAst&quot;
               
-            let version =
-              &quot;$Id: DumpOCamlAst.ml,v 1.5.4.2 2007/05/22 09:05:39 pouillar Exp $&quot;
+            let version = &quot;$Id$&quot;
               
           end
           
@@ -17458,13 +17463,9 @@ module Printers =
       end =
       struct
         module Id =
-          struct
-            let name = &quot;Camlp4.Printers.Null&quot;
-              
-            let version =
-              &quot;$Id: Null.ml,v 1.2 2007/02/07 10:09:21 ertai Exp $&quot;
-              
-          end
+          struct let name = &quot;Camlp4.Printers.Null&quot;
+                    let version = &quot;$Id$&quot;
+                       end
           
         module Make (Syntax : Sig.Syntax) =
           struct
@@ -17587,7 +17588,7 @@ module Printers =
                         
                       method ident : formatter -&gt; Ast.ident -&gt; unit
                         
-                      method intlike : formatter -&gt; string -&gt; unit
+                      method numeric : formatter -&gt; string -&gt; string -&gt; unit
                         
                       method binding : formatter -&gt; Ast.binding -&gt; unit
                         
@@ -17724,13 +17725,9 @@ module Printers =
         open Format
           
         module Id =
-          struct
-            let name = &quot;Camlp4.Printers.OCaml&quot;
-              
-            let version =
-              &quot;$Id: OCaml.ml,v 1.21.2.16 2007/07/25 15:49:15 ertai Exp $&quot;
-              
-          end
+          struct let name = &quot;Camlp4.Printers.OCaml&quot;
+                    let version = &quot;$Id$&quot;
+                       end
           
         module Make (Syntax : Sig.Camlp4Syntax) =
           struct
@@ -18094,8 +18091,10 @@ module Printers =
                   fun f -&gt;
                     function
                     | [] -&gt; pp f &quot;[]&quot;
-                    | [ e ] -&gt; pp f &quot;[ %a ]&quot; o#expr e
-                    | el -&gt; pp f &quot;@[&lt;2&gt;[ %a@] ]&quot; (list o#expr &quot;;@ &quot;) el
+                    | [ e ] -&gt; pp f &quot;[ %a ]&quot; o#under_semi#expr e
+                    | el -&gt;
+                        pp f &quot;@[&lt;2&gt;[ %a@] ]&quot; (list o#under_semi#expr &quot;;@ &quot;)
+                          el
                   
                 method expr_list_cons =
                   fun simple f e -&gt;
@@ -18106,8 +18105,8 @@ module Printers =
                       | Some x -&gt;
                           (if simple
                            then pp f &quot;@[&lt;2&gt;(%a)@]&quot;
-                           else pp f &quot;@[&lt;2&gt;%a@]&quot;) (list o#dot_expr &quot; ::@ &quot;)
-                            (el @ [ x ])
+                           else pp f &quot;@[&lt;2&gt;%a@]&quot;)
+                            (list o#under_semi#dot_expr &quot; ::@ &quot;) (el @ [ x ])
                   
                 method patt_expr_fun_args =
                   fun f (p, e) -&gt;
@@ -18136,9 +18135,11 @@ module Printers =
                   
                 method quoted_string = fun f -&gt; pp f &quot;%S&quot;
                   
-                method intlike =
-                  fun f s -&gt;
-                    if s.[0] = '-' then pp f &quot;(%s)&quot; s else pp f &quot;%s&quot; s
+                method numeric =
+                  fun f num suff -&gt;
+                    if num.[0] = '-'
+                    then pp f &quot;(%s%s)&quot; num suff
+                    else pp f &quot;%s%s&quot; num suff
                   
                 method module_expr_get_functor_args =
                   fun accu -&gt;
@@ -18225,9 +18226,9 @@ module Printers =
                          as e) when pipe || semi -&gt;
                           pp f &quot;(%a)&quot; o#reset#expr e
                       | Ast.ExApp (_, (Ast.ExId (_, (Ast.IdLid (_, &quot;~-&quot;)))),
-                          x) -&gt; pp f &quot;@[&lt;2&gt;-@,%a@]&quot; o#expr x
+                          x) -&gt; pp f &quot;@[&lt;2&gt;-@ %a@]&quot; o#dot_expr x
                       | Ast.ExApp (_, (Ast.ExId (_, (Ast.IdLid (_, &quot;~-.&quot;)))),
-                          x) -&gt; pp f &quot;@[&lt;2&gt;-.@,%a@]&quot; o#expr x
+                          x) -&gt; pp f &quot;@[&lt;2&gt;-.@ %a@]&quot; o#dot_expr x
                       | Ast.ExApp (_,
                           (Ast.ExApp (_,
                              (Ast.ExId (_, (Ast.IdUid (_, &quot;::&quot;)))), _)),
@@ -18261,9 +18262,10 @@ module Printers =
                       | Ast.ExAss (_,
                           (Ast.ExAcc (_, e1,
                              (Ast.ExId (_, (Ast.IdLid (_, &quot;val&quot;)))))),
-                          e2) -&gt; pp f &quot;@[&lt;2&gt;%a :=@ %a@]&quot; o#expr e1 o#expr e2
+                          e2) -&gt;
+                          pp f &quot;@[&lt;2&gt;%a :=@ %a@]&quot; o#dot_expr e1 o#expr e2
                       | Ast.ExAss (_, e1, e2) -&gt;
-                          pp f &quot;@[&lt;2&gt;%a@ &lt;-@ %a@]&quot; o#expr e1 o#expr e2
+                          pp f &quot;@[&lt;2&gt;%a@ &lt;-@ %a@]&quot; o#dot_expr e1 o#expr e2
                       | Ast.ExFun (loc, (Ast.McNil _)) -&gt;
                           pp f &quot;@[&lt;2&gt;fun@ _@ -&gt;@ %a@]&quot; o#raise_match_failure
                             loc
@@ -18357,11 +18359,11 @@ module Printers =
                             &quot;@[&lt;hv0&gt;@[&lt;hv2&gt;@[&lt;2&gt;for %a =@ %a@ %a@ %a@ do@]@ %a@]@ done@]&quot;
                             o#var s o#expr e1 o#direction_flag df o#expr e2
                             o#seq e3
-                      | Ast.ExInt (_, s) -&gt; pp f &quot;%a&quot; o#intlike s
-                      | Ast.ExNativeInt (_, s) -&gt; pp f &quot;%an&quot; o#intlike s
-                      | Ast.ExInt64 (_, s) -&gt; pp f &quot;%aL&quot; o#intlike s
-                      | Ast.ExInt32 (_, s) -&gt; pp f &quot;%al&quot; o#intlike s
-                      | Ast.ExFlo (_, s) -&gt; pp f &quot;%s&quot; s
+                      | Ast.ExInt (_, s) -&gt; o#numeric f s &quot;&quot;
+                      | Ast.ExNativeInt (_, s) -&gt; o#numeric f s &quot;n&quot;
+                      | Ast.ExInt64 (_, s) -&gt; o#numeric f s &quot;L&quot;
+                      | Ast.ExInt32 (_, s) -&gt; o#numeric f s &quot;l&quot;
+                      | Ast.ExFlo (_, s) -&gt; o#numeric f s &quot;&quot;
                       | Ast.ExChr (_, s) -&gt; pp f &quot;'%s'&quot; (ocaml_char s)
                       | Ast.ExId (_, i) -&gt; o#var_ident f i
                       | Ast.ExRec (_, b, (Ast.ExNil _)) -&gt;
@@ -18510,11 +18512,11 @@ module Printers =
                       | Ast.PaStr (_, s) -&gt; pp f &quot;\&quot;%s\&quot;&quot; s
                       | Ast.PaTyc (_, p, t) -&gt;
                           pp f &quot;@[&lt;1&gt;(%a :@ %a)@]&quot; o#patt p o#ctyp t
-                      | Ast.PaNativeInt (_, s) -&gt; pp f &quot;%an&quot; o#intlike s
-                      | Ast.PaInt64 (_, s) -&gt; pp f &quot;%aL&quot; o#intlike s
-                      | Ast.PaInt32 (_, s) -&gt; pp f &quot;%al&quot; o#intlike s
-                      | Ast.PaInt (_, s) -&gt; pp f &quot;%a&quot; o#intlike s
-                      | Ast.PaFlo (_, s) -&gt; pp f &quot;%s&quot; s
+                      | Ast.PaNativeInt (_, s) -&gt; o#numeric f s &quot;n&quot;
+                      | Ast.PaInt64 (_, s) -&gt; o#numeric f s &quot;L&quot;
+                      | Ast.PaInt32 (_, s) -&gt; o#numeric f s &quot;l&quot;
+                      | Ast.PaInt (_, s) -&gt; o#numeric f s &quot;&quot;
+                      | Ast.PaFlo (_, s) -&gt; o#numeric f s &quot;&quot;
                       | Ast.PaChr (_, s) -&gt; pp f &quot;'%s'&quot; (ocaml_char s)
                       | Ast.PaLab (_, s, (Ast.PaNil _)) -&gt; pp f &quot;~%s&quot; s
                       | Ast.PaVrn (_, s) -&gt; pp f &quot;`%a&quot; o#var s
@@ -18587,6 +18589,7 @@ module Printers =
                       | Ast.TyVrn (_, s) -&gt; pp f &quot;`%a&quot; o#var s
                       | Ast.TySta (_, t1, t2) -&gt;
                           pp f &quot;%a *@ %a&quot; o#simple_ctyp t1 o#simple_ctyp t2
+                      | Ast.TyNil _ -&gt; assert false
                       | t -&gt; pp f &quot;@[&lt;1&gt;(%a)@]&quot; o#ctyp t
                   
                 method ctyp =
@@ -18945,7 +18948,7 @@ module Printers =
                            cut f;
                            o#class_sig_item f csg2)
                       | Ast.CgCtr (_, t1, t2) -&gt;
-                          pp f &quot;@[&lt;2&gt;type@ %a =@ %a%(%)@]&quot; o#ctyp t1 
+                          pp f &quot;@[&lt;2&gt;constraint@ %a =@ %a%(%)@]&quot; o#ctyp t1
                             o#ctyp t2 semisep
                       | Ast.CgInh (_, ct) -&gt;
                           pp f &quot;@[&lt;2&gt;inherit@ %a%(%)@]&quot; o#class_type ct
@@ -19144,13 +19147,9 @@ module Printers =
         open Format
           
         module Id =
-          struct
-            let name = &quot;Camlp4.Printers.OCamlr&quot;
-              
-            let version =
-              &quot;$Id: OCamlr.ml,v 1.17.4.5 2007/06/05 13:39:52 pouillar Exp $&quot;
-              
-          end
+          struct let name = &quot;Camlp4.Printers.OCamlr&quot;
+                    let version = &quot;$Id$&quot;
+                       end
           
         module Make (Syntax : Sig.Camlp4Syntax) =
           struct
@@ -19341,7 +19340,7 @@ module Printers =
                     in
                       match e with
                       | Ast.ExAss (_, e1, e2) -&gt;
-                          pp f &quot;@[&lt;2&gt;%a@ :=@ %a@]&quot; o#expr e1 o#expr e2
+                          pp f &quot;@[&lt;2&gt;%a@ :=@ %a@]&quot; o#dot_expr e1 o#expr e2
                       | Ast.ExFun (_, (Ast.McArr (_, p, (Ast.ExNil _), e)))
                           when Ast.is_irrefut_patt p -&gt;
                           pp f &quot;@[&lt;2&gt;fun@ %a@]&quot; o#patt_expr_fun_args (p, e)
@@ -19910,7 +19909,8 @@ module OCamlInitSyntax =
                     [ ([ Gram.Stoken
                            (((function | EOI -&gt; true | _ -&gt; false), &quot;EOI&quot;)) ],
                        (Gram.Action.mk
-                          (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                          (fun (__camlp4_0 : Gram.Token.t)
+                             (_loc : Gram.Loc.t) -&gt;
                              match __camlp4_0 with
                              | EOI -&gt; (None : 'top_phrase)
                              | _ -&gt; assert false))) ]) ]))
@@ -19940,7 +19940,7 @@ module OCamlInitSyntax =
                                   &quot;EOI&quot;)) ],
                             (Gram.Action.mk
                                (fun (__camlp4_0 : Gram.Token.t) (x : 'expr)
-                                  (_loc : Loc.t) -&gt;
+                                  (_loc : Gram.Loc.t) -&gt;
                                   match __camlp4_0 with
                                   | EOI -&gt; (x : 'antiquot_expr)
                                   | _ -&gt; assert false))) ]) ]))
@@ -19956,7 +19956,7 @@ module OCamlInitSyntax =
                                   &quot;EOI&quot;)) ],
                             (Gram.Action.mk
                                (fun (__camlp4_0 : Gram.Token.t) (x : 'patt)
-                                  (_loc : Loc.t) -&gt;
+                                  (_loc : Gram.Loc.t) -&gt;
                                   match __camlp4_0 with
                                   | EOI -&gt; (x : 'antiquot_patt)
                                   | _ -&gt; assert false))) ]) ]))
@@ -20076,14 +20076,9 @@ module PreCast :
       
   end =
   struct
-    module Id =
-      struct
-        let name = &quot;Camlp4.PreCast&quot;
-          
-        let version =
-          &quot;$Id: PreCast.ml,v 1.4.4.1 2007/03/30 15:50:12 pouillar Exp $&quot;
-          
-      end
+    module Id = struct let name = &quot;Camlp4.PreCast&quot;
+                          let version = &quot;$Id$&quot;
+                             end
       
     type camlp4_token =
       Sig.camlp4_token =</diff>
      <filename>camlp4/boot/Camlp4.ml</filename>
    </modified>
    <modified>
      <diff>@@ -21,13 +21,9 @@ module R =
  * - Nicolas Pouillard: refactoring
  *)
     module Id =
-      struct
-        let name = &quot;Camlp4RevisedParser&quot;
-          
-        let version =
-          &quot;$Id: Camlp4OCamlRevisedParser.ml,v 1.2.2.26 2007/07/25 13:06:27 ertai Exp $&quot;
-          
-      end
+      struct let name = &quot;Camlp4OCamlRevisedParser&quot;
+                let version = &quot;$Id$&quot;
+                   end
       
     module Make (Syntax : Sig.Camlp4Syntax) =
       struct
@@ -920,6 +916,8 @@ Very old (no more supported) syntax:
             &lt;:patt&lt; ? $i$ : ($p$ = $e$) &gt;&gt;                             *)
             string_list : 'string_list Gram.Entry.t =
             grammar_entry_create &quot;string_list&quot;
+          and fun_def_cont : 'fun_def_cont Gram.Entry.t =
+            grammar_entry_create &quot;fun_def_cont&quot;
           and sequence' : 'sequence' Gram.Entry.t =
             grammar_entry_create &quot;sequence'&quot;
           and infixop6 : 'infixop6 Gram.Entry.t =
@@ -935,8 +933,8 @@ Very old (no more supported) syntax:
                                  (str_items : 'str_items Gram.Entry.t));
                             Gram.Skeyword &quot;end&quot; ],
                           (Gram.Action.mk
-                             (fun _ (st : 'str_items) _ (_loc : Loc.t) -&gt;
-                                (Ast.MeStr (_loc, st) : 'module_expr))));
+                             (fun _ (st : 'str_items) _ (_loc : Gram.Loc.t)
+                                -&gt; (Ast.MeStr (_loc, st) : 'module_expr))));
                          ([ Gram.Skeyword &quot;functor&quot;; Gram.Skeyword &quot;(&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
@@ -948,19 +946,19 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot;; Gram.Skeyword &quot;-&gt;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (me : 'module_expr) _ _ (t : 'module_type)
-                                _ (i : 'a_UIDENT) _ _ (_loc : Loc.t) -&gt;
+                                _ (i : 'a_UIDENT) _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MeFun (_loc, i, t, me) : 'module_expr)))) ]);
                       ((Some &quot;apply&quot;), None,
                        [ ([ Gram.Sself; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (me2 : 'module_expr) (me1 : 'module_expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MeApp (_loc, me1, me2) : 'module_expr)))) ]);
                       ((Some &quot;simple&quot;), None,
                        [ ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (me : 'module_expr) _ (_loc : Loc.t) -&gt;
-                                (me : 'module_expr))));
+                             (fun _ (me : 'module_expr) _ (_loc : Gram.Loc.t)
+                                -&gt; (me : 'module_expr))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;:&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
@@ -968,21 +966,21 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (mt : 'module_type) _ (me : 'module_expr)
-                                _ (_loc : Loc.t) -&gt;
+                                _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MeTyc (_loc, me, mt) : 'module_expr))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (module_longident :
                                    'module_longident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'module_longident) (_loc : Loc.t) -&gt;
-                                (Ast.MeId (_loc, i) : 'module_expr))));
+                             (fun (i : 'module_longident) (_loc : Gram.Loc.t)
+                                -&gt; (Ast.MeId (_loc, i) : 'module_expr))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -996,8 +994,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;mexp\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;mexp&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -1014,14 +1012,14 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.StExp (_loc, e) : 'str_item))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -1035,8 +1033,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;stri\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;stri&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -1052,7 +1050,7 @@ Very old (no more supported) syntax:
                                    'class_type_declaration Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (ctd : 'class_type_declaration) _ _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.StClt (_loc, ctd) : 'str_item))));
                          ([ Gram.Skeyword &quot;class&quot;;
                             Gram.Snterm
@@ -1060,8 +1058,9 @@ Very old (no more supported) syntax:
                                  (class_declaration :
                                    'class_declaration Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (cd : 'class_declaration) _ (_loc : Loc.t)
-                                -&gt; (Ast.StCls (_loc, cd) : 'str_item))));
+                             (fun (cd : 'class_declaration) _
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.StCls (_loc, cd) : 'str_item))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (value_let : 'value_let Gram.Entry.t));
@@ -1073,7 +1072,7 @@ Very old (no more supported) syntax:
                                  (binding : 'binding Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (bi : 'binding) (r : 'opt_rec) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.StVal (_loc, r, bi) : 'str_item))));
                          ([ Gram.Skeyword &quot;type&quot;;
                             Gram.Snterm
@@ -1081,15 +1080,17 @@ Very old (no more supported) syntax:
                                  (type_declaration :
                                    'type_declaration Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (td : 'type_declaration) _ (_loc : Loc.t)
-                                -&gt; (Ast.StTyp (_loc, td) : 'str_item))));
+                             (fun (td : 'type_declaration) _
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.StTyp (_loc, td) : 'str_item))));
                          ([ Gram.Skeyword &quot;open&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (module_longident :
                                    'module_longident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'module_longident) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'module_longident) _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.StOpn (_loc, i) : 'str_item))));
                          ([ Gram.Skeyword &quot;module&quot;; Gram.Skeyword &quot;type&quot;;
                             Gram.Snterm
@@ -1101,7 +1102,7 @@ Very old (no more supported) syntax:
                                  (module_type : 'module_type Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (mt : 'module_type) _ (i : 'a_UIDENT) _ _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.StMty (_loc, i, mt) : 'str_item))));
                          ([ Gram.Skeyword &quot;module&quot;; Gram.Skeyword &quot;rec&quot;;
                             Gram.Snterm
@@ -1109,8 +1110,9 @@ Very old (no more supported) syntax:
                                  (module_binding :
                                    'module_binding Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (mb : 'module_binding) _ _ (_loc : Loc.t)
-                                -&gt; (Ast.StRecMod (_loc, mb) : 'str_item))));
+                             (fun (mb : 'module_binding) _ _
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.StRecMod (_loc, mb) : 'str_item))));
                          ([ Gram.Skeyword &quot;module&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
@@ -1121,15 +1123,15 @@ Very old (no more supported) syntax:
                                    'module_binding0 Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (mb : 'module_binding0) (i : 'a_UIDENT) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.StMod (_loc, i, mb) : 'str_item))));
                          ([ Gram.Skeyword &quot;include&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (module_expr : 'module_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (me : 'module_expr) _ (_loc : Loc.t) -&gt;
-                                (Ast.StInc (_loc, me) : 'str_item))));
+                             (fun (me : 'module_expr) _ (_loc : Gram.Loc.t)
+                                -&gt; (Ast.StInc (_loc, me) : 'str_item))));
                          ([ Gram.Skeyword &quot;external&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
@@ -1143,7 +1145,7 @@ Very old (no more supported) syntax:
                                  (string_list : 'string_list Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (sl : 'string_list) _ (t : 'ctyp) _
-                                (i : 'a_LIDENT) _ (_loc : Loc.t) -&gt;
+                                (i : 'a_LIDENT) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.StExt (_loc, i, t, sl) : 'str_item))));
                          ([ Gram.Skeyword &quot;exception&quot;;
                             Gram.Snterm
@@ -1158,7 +1160,7 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (i : 'type_longident) _
                                 (t : 'constructor_declaration) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.StExc (_loc, t, Ast.OSome i) :
                                   'str_item))));
                          ([ Gram.Skeyword &quot;exception&quot;;
@@ -1168,7 +1170,7 @@ Very old (no more supported) syntax:
                                    'constructor_declaration Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'constructor_declaration) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.StExc (_loc, t, Ast.ONone) : 'str_item)))) ]) ]))
                   ());
              Gram.extend (module_binding0 : 'module_binding0 Gram.Entry.t)
@@ -1180,8 +1182,8 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (module_expr : 'module_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (me : 'module_expr) _ (_loc : Loc.t) -&gt;
-                                (me : 'module_binding0))));
+                             (fun (me : 'module_expr) _ (_loc : Gram.Loc.t)
+                                -&gt; (me : 'module_binding0))));
                          ([ Gram.Skeyword &quot;:&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
@@ -1192,7 +1194,7 @@ Very old (no more supported) syntax:
                                  (module_expr : 'module_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (me : 'module_expr) _ (mt : 'module_type) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MeTyc (_loc, me, mt) : 'module_binding0))));
                          ([ Gram.Skeyword &quot;(&quot;;
                             Gram.Snterm
@@ -1206,7 +1208,7 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (mb : 'module_binding0) _
                                 (mt : 'module_type) _ (m : 'a_UIDENT) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MeFun (_loc, m, mt, mb) :
                                   'module_binding0)))) ]) ]))
                   ());
@@ -1227,15 +1229,15 @@ Very old (no more supported) syntax:
                                  (module_expr : 'module_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (me : 'module_expr) _ (mt : 'module_type) _
-                                (m : 'a_UIDENT) (_loc : Loc.t) -&gt;
+                                (m : 'a_UIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MbColEq (_loc, m, mt, me) :
                                   'module_binding))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -1257,7 +1259,8 @@ Very old (no more supported) syntax:
                                  (module_expr : 'module_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (me : 'module_expr) _ (mt : 'module_type) _
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; as n)), m) -&gt;
                                     (Ast.MbColEq (_loc, mk_anti n m, mt, me) :
@@ -1269,8 +1272,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; as n)), s) -&gt;
                                     (Ast.MbAnt (_loc,
@@ -1285,8 +1288,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;module_binding\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;module_binding&quot; | &quot;anti&quot; | &quot;list&quot; as
@@ -1299,7 +1302,7 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;and&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (b2 : 'module_binding) _
-                                (b1 : 'module_binding) (_loc : Loc.t) -&gt;
+                                (b1 : 'module_binding) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MbAnd (_loc, b1, b2) : 'module_binding)))) ]) ]))
                   ());
              Gram.extend (module_type : 'module_type Gram.Entry.t)
@@ -1314,7 +1317,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;-&gt;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (mt : 'module_type) _ _ (t : 'module_type)
-                                _ (i : 'a_UIDENT) _ _ (_loc : Loc.t) -&gt;
+                                _ (i : 'a_UIDENT) _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MtFun (_loc, i, t, mt) : 'module_type)))) ]);
                       ((Some &quot;with&quot;), None,
                        [ ([ Gram.Sself; Gram.Skeyword &quot;with&quot;;
@@ -1323,7 +1326,7 @@ Very old (no more supported) syntax:
                                  (with_constr : 'with_constr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (wc : 'with_constr) _ (mt : 'module_type)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MtWit (_loc, mt, wc) : 'module_type)))) ]);
                       ((Some &quot;apply&quot;), None,
                        [ ([ Gram.Sself; Gram.Sself;
@@ -1331,13 +1334,13 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (dummy : 'dummy Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun _ (mt2 : 'module_type) (mt1 : 'module_type)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (module_type_app mt1 mt2 : 'module_type)))) ]);
                       ((Some &quot;.&quot;), None,
                        [ ([ Gram.Sself; Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (mt2 : 'module_type) _ (mt1 : 'module_type)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (module_type_acc mt1 mt2 : 'module_type)))) ]);
                       ((Some &quot;sig&quot;), None,
                        [ ([ Gram.Skeyword &quot;sig&quot;;
@@ -1346,19 +1349,19 @@ Very old (no more supported) syntax:
                                  (sig_items : 'sig_items Gram.Entry.t));
                             Gram.Skeyword &quot;end&quot; ],
                           (Gram.Action.mk
-                             (fun _ (sg : 'sig_items) _ (_loc : Loc.t) -&gt;
-                                (Ast.MtSig (_loc, sg) : 'module_type)))) ]);
+                             (fun _ (sg : 'sig_items) _ (_loc : Gram.Loc.t)
+                                -&gt; (Ast.MtSig (_loc, sg) : 'module_type)))) ]);
                       ((Some &quot;simple&quot;), None,
                        [ ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (mt : 'module_type) _ (_loc : Loc.t) -&gt;
-                                (mt : 'module_type))));
+                             (fun _ (mt : 'module_type) _ (_loc : Gram.Loc.t)
+                                -&gt; (mt : 'module_type))));
                          ([ Gram.Skeyword &quot;'&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (a_ident : 'a_ident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_ident) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_ident) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MtQuo (_loc, i) : 'module_type))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -1366,14 +1369,14 @@ Very old (no more supported) syntax:
                                    'module_longident_with_app Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (i : 'module_longident_with_app)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MtId (_loc, i) : 'module_type))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -1387,8 +1390,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;mtyp\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;mtyp&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -1409,7 +1412,7 @@ Very old (no more supported) syntax:
                                    'class_type_declaration Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (ctd : 'class_type_declaration) _ _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.SgClt (_loc, ctd) : 'sig_item))));
                          ([ Gram.Skeyword &quot;class&quot;;
                             Gram.Snterm
@@ -1417,8 +1420,9 @@ Very old (no more supported) syntax:
                                  (class_description :
                                    'class_description Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (cd : 'class_description) _ (_loc : Loc.t)
-                                -&gt; (Ast.SgCls (_loc, cd) : 'sig_item))));
+                             (fun (cd : 'class_description) _
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.SgCls (_loc, cd) : 'sig_item))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (value_val : 'value_val Gram.Entry.t));
@@ -1430,7 +1434,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'ctyp) _ (i : 'a_LIDENT) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.SgVal (_loc, i, t) : 'sig_item))));
                          ([ Gram.Skeyword &quot;type&quot;;
                             Gram.Snterm
@@ -1438,7 +1442,8 @@ Very old (no more supported) syntax:
                                  (type_declaration :
                                    'type_declaration Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (t : 'type_declaration) _ (_loc : Loc.t) -&gt;
+                             (fun (t : 'type_declaration) _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.SgTyp (_loc, t) : 'sig_item))));
                          ([ Gram.Skeyword &quot;open&quot;;
                             Gram.Snterm
@@ -1446,14 +1451,15 @@ Very old (no more supported) syntax:
                                  (module_longident :
                                    'module_longident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'module_longident) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'module_longident) _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.SgOpn (_loc, i) : 'sig_item))));
                          ([ Gram.Skeyword &quot;module&quot;; Gram.Skeyword &quot;type&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (a_UIDENT : 'a_UIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_UIDENT) _ _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_UIDENT) _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.SgMty (_loc, i, Ast.MtNil _loc) :
                                   'sig_item))));
                          ([ Gram.Skeyword &quot;module&quot;; Gram.Skeyword &quot;type&quot;;
@@ -1466,7 +1472,7 @@ Very old (no more supported) syntax:
                                  (module_type : 'module_type Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (mt : 'module_type) _ (i : 'a_UIDENT) _ _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.SgMty (_loc, i, mt) : 'sig_item))));
                          ([ Gram.Skeyword &quot;module&quot;; Gram.Skeyword &quot;rec&quot;;
                             Gram.Snterm
@@ -1475,7 +1481,7 @@ Very old (no more supported) syntax:
                                    'module_rec_declaration Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (mb : 'module_rec_declaration) _ _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.SgRecMod (_loc, mb) : 'sig_item))));
                          ([ Gram.Skeyword &quot;module&quot;;
                             Gram.Snterm
@@ -1487,15 +1493,15 @@ Very old (no more supported) syntax:
                                    'module_declaration Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (mt : 'module_declaration) (i : 'a_UIDENT)
-                                _ (_loc : Loc.t) -&gt;
+                                _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.SgMod (_loc, i, mt) : 'sig_item))));
                          ([ Gram.Skeyword &quot;include&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (module_type : 'module_type Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (mt : 'module_type) _ (_loc : Loc.t) -&gt;
-                                (Ast.SgInc (_loc, mt) : 'sig_item))));
+                             (fun (mt : 'module_type) _ (_loc : Gram.Loc.t)
+                                -&gt; (Ast.SgInc (_loc, mt) : 'sig_item))));
                          ([ Gram.Skeyword &quot;external&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
@@ -1509,7 +1515,7 @@ Very old (no more supported) syntax:
                                  (string_list : 'string_list Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (sl : 'string_list) _ (t : 'ctyp) _
-                                (i : 'a_LIDENT) _ (_loc : Loc.t) -&gt;
+                                (i : 'a_LIDENT) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.SgExt (_loc, i, t, sl) : 'sig_item))));
                          ([ Gram.Skeyword &quot;exception&quot;;
                             Gram.Snterm
@@ -1518,14 +1524,14 @@ Very old (no more supported) syntax:
                                    'constructor_declaration Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'constructor_declaration) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.SgExc (_loc, t) : 'sig_item))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -1539,8 +1545,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;sigi\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;sigi&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -1567,7 +1573,7 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (mt : 'module_declaration) _
                                 (t : 'module_type) _ (i : 'a_UIDENT) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MtFun (_loc, i, t, mt) :
                                   'module_declaration))));
                          ([ Gram.Skeyword &quot;:&quot;;
@@ -1575,8 +1581,8 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (module_type : 'module_type Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (mt : 'module_type) _ (_loc : Loc.t) -&gt;
-                                (mt : 'module_declaration)))) ]) ]))
+                             (fun (mt : 'module_type) _ (_loc : Gram.Loc.t)
+                                -&gt; (mt : 'module_declaration)))) ]) ]))
                   ());
              Gram.extend
                (module_rec_declaration :
@@ -1593,15 +1599,15 @@ Very old (no more supported) syntax:
                                  (module_type : 'module_type Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (mt : 'module_type) _ (m : 'a_UIDENT)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MbCol (_loc, m, mt) :
                                   'module_rec_declaration))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -1617,8 +1623,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;module_binding\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;module_binding&quot; | &quot;anti&quot; |
@@ -1632,8 +1638,8 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;and&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (m2 : 'module_rec_declaration) _
-                                (m1 : 'module_rec_declaration) (_loc : Loc.t)
-                                -&gt;
+                                (m1 : 'module_rec_declaration)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MbAnd (_loc, m1, m2) :
                                   'module_rec_declaration)))) ]) ]))
                   ());
@@ -1653,7 +1659,8 @@ Very old (no more supported) syntax:
                                    'module_longident_with_app Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (i2 : 'module_longident_with_app) _
-                                (i1 : 'module_longident) _ (_loc : Loc.t) -&gt;
+                                (i1 : 'module_longident) _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.WcMod (_loc, i1, i2) : 'with_constr))));
                          ([ Gram.Skeyword &quot;type&quot;;
                             Gram.Snterm
@@ -1667,7 +1674,7 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (t2 : 'ctyp) _
                                 (t1 : 'type_longident_and_parameters) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.WcTyp (_loc, t1, t2) : 'with_constr))));
                          ([ Gram.Skeyword &quot;type&quot;;
                             Gram.Stoken
@@ -1681,7 +1688,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'ctyp) _ (__camlp4_0 : Gram.Token.t) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;typ&quot; | &quot;anti&quot; as n)), s)
                                     -&gt;
@@ -1695,8 +1702,8 @@ Very old (no more supported) syntax:
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -1711,8 +1718,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;with_constr\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;with_constr&quot; | &quot;anti&quot; | &quot;list&quot;
@@ -1725,7 +1732,7 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;and&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (wc2 : 'with_constr) _ (wc1 : 'with_constr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.WcAnd (_loc, wc1, wc2) : 'with_constr)))) ]) ]))
                   ());
              Gram.extend (expr : 'expr Gram.Entry.t)
@@ -1744,8 +1751,9 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;end&quot; ],
                           (Gram.Action.mk
                              (fun _ (cst : 'class_structure)
-                                (csp : 'opt_class_self_patt) _ (_loc : Loc.t)
-                                -&gt; (Ast.ExObj (_loc, csp, cst) : 'expr))));
+                                (csp : 'opt_class_self_patt) _
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.ExObj (_loc, csp, cst) : 'expr))));
                          ([ Gram.Skeyword &quot;while&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
@@ -1756,7 +1764,7 @@ Very old (no more supported) syntax:
                                  (do_sequence : 'do_sequence Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (seq : 'do_sequence) _ (e : 'sequence) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExWhi (_loc, mksequence' _loc e, seq) :
                                   'expr))));
                          ([ Gram.Skeyword &quot;for&quot;;
@@ -1781,7 +1789,7 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (seq : 'do_sequence) _ (e2 : 'sequence)
                                 (df : 'direction_flag) (e1 : 'sequence) _
-                                (i : 'a_LIDENT) _ (_loc : Loc.t) -&gt;
+                                (i : 'a_LIDENT) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExFor (_loc, i, mksequence' _loc e1,
                                    mksequence' _loc e2, df, seq) :
                                   'expr))));
@@ -1790,14 +1798,14 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (do_sequence : 'do_sequence Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (seq : 'do_sequence) _ (_loc : Loc.t) -&gt;
-                                (mksequence _loc seq : 'expr))));
+                             (fun (seq : 'do_sequence) _ (_loc : Gram.Loc.t)
+                                -&gt; (mksequence _loc seq : 'expr))));
                          ([ Gram.Skeyword &quot;if&quot;; Gram.Sself;
                             Gram.Skeyword &quot;then&quot;; Gram.Sself;
                             Gram.Skeyword &quot;else&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e3 : 'expr) _ (e2 : 'expr) _ (e1 : 'expr)
-                                _ (_loc : Loc.t) -&gt;
+                                _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExIfe (_loc, e1, e2, e3) : 'expr))));
                          ([ Gram.Skeyword &quot;try&quot;;
                             Gram.Snterm
@@ -1809,7 +1817,7 @@ Very old (no more supported) syntax:
                                  (match_case : 'match_case Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (a : 'match_case) _ (e : 'sequence) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExTry (_loc, mksequence' _loc e, a) :
                                   'expr))));
                          ([ Gram.Skeyword &quot;match&quot;;
@@ -1822,23 +1830,16 @@ Very old (no more supported) syntax:
                                  (match_case : 'match_case Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (a : 'match_case) _ (e : 'sequence) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExMat (_loc, mksequence' _loc e, a) :
                                   'expr))));
                          ([ Gram.Skeyword &quot;fun&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
-                                 (labeled_ipatt :
-                                   'labeled_ipatt Gram.Entry.t));
-                            Gram.Snterm
-                              (Gram.Entry.obj
                                  (fun_def : 'fun_def Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'fun_def) (p : 'labeled_ipatt) _
-                                (_loc : Loc.t) -&gt;
-                                (Ast.ExFun (_loc,
-                                   Ast.McArr (_loc, p, Ast.ExNil _loc, e)) :
-                                  'expr))));
+                             (fun (e : 'fun_def) _ (_loc : Gram.Loc.t) -&gt;
+                                (e : 'expr))));
                          ([ Gram.Skeyword &quot;fun&quot;; Gram.Skeyword &quot;[&quot;;
                             Gram.Slist0sep
                               (Gram.Snterm
@@ -1848,7 +1849,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
                              (fun _ (a : 'match_case0 list) _ _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExFun (_loc, Ast.mcOr_of_list a) :
                                   'expr))));
                          ([ Gram.Skeyword &quot;let&quot;; Gram.Skeyword &quot;module&quot;;
@@ -1862,7 +1863,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;in&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e : 'expr) _ (mb : 'module_binding0)
-                                (m : 'a_UIDENT) _ _ (_loc : Loc.t) -&gt;
+                                (m : 'a_UIDENT) _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExLmd (_loc, m, mb, e) : 'expr))));
                          ([ Gram.Skeyword &quot;let&quot;;
                             Gram.Snterm
@@ -1874,7 +1875,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;in&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (x : 'expr) _ (bi : 'binding)
-                                (r : 'opt_rec) _ (_loc : Loc.t) -&gt;
+                                (r : 'opt_rec) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExLet (_loc, r, bi, x) : 'expr)))) ]);
                       ((Some &quot;where&quot;), None,
                        [ ([ Gram.Sself; Gram.Skeyword &quot;where&quot;;
@@ -1886,7 +1887,7 @@ Very old (no more supported) syntax:
                                  (let_binding : 'let_binding Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (lb : 'let_binding) (rf : 'opt_rec) _
-                                (e : 'expr) (_loc : Loc.t) -&gt;
+                                (e : 'expr) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExLet (_loc, rf, lb, e) : 'expr)))) ]);
                       ((Some &quot;:=&quot;), (Some Camlp4.Sig.Grammar.NonA),
                        [ ([ Gram.Sself; Gram.Skeyword &quot;:=&quot;; Gram.Sself;
@@ -1894,7 +1895,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (dummy : 'dummy Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun _ (e2 : 'expr) _ (e1 : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (match bigarray_set _loc e1 e2 with
                                  | Some e -&gt; e
                                  | None -&gt; Ast.ExAss (_loc, e1, e2) : 'expr)))) ]);
@@ -1906,7 +1907,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e2 : 'expr) (op : 'infixop6) (e1 : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc, Ast.ExApp (_loc, op, e1),
                                    e2) :
                                   'expr)))) ]);
@@ -1918,7 +1919,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e2 : 'expr) (op : 'infixop5) (e1 : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc, Ast.ExApp (_loc, op, e1),
                                    e2) :
                                   'expr)))) ]);
@@ -1930,7 +1931,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e2 : 'expr) (op : 'infixop0) (e1 : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc, Ast.ExApp (_loc, op, e1),
                                    e2) :
                                   'expr)))) ]);
@@ -1942,7 +1943,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e2 : 'expr) (op : 'infixop1) (e1 : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc, Ast.ExApp (_loc, op, e1),
                                    e2) :
                                   'expr)))) ]);
@@ -1954,7 +1955,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e2 : 'expr) (op : 'infixop2) (e1 : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc, Ast.ExApp (_loc, op, e1),
                                    e2) :
                                   'expr)))) ]);
@@ -1966,14 +1967,14 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e2 : 'expr) (op : 'infixop3) (e1 : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc, Ast.ExApp (_loc, op, e1),
                                    e2) :
                                   'expr))));
                          ([ Gram.Sself; Gram.Skeyword &quot;mod&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e2 : 'expr) _ (e1 : 'expr) (_loc : Loc.t)
-                                -&gt;
+                             (fun (e2 : 'expr) _ (e1 : 'expr)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc,
                                    Ast.ExApp (_loc,
                                      Ast.ExId (_loc, Ast.IdLid (_loc, &quot;mod&quot;)),
@@ -1982,8 +1983,8 @@ Very old (no more supported) syntax:
                                   'expr))));
                          ([ Gram.Sself; Gram.Skeyword &quot;lxor&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e2 : 'expr) _ (e1 : 'expr) (_loc : Loc.t)
-                                -&gt;
+                             (fun (e2 : 'expr) _ (e1 : 'expr)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc,
                                    Ast.ExApp (_loc,
                                      Ast.ExId (_loc,
@@ -1993,8 +1994,8 @@ Very old (no more supported) syntax:
                                   'expr))));
                          ([ Gram.Sself; Gram.Skeyword &quot;lor&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e2 : 'expr) _ (e1 : 'expr) (_loc : Loc.t)
-                                -&gt;
+                             (fun (e2 : 'expr) _ (e1 : 'expr)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc,
                                    Ast.ExApp (_loc,
                                      Ast.ExId (_loc, Ast.IdLid (_loc, &quot;lor&quot;)),
@@ -2003,8 +2004,8 @@ Very old (no more supported) syntax:
                                   'expr))));
                          ([ Gram.Sself; Gram.Skeyword &quot;land&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e2 : 'expr) _ (e1 : 'expr) (_loc : Loc.t)
-                                -&gt;
+                             (fun (e2 : 'expr) _ (e1 : 'expr)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc,
                                    Ast.ExApp (_loc,
                                      Ast.ExId (_loc,
@@ -2020,14 +2021,14 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e2 : 'expr) (op : 'infixop4) (e1 : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc, Ast.ExApp (_loc, op, e1),
                                    e2) :
                                   'expr))));
                          ([ Gram.Sself; Gram.Skeyword &quot;lsr&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e2 : 'expr) _ (e1 : 'expr) (_loc : Loc.t)
-                                -&gt;
+                             (fun (e2 : 'expr) _ (e1 : 'expr)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc,
                                    Ast.ExApp (_loc,
                                      Ast.ExId (_loc, Ast.IdLid (_loc, &quot;lsr&quot;)),
@@ -2036,8 +2037,8 @@ Very old (no more supported) syntax:
                                   'expr))));
                          ([ Gram.Sself; Gram.Skeyword &quot;lsl&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e2 : 'expr) _ (e1 : 'expr) (_loc : Loc.t)
-                                -&gt;
+                             (fun (e2 : 'expr) _ (e1 : 'expr)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc,
                                    Ast.ExApp (_loc,
                                      Ast.ExId (_loc, Ast.IdLid (_loc, &quot;lsl&quot;)),
@@ -2046,8 +2047,8 @@ Very old (no more supported) syntax:
                                   'expr))));
                          ([ Gram.Sself; Gram.Skeyword &quot;asr&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e2 : 'expr) _ (e1 : 'expr) (_loc : Loc.t)
-                                -&gt;
+                             (fun (e2 : 'expr) _ (e1 : 'expr)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc,
                                    Ast.ExApp (_loc,
                                      Ast.ExId (_loc, Ast.IdLid (_loc, &quot;asr&quot;)),
@@ -2057,16 +2058,16 @@ Very old (no more supported) syntax:
                       ((Some &quot;unary minus&quot;), (Some Camlp4.Sig.Grammar.NonA),
                        [ ([ Gram.Skeyword &quot;-.&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (mkumin _loc &quot;-.&quot; e : 'expr))));
                          ([ Gram.Skeyword &quot;-&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (mkumin _loc &quot;-&quot; e : 'expr)))) ]);
                       ((Some &quot;apply&quot;), (Some Camlp4.Sig.Grammar.LeftA),
                        [ ([ Gram.Skeyword &quot;lazy&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExLaz (_loc, e) : 'expr))));
                          ([ Gram.Skeyword &quot;new&quot;;
                             Gram.Snterm
@@ -2074,15 +2075,17 @@ Very old (no more supported) syntax:
                                  (class_longident :
                                    'class_longident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'class_longident) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'class_longident) _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExNew (_loc, i) : 'expr))));
                          ([ Gram.Skeyword &quot;assert&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (mkassert _loc e : 'expr))));
                          ([ Gram.Sself; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e2 : 'expr) (e1 : 'expr) (_loc : Loc.t) -&gt;
+                             (fun (e2 : 'expr) (e1 : 'expr)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc, e1, e2) : 'expr)))) ]);
                       ((Some &quot;label&quot;), (Some Camlp4.Sig.Grammar.NonA),
                        [ ([ Gram.Skeyword &quot;?&quot;;
@@ -2090,7 +2093,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_LIDENT) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_LIDENT) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExOlb (_loc, i, Ast.ExNil _loc) : 'expr))));
                          ([ Gram.Skeyword &quot;?&quot;;
                             Gram.Snterm
@@ -2099,7 +2102,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;:&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e : 'expr) _ (i : 'a_LIDENT) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExOlb (_loc, i, e) : 'expr))));
                          ([ Gram.Stoken
                               (((function | OPTLABEL _ -&gt; true | _ -&gt; false),
@@ -2107,7 +2110,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e : 'expr) (__camlp4_0 : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | OPTLABEL i -&gt;
                                     (Ast.ExOlb (_loc, i, e) : 'expr)
@@ -2118,7 +2121,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e : 'expr) (__camlp4_0 : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LABEL i -&gt; (Ast.ExLab (_loc, i, e) : 'expr)
                                 | _ -&gt; assert false)));
@@ -2127,7 +2130,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_LIDENT) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_LIDENT) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExLab (_loc, i, Ast.ExNil _loc) : 'expr))));
                          ([ Gram.Skeyword &quot;~&quot;;
                             Gram.Snterm
@@ -2136,19 +2139,21 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;:&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e : 'expr) _ (i : 'a_LIDENT) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExLab (_loc, i, e) : 'expr)))) ]);
                       ((Some &quot;.&quot;), (Some Camlp4.Sig.Grammar.LeftA),
                        [ ([ Gram.Sself; Gram.Skeyword &quot;#&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj (label : 'label Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (lab : 'label) _ (e : 'expr) (_loc : Loc.t)
-                                -&gt; (Ast.ExSnd (_loc, e, lab) : 'expr))));
+                             (fun (lab : 'label) _ (e : 'expr)
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.ExSnd (_loc, e, lab) : 'expr))));
                          ([ Gram.Sself; Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e2 : 'expr) _ (e1 : 'expr) (_loc : Loc.t)
-                                -&gt; (Ast.ExAcc (_loc, e1, e2) : 'expr))));
+                             (fun (e2 : 'expr) _ (e1 : 'expr)
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.ExAcc (_loc, e1, e2) : 'expr))));
                          ([ Gram.Sself; Gram.Skeyword &quot;.&quot;; Gram.Skeyword &quot;{&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
@@ -2156,19 +2161,19 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;}&quot; ],
                           (Gram.Action.mk
                              (fun _ (e2 : 'comma_expr) _ _ (e1 : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (bigarray_get _loc e1 e2 : 'expr))));
                          ([ Gram.Sself; Gram.Skeyword &quot;.&quot;; Gram.Skeyword &quot;[&quot;;
                             Gram.Sself; Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
                              (fun _ (e2 : 'expr) _ _ (e1 : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExSte (_loc, e1, e2) : 'expr))));
                          ([ Gram.Sself; Gram.Skeyword &quot;.&quot;; Gram.Skeyword &quot;(&quot;;
                             Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (e2 : 'expr) _ _ (e1 : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExAre (_loc, e1, e2) : 'expr)))) ]);
                       ((Some &quot;~-&quot;), (Some Camlp4.Sig.Grammar.NonA),
                        [ ([ Gram.Snterm
@@ -2176,18 +2181,19 @@ Very old (no more supported) syntax:
                                  (prefixop : 'prefixop Gram.Entry.t));
                             Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) (f : 'prefixop) (_loc : Loc.t)
-                                -&gt; (Ast.ExApp (_loc, f, e) : 'expr))));
+                             (fun (e : 'expr) (f : 'prefixop)
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.ExApp (_loc, f, e) : 'expr))));
                          ([ Gram.Skeyword &quot;!&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExAcc (_loc, e,
                                    Ast.ExId (_loc, Ast.IdLid (_loc, &quot;val&quot;))) :
                                   'expr)))) ]);
                       ((Some &quot;simple&quot;), None,
                        [ ([ Gram.Skeyword &quot;begin&quot;; Gram.Skeyword &quot;end&quot; ],
                           (Gram.Action.mk
-                             (fun _ _ (_loc : Loc.t) -&gt;
+                             (fun _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExId (_loc, Ast.IdUid (_loc, &quot;()&quot;)) :
                                   'expr))));
                          ([ Gram.Skeyword &quot;begin&quot;;
@@ -2196,11 +2202,11 @@ Very old (no more supported) syntax:
                                  (sequence : 'sequence Gram.Entry.t));
                             Gram.Skeyword &quot;end&quot; ],
                           (Gram.Action.mk
-                             (fun _ (seq : 'sequence) _ (_loc : Loc.t) -&gt;
-                                (mksequence _loc seq : 'expr))));
+                             (fun _ (seq : 'sequence) _ (_loc : Gram.Loc.t)
+                                -&gt; (mksequence _loc seq : 'expr))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (e : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun _ (e : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (e : 'expr))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself;
                             Gram.Skeyword &quot;:&gt;&quot;;
@@ -2209,7 +2215,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (t : 'ctyp) _ (e : 'expr) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExCoe (_loc, e, Ast.TyNil _loc, t) :
                                   'expr))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;:&quot;;
@@ -2221,7 +2227,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (t2 : 'ctyp) _ (t : 'ctyp) _ (e : 'expr)
-                                _ (_loc : Loc.t) -&gt;
+                                _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExCoe (_loc, e, t, t2) : 'expr))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;;&quot;;
                             Gram.Snterm
@@ -2230,7 +2236,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (seq : 'sequence) _ (e : 'expr) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (mksequence _loc (Ast.ExSem (_loc, e, seq)) :
                                   'expr))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;,&quot;;
@@ -2240,7 +2246,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (el : 'comma_expr) _ (e : 'expr) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExTup (_loc, Ast.ExCom (_loc, e, el)) :
                                   'expr))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;:&quot;;
@@ -2249,11 +2255,11 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (t : 'ctyp) _ (e : 'expr) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExTyc (_loc, e, t) : 'expr))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ _ (_loc : Loc.t) -&gt;
+                             (fun _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExId (_loc, Ast.IdUid (_loc, &quot;()&quot;)) :
                                   'expr))));
                          ([ Gram.Skeyword &quot;{&lt;&quot;;
@@ -2262,11 +2268,11 @@ Very old (no more supported) syntax:
                                  (field_expr : 'field_expr Gram.Entry.t));
                             Gram.Skeyword &quot;&gt;}&quot; ],
                           (Gram.Action.mk
-                             (fun _ (fel : 'field_expr) _ (_loc : Loc.t) -&gt;
-                                (Ast.ExOvr (_loc, fel) : 'expr))));
+                             (fun _ (fel : 'field_expr) _ (_loc : Gram.Loc.t)
+                                -&gt; (Ast.ExOvr (_loc, fel) : 'expr))));
                          ([ Gram.Skeyword &quot;{&lt;&quot;; Gram.Skeyword &quot;&gt;}&quot; ],
                           (Gram.Action.mk
-                             (fun _ _ (_loc : Loc.t) -&gt;
+                             (fun _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExOvr (_loc, Ast.RbNil _loc) : 'expr))));
                          ([ Gram.Skeyword &quot;{&quot;; Gram.Skeyword &quot;(&quot;; Gram.Sself;
                             Gram.Skeyword &quot;)&quot;; Gram.Skeyword &quot;with&quot;;
@@ -2276,7 +2282,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;}&quot; ],
                           (Gram.Action.mk
                              (fun _ (el : 'label_expr) _ _ (e : 'expr) _ _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExRec (_loc, el, e) : 'expr))));
                          ([ Gram.Skeyword &quot;{&quot;;
                             Gram.Snterm
@@ -2284,7 +2290,8 @@ Very old (no more supported) syntax:
                                  (label_expr : 'label_expr Gram.Entry.t));
                             Gram.Skeyword &quot;}&quot; ],
                           (Gram.Action.mk
-                             (fun _ (el : 'label_expr) _ (_loc : Loc.t) -&gt;
+                             (fun _ (el : 'label_expr) _ (_loc : Gram.Loc.t)
+                                -&gt;
                                 (Ast.ExRec (_loc, el, Ast.ExNil _loc) :
                                   'expr))));
                          ([ Gram.Skeyword &quot;[|&quot;;
@@ -2293,11 +2300,11 @@ Very old (no more supported) syntax:
                                  (sem_expr : 'sem_expr Gram.Entry.t));
                             Gram.Skeyword &quot;|]&quot; ],
                           (Gram.Action.mk
-                             (fun _ (el : 'sem_expr) _ (_loc : Loc.t) -&gt;
+                             (fun _ (el : 'sem_expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExArr (_loc, el) : 'expr))));
                          ([ Gram.Skeyword &quot;[|&quot;; Gram.Skeyword &quot;|]&quot; ],
                           (Gram.Action.mk
-                             (fun _ _ (_loc : Loc.t) -&gt;
+                             (fun _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExArr (_loc, Ast.ExNil _loc) : 'expr))));
                          ([ Gram.Skeyword &quot;[&quot;;
                             Gram.Snterm
@@ -2307,7 +2314,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
                              (fun _ (mk_list : 'sem_expr_for_list) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (mk_list
                                    (Ast.ExId (_loc, Ast.IdUid (_loc, &quot;[]&quot;))) :
                                   'expr))));
@@ -2320,10 +2327,10 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun _ (last : 'expr) _
                                 (mk_list : 'sem_expr_for_list) _
-                                (_loc : Loc.t) -&gt; (mk_list last : 'expr))));
+                                (_loc : Gram.Loc.t) -&gt; (mk_list last : 'expr))));
                          ([ Gram.Skeyword &quot;[&quot;; Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
-                             (fun _ _ (_loc : Loc.t) -&gt;
+                             (fun _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExId (_loc, Ast.IdUid (_loc, &quot;[]&quot;)) :
                                   'expr))));
                          ([ Gram.Skeyword &quot;`&quot;;
@@ -2331,54 +2338,54 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_ident : 'a_ident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_ident) _ (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_ident) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExVrn (_loc, s) : 'expr))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (val_longident :
                                    'val_longident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'val_longident) (_loc : Loc.t) -&gt;
+                             (fun (i : 'val_longident) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExId (_loc, i) : 'expr))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (a_CHAR : 'a_CHAR Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_CHAR) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_CHAR) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExChr (_loc, s) : 'expr))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_STRING : 'a_STRING Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_STRING) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_STRING) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExStr (_loc, s) : 'expr))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_FLOAT : 'a_FLOAT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_FLOAT) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_FLOAT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExFlo (_loc, s) : 'expr))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_NATIVEINT : 'a_NATIVEINT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_NATIVEINT) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_NATIVEINT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExNativeInt (_loc, s) : 'expr))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_INT64 : 'a_INT64 Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_INT64) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_INT64) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExInt64 (_loc, s) : 'expr))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_INT32 : 'a_INT32 Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_INT32) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_INT32) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExInt32 (_loc, s) : 'expr))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (a_INT : 'a_INT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_INT) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_INT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExInt (_loc, s) : 'expr))));
                          ([ Gram.Stoken
                               (((function
@@ -2386,8 +2393,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;seq\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;seq&quot; as n)), s) -&gt;
                                     (Ast.ExSeq (_loc,
@@ -2401,8 +2408,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;tup\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;tup&quot; as n)), s) -&gt;
                                     (Ast.ExTup (_loc,
@@ -2416,11 +2423,13 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;`bool\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;`bool&quot; as n)), s) -&gt;
-                                    (Ast.ExAnt (_loc, mk_anti n s) : 'expr)
+                                    (Ast.ExId (_loc,
+                                       Ast.IdAnt (_loc, mk_anti n s)) :
+                                      'expr)
                                 | _ -&gt; assert false)));
                          ([ Gram.Stoken
                               (((function
@@ -2429,8 +2438,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;exp\&quot; | \&quot;\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;exp&quot; | &quot;&quot; | &quot;anti&quot; as n)), s)
                                     -&gt;
@@ -2441,8 +2450,8 @@ Very old (no more supported) syntax:
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -2463,16 +2472,16 @@ Very old (no more supported) syntax:
                                  (sequence : 'sequence Gram.Entry.t));
                             Gram.Skeyword &quot;done&quot; ],
                           (Gram.Action.mk
-                             (fun _ (seq : 'sequence) _ (_loc : Loc.t) -&gt;
-                                (seq : 'do_sequence))));
+                             (fun _ (seq : 'sequence) _ (_loc : Gram.Loc.t)
+                                -&gt; (seq : 'do_sequence))));
                          ([ Gram.Skeyword &quot;{&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (sequence : 'sequence Gram.Entry.t));
                             Gram.Skeyword &quot;}&quot; ],
                           (Gram.Action.mk
-                             (fun _ (seq : 'sequence) _ (_loc : Loc.t) -&gt;
-                                (seq : 'do_sequence)))) ]) ]))
+                             (fun _ (seq : 'sequence) _ (_loc : Gram.Loc.t)
+                                -&gt; (seq : 'do_sequence)))) ]) ]))
                   ());
              Gram.extend (infixop5 : 'infixop5 Gram.Entry.t)
                ((fun () -&gt;
@@ -2481,14 +2490,16 @@ Very old (no more supported) syntax:
                        [ ([ Gram.srules infixop5
                               [ ([ Gram.Skeyword &quot;&amp;&amp;&quot; ],
                                  (Gram.Action.mk
-                                    (fun (x : Gram.Token.t) (_loc : Loc.t) -&gt;
-                                       (Token.extract_string x : 'e__1))));
+                                    (fun (x : Gram.Token.t)
+                                       (_loc : Gram.Loc.t) -&gt;
+                                       (Gram.Token.extract_string x : 'e__1))));
                                 ([ Gram.Skeyword &quot;&amp;&quot; ],
                                  (Gram.Action.mk
-                                    (fun (x : Gram.Token.t) (_loc : Loc.t) -&gt;
-                                       (Token.extract_string x : 'e__1)))) ] ],
+                                    (fun (x : Gram.Token.t)
+                                       (_loc : Gram.Loc.t) -&gt;
+                                       (Gram.Token.extract_string x : 'e__1)))) ] ],
                           (Gram.Action.mk
-                             (fun (x : 'e__1) (_loc : Loc.t) -&gt;
+                             (fun (x : 'e__1) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExId (_loc, Ast.IdLid (_loc, x)) :
                                   'infixop5)))) ]) ]))
                   ());
@@ -2499,14 +2510,16 @@ Very old (no more supported) syntax:
                        [ ([ Gram.srules infixop6
                               [ ([ Gram.Skeyword &quot;||&quot; ],
                                  (Gram.Action.mk
-                                    (fun (x : Gram.Token.t) (_loc : Loc.t) -&gt;
-                                       (Token.extract_string x : 'e__2))));
+                                    (fun (x : Gram.Token.t)
+                                       (_loc : Gram.Loc.t) -&gt;
+                                       (Gram.Token.extract_string x : 'e__2))));
                                 ([ Gram.Skeyword &quot;or&quot; ],
                                  (Gram.Action.mk
-                                    (fun (x : Gram.Token.t) (_loc : Loc.t) -&gt;
-                                       (Token.extract_string x : 'e__2)))) ] ],
+                                    (fun (x : Gram.Token.t)
+                                       (_loc : Gram.Loc.t) -&gt;
+                                       (Gram.Token.extract_string x : 'e__2)))) ] ],
                           (Gram.Action.mk
-                             (fun (x : 'e__2) (_loc : Loc.t) -&gt;
+                             (fun (x : 'e__2) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExId (_loc, Ast.IdLid (_loc, x)) :
                                   'infixop6)))) ]) ]))
                   ());
@@ -2518,7 +2531,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) (_loc : Gram.Loc.t) -&gt;
                                 (fun acc -&gt;
                                    Ast.ExApp (_loc,
                                      Ast.ExApp (_loc,
@@ -2532,7 +2545,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (el : 'sem_expr_for_list) _ (e : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (fun acc -&gt;
                                    Ast.ExApp (_loc,
                                      Ast.ExApp (_loc,
@@ -2549,7 +2562,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) (_loc : Gram.Loc.t) -&gt;
                                 (e : 'comma_expr))));
                          ([ Gram.Stoken
                               (((function
@@ -2557,8 +2570,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.ExAnt (_loc,
@@ -2568,7 +2581,7 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;,&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e2 : 'comma_expr) _ (e1 : 'comma_expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExCom (_loc, e1, e2) : 'comma_expr)))) ]) ]))
                   ());
              Gram.extend (dummy : 'dummy Gram.Entry.t)
@@ -2577,7 +2590,7 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt; (() : 'dummy)))) ]) ]))
+                             (fun (_loc : Gram.Loc.t) -&gt; (() : 'dummy)))) ]) ]))
                   ());
              Gram.extend (sequence' : 'sequence' Gram.Entry.t)
                ((fun () -&gt;
@@ -2588,16 +2601,17 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (sequence : 'sequence Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (el : 'sequence) _ (_loc : Loc.t) -&gt;
+                             (fun (el : 'sequence) _ (_loc : Gram.Loc.t) -&gt;
                                 (fun e -&gt; Ast.ExSem (_loc, e, el) :
                                   'sequence'))));
                          ([ Gram.Skeyword &quot;;&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (fun e -&gt; e : 'sequence'))));
                          ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt; (fun e -&gt; e : 'sequence')))) ]) ]))
+                             (fun (_loc : Gram.Loc.t) -&gt;
+                                (fun e -&gt; e : 'sequence')))) ]) ]))
                   ());
              Gram.extend (sequence : 'sequence Gram.Entry.t)
                ((fun () -&gt;
@@ -2609,16 +2623,16 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (sequence' : 'sequence' Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (k : 'sequence') (e : 'expr) (_loc : Loc.t)
-                                -&gt; (k e : 'sequence))));
+                             (fun (k : 'sequence') (e : 'expr)
+                                (_loc : Gram.Loc.t) -&gt; (k e : 'sequence))));
                          ([ Gram.Stoken
                               (((function
                                  | ANTIQUOT (&quot;list&quot;, _) -&gt; true
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.ExAnt (_loc,
@@ -2636,7 +2650,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (el : 'sequence) _ (mb : 'module_binding0)
-                                (m : 'a_UIDENT) _ _ (_loc : Loc.t) -&gt;
+                                (m : 'a_UIDENT) _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExLmd (_loc, m, mb, mksequence _loc el) :
                                   'sequence))));
                          ([ Gram.Skeyword &quot;let&quot;; Gram.Skeyword &quot;module&quot;;
@@ -2656,7 +2670,7 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (k : 'sequence') (e : 'expr) _
                                 (mb : 'module_binding0) (m : 'a_UIDENT) _ _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (k (Ast.ExLmd (_loc, m, mb, e)) : 'sequence))));
                          ([ Gram.Skeyword &quot;let&quot;;
                             Gram.Snterm
@@ -2668,7 +2682,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (el : 'sequence) _ (bi : 'binding)
-                                (rf : 'opt_rec) _ (_loc : Loc.t) -&gt;
+                                (rf : 'opt_rec) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExLet (_loc, rf, bi, mksequence _loc el) :
                                   'sequence))));
                          ([ Gram.Skeyword &quot;let&quot;;
@@ -2687,7 +2701,7 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (k : 'sequence') (e : 'expr) _
                                 (bi : 'binding) (rf : 'opt_rec) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (k (Ast.ExLet (_loc, rf, bi, e)) : 'sequence)))) ]) ]))
                   ());
              Gram.extend (binding : 'binding Gram.Entry.t)
@@ -2698,12 +2712,12 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (let_binding : 'let_binding Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (b : 'let_binding) (_loc : Loc.t) -&gt;
+                             (fun (b : 'let_binding) (_loc : Gram.Loc.t) -&gt;
                                 (b : 'binding))));
                          ([ Gram.Sself; Gram.Skeyword &quot;and&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (b2 : 'binding) _ (b1 : 'binding)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.BiAnd (_loc, b1, b2) : 'binding))));
                          ([ Gram.Stoken
                               (((function
@@ -2711,8 +2725,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;anti&quot; as n)), s) -&gt;
                                     (Ast.BiAnt (_loc,
@@ -2729,7 +2743,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e : 'expr) _ (__camlp4_0 : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;anti&quot; as n)), s) -&gt;
                                     (Ast.BiEq (_loc,
@@ -2744,8 +2758,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;binding\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;binding&quot; | &quot;list&quot; as n)), s)
                                     -&gt;
@@ -2765,7 +2779,7 @@ Very old (no more supported) syntax:
                                  (fun_binding : 'fun_binding Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e : 'fun_binding) (p : 'ipatt)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.BiEq (_loc, p, e) : 'let_binding)))) ]) ]))
                   ());
              Gram.extend (fun_binding : 'fun_binding Gram.Entry.t)
@@ -2779,8 +2793,8 @@ Very old (no more supported) syntax:
                             Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (t : 'ctyp) _ (_loc : Loc.t)
-                                -&gt;
+                             (fun (e : 'expr) _ (t : 'ctyp) _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExCoe (_loc, e, Ast.TyNil _loc, t) :
                                   'fun_binding))));
                          ([ Gram.Skeyword &quot;:&quot;;
@@ -2790,13 +2804,14 @@ Very old (no more supported) syntax:
                             Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (t : 'ctyp) _ (_loc : Loc.t)
-                                -&gt; (Ast.ExTyc (_loc, e, t) : 'fun_binding))));
+                             (fun (e : 'expr) _ (t : 'ctyp) _
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.ExTyc (_loc, e, t) : 'fun_binding))));
                          ([ Gram.Skeyword &quot;=&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (e : 'fun_binding))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -2805,7 +2820,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (e : 'fun_binding) (p : 'labeled_ipatt)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExFun (_loc,
                                    Ast.McArr (_loc, p, Ast.ExNil _loc, e)) :
                                   'fun_binding)))) ]) ]))
@@ -2820,8 +2835,8 @@ Very old (no more supported) syntax:
                             Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (p : 'ipatt) (_loc : Loc.t)
-                                -&gt;
+                             (fun (e : 'expr) _ (p : 'ipatt)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.McArr (_loc, p, Ast.ExNil _loc, e) :
                                   'match_case))));
                          ([ Gram.Skeyword &quot;[&quot;;
@@ -2832,8 +2847,9 @@ Very old (no more supported) syntax:
                               Gram.Skeyword &quot;|&quot;);
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
-                             (fun _ (l : 'match_case0 list) _ (_loc : Loc.t)
-                                -&gt; (Ast.mcOr_of_list l : 'match_case)))) ]) ]))
+                             (fun _ (l : 'match_case0 list) _
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.mcOr_of_list l : 'match_case)))) ]) ]))
                   ());
              Gram.extend (match_case0 : 'match_case0 Gram.Entry.t)
                ((fun () -&gt;
@@ -2852,8 +2868,8 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e : 'expr) _ (w : 'opt_when_expr)
-                                (p : 'patt_as_patt_opt) (_loc : Loc.t) -&gt;
-                                (Ast.McArr (_loc, p, w, e) : 'match_case0))));
+                                (p : 'patt_as_patt_opt) (_loc : Gram.Loc.t)
+                                -&gt; (Ast.McArr (_loc, p, w, e) : 'match_case0))));
                          ([ Gram.Stoken
                               (((function
                                  | ANTIQUOT ((&quot;&quot; | &quot;anti&quot;), _) -&gt; true
@@ -2867,7 +2883,8 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e : 'expr) _ (w : 'expr) _
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;anti&quot; as n)), s) -&gt;
                                     (Ast.McArr (_loc,
@@ -2886,7 +2903,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e : 'expr) _ (__camlp4_0 : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;anti&quot; as n)), s) -&gt;
                                     (Ast.McArr (_loc,
@@ -2901,8 +2918,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;anti&quot; as n)), s) -&gt;
                                     (Ast.McAnt (_loc,
@@ -2916,8 +2933,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;match_case\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;match_case&quot; | &quot;list&quot; as n)),
                                     s) -&gt;
@@ -2932,13 +2949,13 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExNil _loc : 'opt_when_expr))));
                          ([ Gram.Skeyword &quot;when&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (w : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun (w : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (w : 'opt_when_expr)))) ]) ]))
                   ());
              Gram.extend (patt_as_patt_opt : 'patt_as_patt_opt Gram.Entry.t)
@@ -2948,7 +2965,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (p : 'patt) (_loc : Loc.t) -&gt;
+                             (fun (p : 'patt) (_loc : Gram.Loc.t) -&gt;
                                 (p : 'patt_as_patt_opt))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t));
@@ -2956,8 +2973,8 @@ Very old (no more supported) syntax:
                             Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (p2 : 'patt) _ (p1 : 'patt) (_loc : Loc.t)
-                                -&gt;
+                             (fun (p2 : 'patt) _ (p1 : 'patt)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaAli (_loc, p1, p2) :
                                   'patt_as_patt_opt)))) ]) ]))
                   ());
@@ -2974,7 +2991,7 @@ Very old (no more supported) syntax:
                                  (fun_binding : 'fun_binding Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e : 'fun_binding) (i : 'label_longident)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.RbEq (_loc, i, e) : 'label_expr))));
                          ([ Gram.Stoken
                               (((function
@@ -2982,8 +2999,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.RbAnt (_loc,
@@ -3000,7 +3017,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e : 'expr) _ (__camlp4_0 : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;anti&quot; as n)), s) -&gt;
                                     (Ast.RbEq (_loc,
@@ -3015,8 +3032,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;anti&quot; as n)), s) -&gt;
                                     (Ast.RbAnt (_loc,
@@ -3029,8 +3046,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;rec_binding\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;rec_binding&quot; as n)), s) -&gt;
                                     (Ast.RbAnt (_loc,
@@ -3040,30 +3057,58 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (b2 : 'label_expr) _ (b1 : 'label_expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.RbSem (_loc, b1, b2) : 'label_expr)))) ]) ]))
                   ());
              Gram.extend (fun_def : 'fun_def Gram.Entry.t)
                ((fun () -&gt;
                    (None,
+                    [ (None, None,
+                       [ ([ Gram.Snterm
+                              (Gram.Entry.obj
+                                 (labeled_ipatt :
+                                   'labeled_ipatt Gram.Entry.t));
+                            Gram.Snterm
+                              (Gram.Entry.obj
+                                 (fun_def_cont : 'fun_def_cont Gram.Entry.t)) ],
+                          (Gram.Action.mk
+                             (fun ((w, e) : 'fun_def_cont)
+                                (p : 'labeled_ipatt) (_loc : Gram.Loc.t) -&gt;
+                                (Ast.ExFun (_loc, Ast.McArr (_loc, p, w, e)) :
+                                  'fun_def)))) ]) ]))
+                  ());
+             Gram.extend (fun_def_cont : 'fun_def_cont Gram.Entry.t)
+               ((fun () -&gt;
+                   (None,
                     [ (None, (Some Camlp4.Sig.Grammar.RightA),
                        [ ([ Gram.Skeyword &quot;-&gt;&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (_loc : Loc.t) -&gt;
-                                (e : 'fun_def))));
+                             (fun (e : 'expr) _ (_loc : Gram.Loc.t) -&gt;
+                                (((Ast.ExNil _loc), e) : 'fun_def_cont))));
+                         ([ Gram.Skeyword &quot;when&quot;;
+                            Gram.Snterm
+                              (Gram.Entry.obj (expr : 'expr Gram.Entry.t));
+                            Gram.Skeyword &quot;-&gt;&quot;;
+                            Gram.Snterm
+                              (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
+                          (Gram.Action.mk
+                             (fun (e : 'expr) _ (w : 'expr) _
+                                (_loc : Gram.Loc.t) -&gt;
+                                ((w, e) : 'fun_def_cont))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (labeled_ipatt :
                                    'labeled_ipatt Gram.Entry.t));
                             Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (e : 'fun_def) (p : 'labeled_ipatt)
-                                (_loc : Loc.t) -&gt;
-                                (Ast.ExFun (_loc,
-                                   Ast.McArr (_loc, p, Ast.ExNil _loc, e)) :
-                                  'fun_def)))) ]) ]))
+                             (fun ((w, e) : 'fun_def_cont)
+                                (p : 'labeled_ipatt) (_loc : Gram.Loc.t) -&gt;
+                                (((Ast.ExNil _loc),
+                                  (Ast.ExFun (_loc,
+                                     Ast.McArr (_loc, p, w, e)))) :
+                                  'fun_def_cont)))) ]) ]))
                   ());
              Gram.extend (patt : 'patt Gram.Entry.t)
                ((fun () -&gt;
@@ -3071,17 +3116,20 @@ Very old (no more supported) syntax:
                     [ ((Some &quot;|&quot;), (Some Camlp4.Sig.Grammar.LeftA),
                        [ ([ Gram.Sself; Gram.Skeyword &quot;|&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (p2 : 'patt) _ (p1 : 'patt) (_loc : Loc.t)
-                                -&gt; (Ast.PaOrp (_loc, p1, p2) : 'patt)))) ]);
+                             (fun (p2 : 'patt) _ (p1 : 'patt)
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.PaOrp (_loc, p1, p2) : 'patt)))) ]);
                       ((Some &quot;..&quot;), (Some Camlp4.Sig.Grammar.NonA),
                        [ ([ Gram.Sself; Gram.Skeyword &quot;..&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (p2 : 'patt) _ (p1 : 'patt) (_loc : Loc.t)
-                                -&gt; (Ast.PaRng (_loc, p1, p2) : 'patt)))) ]);
+                             (fun (p2 : 'patt) _ (p1 : 'patt)
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.PaRng (_loc, p1, p2) : 'patt)))) ]);
                       ((Some &quot;apply&quot;), (Some Camlp4.Sig.Grammar.LeftA),
                        [ ([ Gram.Sself; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (p2 : 'patt) (p1 : 'patt) (_loc : Loc.t) -&gt;
+                             (fun (p2 : 'patt) (p1 : 'patt)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaApp (_loc, p1, p2) : 'patt)))) ]);
                       ((Some &quot;simple&quot;), None,
                        [ ([ Gram.Skeyword &quot;?&quot;; Gram.Skeyword &quot;(&quot;;
@@ -3094,7 +3142,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (e : 'expr) _ (p : 'patt_tcon) _ _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaOlbi (_loc, &quot;&quot;, p, e) : 'patt))));
                          ([ Gram.Skeyword &quot;?&quot;; Gram.Skeyword &quot;(&quot;;
                             Gram.Snterm
@@ -3102,8 +3150,8 @@ Very old (no more supported) syntax:
                                  (patt_tcon : 'patt_tcon Gram.Entry.t));
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (p : 'patt_tcon) _ _ (_loc : Loc.t) -&gt;
-                                (Ast.PaOlb (_loc, &quot;&quot;, p) : 'patt))));
+                             (fun _ (p : 'patt_tcon) _ _ (_loc : Gram.Loc.t)
+                                -&gt; (Ast.PaOlb (_loc, &quot;&quot;, p) : 'patt))));
                          ([ Gram.Skeyword &quot;?&quot;;
                             Gram.Stoken
                               (((function
@@ -3112,7 +3160,7 @@ Very old (no more supported) syntax:
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;lid\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
                              (fun (__camlp4_0 : Gram.Token.t) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;lid&quot; as n)), i) -&gt;
                                     (Ast.PaOlb (_loc, mk_anti n i,
@@ -3125,7 +3173,7 @@ Very old (no more supported) syntax:
                                 &quot;LIDENT _&quot;)) ],
                           (Gram.Action.mk
                              (fun (__camlp4_0 : Gram.Token.t) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LIDENT i -&gt;
                                     (Ast.PaOlb (_loc, i, Ast.PaNil _loc) :
@@ -3147,8 +3195,8 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (f : 'eq_expr) (p : 'patt_tcon) _ _
-                                (__camlp4_0 : Gram.Token.t) _ (_loc : Loc.t)
-                                -&gt;
+                                (__camlp4_0 : Gram.Token.t) _
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;lid&quot; as n)), i) -&gt;
                                     (f (mk_anti n i) p : 'patt)
@@ -3166,7 +3214,8 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (f : 'eq_expr) (p : 'patt_tcon) _
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | OPTLABEL i -&gt; (f i p : 'patt)
                                 | _ -&gt; assert false)));
@@ -3176,7 +3225,7 @@ Very old (no more supported) syntax:
                                 &quot;LIDENT _&quot;)) ],
                           (Gram.Action.mk
                              (fun (__camlp4_0 : Gram.Token.t) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LIDENT i -&gt;
                                     (Ast.PaLab (_loc, i, Ast.PaNil _loc) :
@@ -3190,7 +3239,7 @@ Very old (no more supported) syntax:
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;lid\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
                              (fun (__camlp4_0 : Gram.Token.t) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;lid&quot; as n)), i) -&gt;
                                     (Ast.PaLab (_loc, mk_anti n i,
@@ -3206,7 +3255,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;:&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (p : 'patt) _ (__camlp4_0 : Gram.Token.t) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;lid&quot; as n)), i) -&gt;
                                     (Ast.PaLab (_loc, mk_anti n i, p) :
@@ -3218,7 +3267,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (p : 'patt) (__camlp4_0 : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LABEL i -&gt; (Ast.PaLab (_loc, i, p) : 'patt)
                                 | _ -&gt; assert false)));
@@ -3228,21 +3277,21 @@ Very old (no more supported) syntax:
                                  (type_longident :
                                    'type_longident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'type_longident) _ (_loc : Loc.t) -&gt;
-                                (Ast.PaTyp (_loc, i) : 'patt))));
+                             (fun (i : 'type_longident) _ (_loc : Gram.Loc.t)
+                                -&gt; (Ast.PaTyp (_loc, i) : 'patt))));
                          ([ Gram.Skeyword &quot;`&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (a_ident : 'a_ident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_ident) _ (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_ident) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaVrn (_loc, s) : 'patt))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -3251,7 +3300,7 @@ Very old (no more supported) syntax:
                                 | _ -&gt; assert false)));
                          ([ Gram.Skeyword &quot;_&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaAny _loc : 'patt))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;,&quot;;
                             Gram.Snterm
@@ -3260,14 +3309,14 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (pl : 'comma_patt) _ (p : 'patt) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaTup (_loc, Ast.PaCom (_loc, p, pl)) :
                                   'patt))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself;
                             Gram.Skeyword &quot;as&quot;; Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (p2 : 'patt) _ (p : 'patt) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaAli (_loc, p, p2) : 'patt))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;:&quot;;
                             Gram.Snterm
@@ -3275,15 +3324,15 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (t : 'ctyp) _ (p : 'patt) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaTyc (_loc, p, t) : 'patt))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (p : 'patt) _ (_loc : Loc.t) -&gt;
+                             (fun _ (p : 'patt) _ (_loc : Gram.Loc.t) -&gt;
                                 (p : 'patt))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ _ (_loc : Loc.t) -&gt;
+                             (fun _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaId (_loc, Ast.IdUid (_loc, &quot;()&quot;)) :
                                   'patt))));
                          ([ Gram.Skeyword &quot;{&quot;;
@@ -3292,19 +3341,19 @@ Very old (no more supported) syntax:
                                  (label_patt : 'label_patt Gram.Entry.t));
                             Gram.Skeyword &quot;}&quot; ],
                           (Gram.Action.mk
-                             (fun _ (pl : 'label_patt) _ (_loc : Loc.t) -&gt;
-                                (Ast.PaRec (_loc, pl) : 'patt))));
+                             (fun _ (pl : 'label_patt) _ (_loc : Gram.Loc.t)
+                                -&gt; (Ast.PaRec (_loc, pl) : 'patt))));
                          ([ Gram.Skeyword &quot;[|&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (sem_patt : 'sem_patt Gram.Entry.t));
                             Gram.Skeyword &quot;|]&quot; ],
                           (Gram.Action.mk
-                             (fun _ (pl : 'sem_patt) _ (_loc : Loc.t) -&gt;
+                             (fun _ (pl : 'sem_patt) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaArr (_loc, pl) : 'patt))));
                          ([ Gram.Skeyword &quot;[|&quot;; Gram.Skeyword &quot;|]&quot; ],
                           (Gram.Action.mk
-                             (fun _ _ (_loc : Loc.t) -&gt;
+                             (fun _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaArr (_loc, Ast.PaNil _loc) : 'patt))));
                          ([ Gram.Skeyword &quot;[&quot;;
                             Gram.Snterm
@@ -3314,7 +3363,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
                              (fun _ (mk_list : 'sem_patt_for_list) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (mk_list
                                    (Ast.PaId (_loc, Ast.IdUid (_loc, &quot;[]&quot;))) :
                                   'patt))));
@@ -3327,10 +3376,10 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun _ (last : 'patt) _
                                 (mk_list : 'sem_patt_for_list) _
-                                (_loc : Loc.t) -&gt; (mk_list last : 'patt))));
+                                (_loc : Gram.Loc.t) -&gt; (mk_list last : 'patt))));
                          ([ Gram.Skeyword &quot;[&quot;; Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
-                             (fun _ _ (_loc : Loc.t) -&gt;
+                             (fun _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaId (_loc, Ast.IdUid (_loc, &quot;[]&quot;)) :
                                   'patt))));
                          ([ Gram.Skeyword &quot;-&quot;;
@@ -3338,14 +3387,14 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_FLOAT : 'a_FLOAT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_FLOAT) _ (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_FLOAT) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaFlo (_loc, neg_string s) : 'patt))));
                          ([ Gram.Skeyword &quot;-&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (a_NATIVEINT : 'a_NATIVEINT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_NATIVEINT) _ (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_NATIVEINT) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaNativeInt (_loc, neg_string s) :
                                   'patt))));
                          ([ Gram.Skeyword &quot;-&quot;;
@@ -3353,65 +3402,65 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_INT64 : 'a_INT64 Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_INT64) _ (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_INT64) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaInt64 (_loc, neg_string s) : 'patt))));
                          ([ Gram.Skeyword &quot;-&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (a_INT32 : 'a_INT32 Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_INT32) _ (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_INT32) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaInt32 (_loc, neg_string s) : 'patt))));
                          ([ Gram.Skeyword &quot;-&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj (a_INT : 'a_INT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_INT) _ (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_INT) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaInt (_loc, neg_string s) : 'patt))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (a_CHAR : 'a_CHAR Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_CHAR) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_CHAR) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaChr (_loc, s) : 'patt))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_STRING : 'a_STRING Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_STRING) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_STRING) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaStr (_loc, s) : 'patt))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_FLOAT : 'a_FLOAT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_FLOAT) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_FLOAT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaFlo (_loc, s) : 'patt))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_NATIVEINT : 'a_NATIVEINT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_NATIVEINT) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_NATIVEINT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaNativeInt (_loc, s) : 'patt))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_INT64 : 'a_INT64 Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_INT64) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_INT64) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaInt64 (_loc, s) : 'patt))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_INT32 : 'a_INT32 Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_INT32) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_INT32) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaInt32 (_loc, s) : 'patt))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (a_INT : 'a_INT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_INT) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_INT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaInt (_loc, s) : 'patt))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (ident : 'ident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'ident) (_loc : Loc.t) -&gt;
+                             (fun (i : 'ident) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaId (_loc, i) : 'patt))));
                          ([ Gram.Stoken
                               (((function
@@ -3419,11 +3468,13 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;`bool\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;`bool&quot; as n)), s) -&gt;
-                                    (Ast.PaAnt (_loc, mk_anti n s) : 'patt)
+                                    (Ast.PaId (_loc,
+                                       Ast.IdAnt (_loc, mk_anti n s)) :
+                                      'patt)
                                 | _ -&gt; assert false)));
                          ([ Gram.Stoken
                               (((function
@@ -3431,8 +3482,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;tup\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;tup&quot; as n)), s) -&gt;
                                     (Ast.PaTup (_loc,
@@ -3447,8 +3498,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;pat\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;pat&quot; | &quot;anti&quot; as n)), s)
                                     -&gt;
@@ -3463,7 +3514,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (p : 'patt) (_loc : Loc.t) -&gt;
+                             (fun (p : 'patt) (_loc : Gram.Loc.t) -&gt;
                                 (p : 'comma_patt))));
                          ([ Gram.Stoken
                               (((function
@@ -3471,8 +3522,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.PaAnt (_loc,
@@ -3482,7 +3533,7 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;,&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (p2 : 'comma_patt) _ (p1 : 'comma_patt)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaCom (_loc, p1, p2) : 'comma_patt)))) ]) ]))
                   ());
              Gram.extend (sem_patt : 'sem_patt Gram.Entry.t)
@@ -3492,7 +3543,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (p : 'patt) (_loc : Loc.t) -&gt;
+                             (fun (p : 'patt) (_loc : Gram.Loc.t) -&gt;
                                 (p : 'sem_patt))));
                          ([ Gram.Stoken
                               (((function
@@ -3500,8 +3551,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.PaAnt (_loc,
@@ -3511,7 +3562,7 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (p2 : 'sem_patt) _ (p1 : 'sem_patt)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaSem (_loc, p1, p2) : 'sem_patt)))) ]) ]))
                   ());
              Gram.extend
@@ -3522,7 +3573,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (p : 'patt) (_loc : Loc.t) -&gt;
+                             (fun (p : 'patt) (_loc : Gram.Loc.t) -&gt;
                                 (fun acc -&gt;
                                    Ast.PaApp (_loc,
                                      Ast.PaApp (_loc,
@@ -3536,7 +3587,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (pl : 'sem_patt_for_list) _ (p : 'patt)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (fun acc -&gt;
                                    Ast.PaApp (_loc,
                                      Ast.PaApp (_loc,
@@ -3559,7 +3610,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (p : 'patt) _ (i : 'label_longident)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaEq (_loc, i, p) : 'label_patt))));
                          ([ Gram.Stoken
                               (((function
@@ -3567,8 +3618,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.PaAnt (_loc,
@@ -3579,8 +3630,8 @@ Very old (no more supported) syntax:
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -3594,8 +3645,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;pat\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;pat&quot; | &quot;anti&quot; as n)), s)
                                     -&gt;
@@ -3605,7 +3656,7 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (p2 : 'label_patt) _ (p1 : 'label_patt)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaSem (_loc, p1, p2) : 'label_patt)))) ]) ]))
                   ());
              Gram.extend (ipatt : 'ipatt Gram.Entry.t)
@@ -3614,13 +3665,13 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([ Gram.Skeyword &quot;_&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaAny _loc : 'ipatt))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_LIDENT) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_LIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaId (_loc, Ast.IdLid (_loc, s)) :
                                   'ipatt))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;,&quot;;
@@ -3630,14 +3681,14 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (pl : 'comma_ipatt) _ (p : 'ipatt) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaTup (_loc, Ast.PaCom (_loc, p, pl)) :
                                   'ipatt))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself;
                             Gram.Skeyword &quot;as&quot;; Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (p2 : 'ipatt) _ (p : 'ipatt) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaAli (_loc, p, p2) : 'ipatt))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;:&quot;;
                             Gram.Snterm
@@ -3645,23 +3696,23 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (t : 'ctyp) _ (p : 'ipatt) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaTyc (_loc, p, t) : 'ipatt))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (p : 'ipatt) _ (_loc : Loc.t) -&gt;
+                             (fun _ (p : 'ipatt) _ (_loc : Gram.Loc.t) -&gt;
                                 (p : 'ipatt))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ _ (_loc : Loc.t) -&gt;
+                             (fun _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaId (_loc, Ast.IdUid (_loc, &quot;()&quot;)) :
                                   'ipatt))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -3670,24 +3721,12 @@ Very old (no more supported) syntax:
                                 | _ -&gt; assert false)));
                          ([ Gram.Stoken
                               (((function
-                                 | ANTIQUOT (&quot;`bool&quot;, _) -&gt; true
-                                 | _ -&gt; false),
-                                &quot;ANTIQUOT (\&quot;`bool\&quot;, _)&quot;)) ],
-                          (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
-                                match __camlp4_0 with
-                                | ANTIQUOT (((&quot;`bool&quot; as n)), s) -&gt;
-                                    (Ast.PaAnt (_loc, mk_anti n s) : 'ipatt)
-                                | _ -&gt; assert false)));
-                         ([ Gram.Stoken
-                              (((function
                                  | ANTIQUOT (&quot;tup&quot;, _) -&gt; true
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;tup\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;tup&quot; as n)), s) -&gt;
                                     (Ast.PaTup (_loc,
@@ -3702,8 +3741,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;pat\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;pat&quot; | &quot;anti&quot; as n)), s)
                                     -&gt;
@@ -3716,8 +3755,8 @@ Very old (no more supported) syntax:
                                  (label_ipatt : 'label_ipatt Gram.Entry.t));
                             Gram.Skeyword &quot;}&quot; ],
                           (Gram.Action.mk
-                             (fun _ (pl : 'label_ipatt) _ (_loc : Loc.t) -&gt;
-                                (Ast.PaRec (_loc, pl) : 'ipatt)))) ]) ]))
+                             (fun _ (pl : 'label_ipatt) _ (_loc : Gram.Loc.t)
+                                -&gt; (Ast.PaRec (_loc, pl) : 'ipatt)))) ]) ]))
                   ());
              Gram.extend (labeled_ipatt : 'labeled_ipatt Gram.Entry.t)
                ((fun () -&gt;
@@ -3726,7 +3765,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (ipatt : 'ipatt Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (p : 'ipatt) (_loc : Loc.t) -&gt;
+                             (fun (p : 'ipatt) (_loc : Gram.Loc.t) -&gt;
                                 (p : 'labeled_ipatt)))) ]) ]))
                   ());
              Gram.extend (comma_ipatt : 'comma_ipatt Gram.Entry.t)
@@ -3736,7 +3775,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (ipatt : 'ipatt Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (p : 'ipatt) (_loc : Loc.t) -&gt;
+                             (fun (p : 'ipatt) (_loc : Gram.Loc.t) -&gt;
                                 (p : 'comma_ipatt))));
                          ([ Gram.Stoken
                               (((function
@@ -3744,8 +3783,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.PaAnt (_loc,
@@ -3755,7 +3794,7 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;,&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (p2 : 'comma_ipatt) _ (p1 : 'comma_ipatt)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaCom (_loc, p1, p2) : 'comma_ipatt)))) ]) ]))
                   ());
              Gram.extend (label_ipatt : 'label_ipatt Gram.Entry.t)
@@ -3771,14 +3810,14 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (ipatt : 'ipatt Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (p : 'ipatt) _ (i : 'label_longident)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaEq (_loc, i, p) : 'label_ipatt))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -3791,8 +3830,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.PaAnt (_loc,
@@ -3806,8 +3845,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;pat\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;pat&quot; | &quot;anti&quot; as n)), s)
                                     -&gt;
@@ -3817,7 +3856,7 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (p2 : 'label_ipatt) _ (p1 : 'label_ipatt)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaSem (_loc, p1, p2) : 'label_ipatt)))) ]) ]))
                   ());
              Gram.extend (type_declaration : 'type_declaration Gram.Entry.t)
@@ -3838,21 +3877,22 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (cl : 'constrain list) (tk : 'opt_eq_ctyp)
                                 ((n, tpl) : 'type_ident_and_parameters)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyDcl (_loc, n, tpl, tk, cl) :
                                   'type_declaration))));
                          ([ Gram.Sself; Gram.Skeyword &quot;and&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t2 : 'type_declaration) _
-                                (t1 : 'type_declaration) (_loc : Loc.t) -&gt;
+                                (t1 : 'type_declaration) (_loc : Gram.Loc.t)
+                                -&gt;
                                 (Ast.TyAnd (_loc, t1, t2) :
                                   'type_declaration))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -3865,8 +3905,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc,
@@ -3880,8 +3920,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;typ\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;typ&quot; | &quot;anti&quot; as n)), s)
                                     -&gt;
@@ -3901,7 +3941,8 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t2 : 'ctyp) _ (t1 : 'ctyp) _
-                                (_loc : Loc.t) -&gt; ((t1, t2) : 'constrain)))) ]) ]))
+                                (_loc : Gram.Loc.t) -&gt;
+                                ((t1, t2) : 'constrain)))) ]) ]))
                   ());
              Gram.extend (opt_eq_ctyp : 'opt_eq_ctyp Gram.Entry.t)
                ((fun () -&gt;
@@ -3909,14 +3950,14 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyNil _loc : 'opt_eq_ctyp))));
                          ([ Gram.Skeyword &quot;=&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (type_kind : 'type_kind Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (tk : 'type_kind) _ (_loc : Loc.t) -&gt;
+                             (fun (tk : 'type_kind) _ (_loc : Gram.Loc.t) -&gt;
                                 (tk : 'opt_eq_ctyp)))) ]) ]))
                   ());
              Gram.extend (type_kind : 'type_kind Gram.Entry.t)
@@ -3926,7 +3967,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (t : 'ctyp) (_loc : Loc.t) -&gt;
+                             (fun (t : 'ctyp) (_loc : Gram.Loc.t) -&gt;
                                 (t : 'type_kind)))) ]) ]))
                   ());
              Gram.extend
@@ -3945,7 +3986,7 @@ Very old (no more supported) syntax:
                                       'type_parameter Gram.Entry.t))) ],
                           (Gram.Action.mk
                              (fun (tpl : 'type_parameter list)
-                                (i : 'a_LIDENT) (_loc : Loc.t) -&gt;
+                                (i : 'a_LIDENT) (_loc : Gram.Loc.t) -&gt;
                                 ((i, tpl) : 'type_ident_and_parameters)))) ]) ]))
                   ());
              Gram.extend
@@ -3964,7 +4005,7 @@ Very old (no more supported) syntax:
                                    'type_parameters Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (tpl : 'type_parameters)
-                                (i : 'type_longident) (_loc : Loc.t) -&gt;
+                                (i : 'type_longident) (_loc : Gram.Loc.t) -&gt;
                                 (tpl (Ast.TyId (_loc, i)) :
                                   'type_longident_and_parameters)))) ]) ]))
                   ());
@@ -3974,14 +4015,15 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (fun t -&gt; t : 'type_parameters))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (type_parameter :
                                    'type_parameter Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (t : 'type_parameter) (_loc : Loc.t) -&gt;
+                             (fun (t : 'type_parameter) (_loc : Gram.Loc.t)
+                                -&gt;
                                 (fun acc -&gt; Ast.TyApp (_loc, acc, t) :
                                   'type_parameters))));
                          ([ Gram.Snterm
@@ -3991,7 +4033,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t2 : 'type_parameters)
-                                (t1 : 'type_parameter) (_loc : Loc.t) -&gt;
+                                (t1 : 'type_parameter) (_loc : Gram.Loc.t) -&gt;
                                 (fun acc -&gt; t2 (Ast.TyApp (_loc, acc, t1)) :
                                   'type_parameters)))) ]) ]))
                   ());
@@ -4004,28 +4046,28 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_ident : 'a_ident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_ident) _ _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_ident) _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyQuM (_loc, i) : 'type_parameter))));
                          ([ Gram.Skeyword &quot;+&quot;; Gram.Skeyword &quot;'&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (a_ident : 'a_ident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_ident) _ _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_ident) _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyQuP (_loc, i) : 'type_parameter))));
                          ([ Gram.Skeyword &quot;'&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (a_ident : 'a_ident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_ident) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_ident) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyQuo (_loc, i) : 'type_parameter))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -4039,8 +4081,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;typ\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;typ&quot; | &quot;anti&quot; as n)), s)
                                     -&gt;
@@ -4054,21 +4096,23 @@ Very old (no more supported) syntax:
                     [ ((Some &quot;==&quot;), (Some Camlp4.Sig.Grammar.LeftA),
                        [ ([ Gram.Sself; Gram.Skeyword &quot;==&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (t2 : 'ctyp) _ (t1 : 'ctyp) (_loc : Loc.t)
-                                -&gt; (Ast.TyMan (_loc, t1, t2) : 'ctyp)))) ]);
+                             (fun (t2 : 'ctyp) _ (t1 : 'ctyp)
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.TyMan (_loc, t1, t2) : 'ctyp)))) ]);
                       ((Some &quot;private&quot;), (Some Camlp4.Sig.Grammar.NonA),
                        [ ([ Gram.Skeyword &quot;private&quot;;
                             Gram.Snterml
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t),
                               &quot;alias&quot;) ],
                           (Gram.Action.mk
-                             (fun (t : 'ctyp) _ (_loc : Loc.t) -&gt;
+                             (fun (t : 'ctyp) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyPrv (_loc, t) : 'ctyp)))) ]);
                       ((Some &quot;alias&quot;), (Some Camlp4.Sig.Grammar.LeftA),
                        [ ([ Gram.Sself; Gram.Skeyword &quot;as&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (t2 : 'ctyp) _ (t1 : 'ctyp) (_loc : Loc.t)
-                                -&gt; (Ast.TyAli (_loc, t1, t2) : 'ctyp)))) ]);
+                             (fun (t2 : 'ctyp) _ (t1 : 'ctyp)
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.TyAli (_loc, t1, t2) : 'ctyp)))) ]);
                       ((Some &quot;forall&quot;), (Some Camlp4.Sig.Grammar.LeftA),
                        [ ([ Gram.Skeyword &quot;!&quot;;
                             Gram.Snterm
@@ -4077,13 +4121,14 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t2 : 'ctyp) _ (t1 : 'typevars) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyPol (_loc, t1, t2) : 'ctyp)))) ]);
                       ((Some &quot;arrow&quot;), (Some Camlp4.Sig.Grammar.RightA),
                        [ ([ Gram.Sself; Gram.Skeyword &quot;-&gt;&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (t2 : 'ctyp) _ (t1 : 'ctyp) (_loc : Loc.t)
-                                -&gt; (Ast.TyArr (_loc, t1, t2) : 'ctyp)))) ]);
+                             (fun (t2 : 'ctyp) _ (t1 : 'ctyp)
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.TyArr (_loc, t1, t2) : 'ctyp)))) ]);
                       ((Some &quot;label&quot;), (Some Camlp4.Sig.Grammar.NonA),
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -4091,7 +4136,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t : 'ctyp) (i : 'a_OPTLABEL)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyOlb (_loc, i, t) : 'ctyp))));
                          ([ Gram.Skeyword &quot;?&quot;;
                             Gram.Snterm
@@ -4100,15 +4145,16 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;:&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t : 'ctyp) _ (i : 'a_LIDENT) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyOlb (_loc, i, t) : 'ctyp))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_LABEL : 'a_LABEL Gram.Entry.t));
                             Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (t : 'ctyp) (i : 'a_LABEL) (_loc : Loc.t)
-                                -&gt; (Ast.TyLab (_loc, i, t) : 'ctyp))));
+                             (fun (t : 'ctyp) (i : 'a_LABEL)
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.TyLab (_loc, i, t) : 'ctyp))));
                          ([ Gram.Skeyword &quot;~&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
@@ -4116,12 +4162,13 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;:&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t : 'ctyp) _ (i : 'a_LIDENT) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyLab (_loc, i, t) : 'ctyp)))) ]);
                       ((Some &quot;apply&quot;), (Some Camlp4.Sig.Grammar.LeftA),
                        [ ([ Gram.Sself; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (t2 : 'ctyp) (t1 : 'ctyp) (_loc : Loc.t) -&gt;
+                             (fun (t2 : 'ctyp) (t1 : 'ctyp)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (let t = Ast.TyApp (_loc, t1, t2)
                                  in
                                    try Ast.TyId (_loc, Ast.ident_of_ctyp t)
@@ -4130,8 +4177,8 @@ Very old (no more supported) syntax:
                       ((Some &quot;.&quot;), (Some Camlp4.Sig.Grammar.LeftA),
                        [ ([ Gram.Sself; Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (t2 : 'ctyp) _ (t1 : 'ctyp) (_loc : Loc.t)
-                                -&gt;
+                             (fun (t2 : 'ctyp) _ (t1 : 'ctyp)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (try
                                    Ast.TyId (_loc,
                                      Ast.IdAcc (_loc, Ast.ident_of_ctyp t1,
@@ -4152,7 +4199,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;&gt;&quot; ],
                           (Gram.Action.mk
                              (fun _ (v : 'opt_dot_dot) (ml : 'opt_meth_list)
-                                _ (_loc : Loc.t) -&gt;
+                                _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyObj (_loc, ml, v) : 'ctyp))));
                          ([ Gram.Skeyword &quot;#&quot;;
                             Gram.Snterm
@@ -4160,7 +4207,8 @@ Very old (no more supported) syntax:
                                  (class_longident :
                                    'class_longident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'class_longident) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'class_longident) _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyCls (_loc, i) : 'ctyp))));
                          ([ Gram.Skeyword &quot;{&quot;;
                             Gram.Snterm
@@ -4170,7 +4218,7 @@ Very old (no more supported) syntax:
                             Gram.Sopt (Gram.Skeyword &quot;;&quot;); Gram.Skeyword &quot;}&quot; ],
                           (Gram.Action.mk
                              (fun _ _ (t : 'label_declaration) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyRec (_loc, t) : 'ctyp))));
                          ([ Gram.Skeyword &quot;[&lt;&quot;;
                             Gram.Snterm
@@ -4183,7 +4231,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
                              (fun _ (ntl : 'name_tags) _ (rfl : 'row_field) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyVrnInfSup (_loc, rfl, ntl) : 'ctyp))));
                          ([ Gram.Skeyword &quot;[&lt;&quot;;
                             Gram.Snterm
@@ -4191,8 +4239,8 @@ Very old (no more supported) syntax:
                                  (row_field : 'row_field Gram.Entry.t));
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
-                             (fun _ (rfl : 'row_field) _ (_loc : Loc.t) -&gt;
-                                (Ast.TyVrnInf (_loc, rfl) : 'ctyp))));
+                             (fun _ (rfl : 'row_field) _ (_loc : Gram.Loc.t)
+                                -&gt; (Ast.TyVrnInf (_loc, rfl) : 'ctyp))));
                          ([ Gram.Skeyword &quot;[&quot;; Gram.Skeyword &quot;&lt;&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
@@ -4204,7 +4252,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
                              (fun _ (ntl : 'name_tags) _ (rfl : 'row_field) _
-                                _ (_loc : Loc.t) -&gt;
+                                _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyVrnInfSup (_loc, rfl, ntl) : 'ctyp))));
                          ([ Gram.Skeyword &quot;[&quot;; Gram.Skeyword &quot;&lt;&quot;;
                             Gram.Snterm
@@ -4212,7 +4260,8 @@ Very old (no more supported) syntax:
                                  (row_field : 'row_field Gram.Entry.t));
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
-                             (fun _ (rfl : 'row_field) _ _ (_loc : Loc.t) -&gt;
+                             (fun _ (rfl : 'row_field) _ _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyVrnInf (_loc, rfl) : 'ctyp))));
                          ([ Gram.Skeyword &quot;[&quot;; Gram.Skeyword &quot;&gt;&quot;;
                             Gram.Snterm
@@ -4220,12 +4269,13 @@ Very old (no more supported) syntax:
                                  (row_field : 'row_field Gram.Entry.t));
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
-                             (fun _ (rfl : 'row_field) _ _ (_loc : Loc.t) -&gt;
+                             (fun _ (rfl : 'row_field) _ _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyVrnSup (_loc, rfl) : 'ctyp))));
                          ([ Gram.Skeyword &quot;[&quot;; Gram.Skeyword &quot;&gt;&quot;;
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
-                             (fun _ _ _ (_loc : Loc.t) -&gt;
+                             (fun _ _ _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyVrnSup (_loc, Ast.TyNil _loc) : 'ctyp))));
                          ([ Gram.Skeyword &quot;[&quot;; Gram.Skeyword &quot;=&quot;;
                             Gram.Snterm
@@ -4233,7 +4283,8 @@ Very old (no more supported) syntax:
                                  (row_field : 'row_field Gram.Entry.t));
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
-                             (fun _ (rfl : 'row_field) _ _ (_loc : Loc.t) -&gt;
+                             (fun _ (rfl : 'row_field) _ _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyVrnEq (_loc, rfl) : 'ctyp))));
                          ([ Gram.Skeyword &quot;[&quot;;
                             Gram.Snterm
@@ -4243,11 +4294,11 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
                              (fun _ (t : 'constructor_declarations) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TySum (_loc, t) : 'ctyp))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (t : 'ctyp) _ (_loc : Loc.t) -&gt;
+                             (fun _ (t : 'ctyp) _ (_loc : Gram.Loc.t) -&gt;
                                 (t : 'ctyp))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;*&quot;;
                             Gram.Snterm
@@ -4256,29 +4307,29 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (tl : 'star_ctyp) _ (t : 'ctyp) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyTup (_loc, Ast.TySta (_loc, t, tl)) :
                                   'ctyp))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_UIDENT : 'a_UIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_UIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_UIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyId (_loc, Ast.IdUid (_loc, i)) :
                                   'ctyp))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_LIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_LIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyId (_loc, Ast.IdLid (_loc, i)) :
                                   'ctyp))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -4291,8 +4342,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;id\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;id&quot; as n)), s) -&gt;
                                     (Ast.TyId (_loc,
@@ -4306,8 +4357,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;tup\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;tup&quot; as n)), s) -&gt;
                                     (Ast.TyTup (_loc,
@@ -4322,8 +4373,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;typ\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;typ&quot; | &quot;anti&quot; as n)), s)
                                     -&gt;
@@ -4332,14 +4383,14 @@ Very old (no more supported) syntax:
                                 | _ -&gt; assert false)));
                          ([ Gram.Skeyword &quot;_&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyAny _loc : 'ctyp))));
                          ([ Gram.Skeyword &quot;'&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (a_ident : 'a_ident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_ident) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_ident) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyQuo (_loc, i) : 'ctyp)))) ]) ]))
                   ());
              Gram.extend (star_ctyp : 'star_ctyp Gram.Entry.t)
@@ -4349,12 +4400,12 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (t : 'ctyp) (_loc : Loc.t) -&gt;
+                             (fun (t : 'ctyp) (_loc : Gram.Loc.t) -&gt;
                                 (t : 'star_ctyp))));
                          ([ Gram.Sself; Gram.Skeyword &quot;*&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t2 : 'star_ctyp) _ (t1 : 'star_ctyp)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TySta (_loc, t1, t2) : 'star_ctyp))));
                          ([ Gram.Stoken
                               (((function
@@ -4362,8 +4413,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc,
@@ -4376,8 +4427,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;typ\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;typ&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc, mk_anti ~c: &quot;ctyp&quot; n s) :
@@ -4394,7 +4445,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_UIDENT : 'a_UIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_UIDENT) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_UIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyId (_loc, Ast.IdUid (_loc, s)) :
                                   'constructor_declarations))));
                          ([ Gram.Snterm
@@ -4407,7 +4458,7 @@ Very old (no more supported) syntax:
                                    'constructor_arg_list Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'constructor_arg_list) _
-                                (s : 'a_UIDENT) (_loc : Loc.t) -&gt;
+                                (s : 'a_UIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyOf (_loc,
                                    Ast.TyId (_loc, Ast.IdUid (_loc, s)), t) :
                                   'constructor_declarations))));
@@ -4415,15 +4466,15 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (t2 : 'constructor_declarations) _
                                 (t1 : 'constructor_declarations)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyOr (_loc, t1, t2) :
                                   'constructor_declarations))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -4436,8 +4487,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc,
@@ -4450,8 +4501,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;typ\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;typ&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc, mk_anti ~c: &quot;ctyp&quot; n s) :
@@ -4468,7 +4519,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_UIDENT : 'a_UIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'a_UIDENT) (_loc : Loc.t) -&gt;
+                             (fun (s : 'a_UIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyId (_loc, Ast.IdUid (_loc, s)) :
                                   'constructor_declaration))));
                          ([ Gram.Snterm
@@ -4481,7 +4532,7 @@ Very old (no more supported) syntax:
                                    'constructor_arg_list Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'constructor_arg_list) _
-                                (s : 'a_UIDENT) (_loc : Loc.t) -&gt;
+                                (s : 'a_UIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyOf (_loc,
                                    Ast.TyId (_loc, Ast.IdUid (_loc, s)), t) :
                                   'constructor_declaration))));
@@ -4489,8 +4540,8 @@ Very old (no more supported) syntax:
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -4503,8 +4554,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;typ\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;typ&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc, mk_anti ~c: &quot;ctyp&quot; n s) :
@@ -4519,13 +4570,13 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (t : 'ctyp) (_loc : Loc.t) -&gt;
+                             (fun (t : 'ctyp) (_loc : Gram.Loc.t) -&gt;
                                 (t : 'constructor_arg_list))));
                          ([ Gram.Sself; Gram.Skeyword &quot;and&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t2 : 'constructor_arg_list) _
-                                (t1 : 'constructor_arg_list) (_loc : Loc.t)
-                                -&gt;
+                                (t1 : 'constructor_arg_list)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyAnd (_loc, t1, t2) :
                                   'constructor_arg_list))));
                          ([ Gram.Stoken
@@ -4534,8 +4585,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc,
@@ -4557,7 +4608,7 @@ Very old (no more supported) syntax:
                                  (poly_type : 'poly_type Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'poly_type) _ _ (s : 'a_LIDENT)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyCol (_loc,
                                    Ast.TyId (_loc, Ast.IdLid (_loc, s)),
                                    Ast.TyMut (_loc, t)) :
@@ -4571,7 +4622,7 @@ Very old (no more supported) syntax:
                                  (poly_type : 'poly_type Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'poly_type) _ (s : 'a_LIDENT)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyCol (_loc,
                                    Ast.TyId (_loc, Ast.IdLid (_loc, s)), t) :
                                   'label_declaration))));
@@ -4579,8 +4630,8 @@ Very old (no more supported) syntax:
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -4593,8 +4644,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc,
@@ -4607,8 +4658,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;typ\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;typ&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc, mk_anti ~c: &quot;ctyp&quot; n s) :
@@ -4617,7 +4668,8 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t2 : 'label_declaration) _
-                                (t1 : 'label_declaration) (_loc : Loc.t) -&gt;
+                                (t1 : 'label_declaration) (_loc : Gram.Loc.t)
+                                -&gt;
                                 (Ast.TySem (_loc, t1, t2) :
                                   'label_declaration)))) ]) ]))
                   ());
@@ -4629,13 +4681,13 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_UIDENT : 'a_UIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_UIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_UIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (i : 'a_ident))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_LIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_LIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (i : 'a_ident)))) ]) ]))
                   ());
              Gram.extend (ident : 'ident Gram.Entry.t)
@@ -4648,7 +4700,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (j : 'ident) _ (i : 'a_UIDENT)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdAcc (_loc, Ast.IdUid (_loc, i), j) :
                                   'ident))));
                          ([ Gram.Stoken
@@ -4660,7 +4712,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (i : 'ident) _ (__camlp4_0 : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;id&quot; | &quot;anti&quot; | &quot;list&quot; as n)), s)
@@ -4675,13 +4727,13 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_LIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_LIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdLid (_loc, i) : 'ident))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_UIDENT : 'a_UIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_UIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_UIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdUid (_loc, i) : 'ident))));
                          ([ Gram.Stoken
                               (((function
@@ -4690,8 +4742,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;id\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;id&quot; | &quot;anti&quot; | &quot;list&quot; as n)), s)
@@ -4709,7 +4761,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_UIDENT : 'a_UIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_UIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_UIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdUid (_loc, i) : 'module_longident))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -4717,7 +4769,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (l : 'module_longident) _ (m : 'a_UIDENT)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdAcc (_loc, Ast.IdUid (_loc, m), l) :
                                   'module_longident))));
                          ([ Gram.Stoken
@@ -4727,8 +4779,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;id\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;id&quot; | &quot;anti&quot; | &quot;list&quot; as n)), s)
@@ -4748,7 +4800,7 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (j : 'module_longident_with_app)
                                 (i : 'module_longident_with_app)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdApp (_loc, i, j) :
                                   'module_longident_with_app)))) ]);
                       ((Some &quot;.&quot;), None,
@@ -4756,20 +4808,20 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (j : 'module_longident_with_app) _
                                 (i : 'module_longident_with_app)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdAcc (_loc, i, j) :
                                   'module_longident_with_app)))) ]);
                       ((Some &quot;simple&quot;), None,
                        [ ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (i : 'module_longident_with_app) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (i : 'module_longident_with_app))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_UIDENT : 'a_UIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_UIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_UIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdUid (_loc, i) :
                                   'module_longident_with_app))));
                          ([ Gram.Stoken
@@ -4779,8 +4831,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;id\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;id&quot; | &quot;anti&quot; | &quot;list&quot; as n)), s)
@@ -4797,30 +4849,30 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Sself; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (j : 'type_longident) (i : 'type_longident)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdApp (_loc, i, j) : 'type_longident)))) ]);
                       ((Some &quot;.&quot;), None,
                        [ ([ Gram.Sself; Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (j : 'type_longident) _
-                                (i : 'type_longident) (_loc : Loc.t) -&gt;
+                                (i : 'type_longident) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdAcc (_loc, i, j) : 'type_longident)))) ]);
                       ((Some &quot;simple&quot;), None,
                        [ ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (i : 'type_longident) _ (_loc : Loc.t) -&gt;
-                                (i : 'type_longident))));
+                             (fun _ (i : 'type_longident) _
+                                (_loc : Gram.Loc.t) -&gt; (i : 'type_longident))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_UIDENT : 'a_UIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_UIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_UIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdUid (_loc, i) : 'type_longident))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_LIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_LIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdLid (_loc, i) : 'type_longident))));
                          ([ Gram.Stoken
                               (((function
@@ -4829,8 +4881,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;id\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;id&quot; | &quot;anti&quot; | &quot;list&quot; as n)), s)
@@ -4848,7 +4900,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_LIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_LIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdLid (_loc, i) : 'label_longident))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -4856,7 +4908,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (l : 'label_longident) _ (m : 'a_UIDENT)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdAcc (_loc, Ast.IdUid (_loc, m), l) :
                                   'label_longident))));
                          ([ Gram.Stoken
@@ -4866,8 +4918,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;id\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;id&quot; | &quot;anti&quot; | &quot;list&quot; as n)), s)
@@ -4887,8 +4939,8 @@ Very old (no more supported) syntax:
                                  (type_longident :
                                    'type_longident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'type_longident) (_loc : Loc.t) -&gt;
-                                (x : 'class_type_longident)))) ]) ]))
+                             (fun (x : 'type_longident) (_loc : Gram.Loc.t)
+                                -&gt; (x : 'class_type_longident)))) ]) ]))
                   ());
              Gram.extend (val_longident : 'val_longident Gram.Entry.t)
                ((fun () -&gt;
@@ -4897,7 +4949,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (ident : 'ident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'ident) (_loc : Loc.t) -&gt;
+                             (fun (x : 'ident) (_loc : Gram.Loc.t) -&gt;
                                 (x : 'val_longident)))) ]) ]))
                   ());
              Gram.extend (class_longident : 'class_longident Gram.Entry.t)
@@ -4909,8 +4961,8 @@ Very old (no more supported) syntax:
                                  (label_longident :
                                    'label_longident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'label_longident) (_loc : Loc.t) -&gt;
-                                (x : 'class_longident)))) ]) ]))
+                             (fun (x : 'label_longident) (_loc : Gram.Loc.t)
+                                -&gt; (x : 'class_longident)))) ]) ]))
                   ());
              Gram.extend
                (class_declaration : 'class_declaration Gram.Entry.t)
@@ -4928,15 +4980,15 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (ce : 'class_fun_binding)
                                 (ci : 'class_info_for_class_expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CeEq (_loc, ci, ce) :
                                   'class_declaration))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -4950,8 +5002,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;cdcl\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;cdcl&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -4963,7 +5015,8 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;and&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (c2 : 'class_declaration) _
-                                (c1 : 'class_declaration) (_loc : Loc.t) -&gt;
+                                (c1 : 'class_declaration) (_loc : Gram.Loc.t)
+                                -&gt;
                                 (Ast.CeAnd (_loc, c1, c2) :
                                   'class_declaration)))) ]) ]))
                   ());
@@ -4979,7 +5032,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (cfb : 'class_fun_binding)
-                                (p : 'labeled_ipatt) (_loc : Loc.t) -&gt;
+                                (p : 'labeled_ipatt) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CeFun (_loc, p, cfb) :
                                   'class_fun_binding))));
                          ([ Gram.Skeyword &quot;:&quot;;
@@ -4993,7 +5046,8 @@ Very old (no more supported) syntax:
                                  (class_expr : 'class_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (ce : 'class_expr) _
-                                (ct : 'class_type_plus) _ (_loc : Loc.t) -&gt;
+                                (ct : 'class_type_plus) _ (_loc : Gram.Loc.t)
+                                -&gt;
                                 (Ast.CeTyc (_loc, ce, ct) :
                                   'class_fun_binding))));
                          ([ Gram.Skeyword &quot;=&quot;;
@@ -5001,7 +5055,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (class_expr : 'class_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (ce : 'class_expr) _ (_loc : Loc.t) -&gt;
+                             (fun (ce : 'class_expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (ce : 'class_fun_binding)))) ]) ]))
                   ());
              Gram.extend
@@ -5019,7 +5073,7 @@ Very old (no more supported) syntax:
                                    'class_name_and_param Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun ((i, ot) : 'class_name_and_param)
-                                (mv : 'opt_virtual) (_loc : Loc.t) -&gt;
+                                (mv : 'opt_virtual) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CtCon (_loc, mv, Ast.IdLid (_loc, i),
                                    ot) :
                                   'class_info_for_class_type)))) ]) ]))
@@ -5039,7 +5093,7 @@ Very old (no more supported) syntax:
                                    'class_name_and_param Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun ((i, ot) : 'class_name_and_param)
-                                (mv : 'opt_virtual) (_loc : Loc.t) -&gt;
+                                (mv : 'opt_virtual) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CeCon (_loc, mv, Ast.IdLid (_loc, i),
                                    ot) :
                                   'class_info_for_class_expr)))) ]) ]))
@@ -5053,7 +5107,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_LIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_LIDENT) (_loc : Gram.Loc.t) -&gt;
                                 ((i, (Ast.TyNil _loc)) :
                                   'class_name_and_param))));
                          ([ Gram.Snterm
@@ -5067,7 +5121,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
                              (fun _ (x : 'comma_type_parameter) _
-                                (i : 'a_LIDENT) (_loc : Loc.t) -&gt;
+                                (i : 'a_LIDENT) (_loc : Gram.Loc.t) -&gt;
                                 ((i, x) : 'class_name_and_param)))) ]) ]))
                   ());
              Gram.extend
@@ -5080,16 +5134,16 @@ Very old (no more supported) syntax:
                                  (type_parameter :
                                    'type_parameter Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (t : 'type_parameter) (_loc : Loc.t) -&gt;
-                                (t : 'comma_type_parameter))));
+                             (fun (t : 'type_parameter) (_loc : Gram.Loc.t)
+                                -&gt; (t : 'comma_type_parameter))));
                          ([ Gram.Stoken
                               (((function
                                  | ANTIQUOT (&quot;list&quot;, _) -&gt; true
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc,
@@ -5099,8 +5153,8 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;,&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t2 : 'comma_type_parameter) _
-                                (t1 : 'comma_type_parameter) (_loc : Loc.t)
-                                -&gt;
+                                (t1 : 'comma_type_parameter)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyCom (_loc, t1, t2) :
                                   'comma_type_parameter)))) ]) ]))
                   ());
@@ -5110,7 +5164,7 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyNil _loc : 'opt_comma_ctyp))));
                          ([ Gram.Skeyword &quot;[&quot;;
                             Gram.Snterm
@@ -5118,8 +5172,8 @@ Very old (no more supported) syntax:
                                  (comma_ctyp : 'comma_ctyp Gram.Entry.t));
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
-                             (fun _ (x : 'comma_ctyp) _ (_loc : Loc.t) -&gt;
-                                (x : 'opt_comma_ctyp)))) ]) ]))
+                             (fun _ (x : 'comma_ctyp) _ (_loc : Gram.Loc.t)
+                                -&gt; (x : 'opt_comma_ctyp)))) ]) ]))
                   ());
              Gram.extend (comma_ctyp : 'comma_ctyp Gram.Entry.t)
                ((fun () -&gt;
@@ -5128,7 +5182,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (t : 'ctyp) (_loc : Loc.t) -&gt;
+                             (fun (t : 'ctyp) (_loc : Gram.Loc.t) -&gt;
                                 (t : 'comma_ctyp))));
                          ([ Gram.Stoken
                               (((function
@@ -5136,8 +5190,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc,
@@ -5147,7 +5201,7 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;,&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t2 : 'comma_ctyp) _ (t1 : 'comma_ctyp)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyCom (_loc, t1, t2) : 'comma_ctyp)))) ]) ]))
                   ());
              Gram.extend (class_fun_def : 'class_fun_def Gram.Entry.t)
@@ -5159,7 +5213,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (class_expr : 'class_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (ce : 'class_expr) _ (_loc : Loc.t) -&gt;
+                             (fun (ce : 'class_expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (ce : 'class_fun_def))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -5168,7 +5222,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (ce : 'class_fun_def) (p : 'labeled_ipatt)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CeFun (_loc, p, ce) : 'class_fun_def)))) ]) ]))
                   ());
              Gram.extend (class_expr : 'class_expr Gram.Entry.t)
@@ -5185,7 +5239,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;in&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (ce : 'class_expr) _ (bi : 'binding)
-                                (rf : 'opt_rec) _ (_loc : Loc.t) -&gt;
+                                (rf : 'opt_rec) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CeLet (_loc, rf, bi, ce) : 'class_expr))));
                          ([ Gram.Skeyword &quot;fun&quot;;
                             Gram.Snterm
@@ -5198,7 +5252,7 @@ Very old (no more supported) syntax:
                                    'class_fun_def Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (ce : 'class_fun_def) (p : 'labeled_ipatt)
-                                _ (_loc : Loc.t) -&gt;
+                                _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CeFun (_loc, p, ce) : 'class_expr)))) ]);
                       ((Some &quot;apply&quot;), (Some Camlp4.Sig.Grammar.NonA),
                        [ ([ Gram.Sself;
@@ -5207,13 +5261,13 @@ Very old (no more supported) syntax:
                               &quot;label&quot;) ],
                           (Gram.Action.mk
                              (fun (e : 'expr) (ce : 'class_expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CeApp (_loc, ce, e) : 'class_expr)))) ]);
                       ((Some &quot;simple&quot;), None,
                        [ ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (ce : 'class_expr) _ (_loc : Loc.t) -&gt;
-                                (ce : 'class_expr))));
+                             (fun _ (ce : 'class_expr) _ (_loc : Gram.Loc.t)
+                                -&gt; (ce : 'class_expr))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;:&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
@@ -5221,7 +5275,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (ct : 'class_type) _ (ce : 'class_expr) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CeTyc (_loc, ce, ct) : 'class_expr))));
                          ([ Gram.Skeyword &quot;object&quot;;
                             Gram.Snterm
@@ -5235,21 +5289,22 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;end&quot; ],
                           (Gram.Action.mk
                              (fun _ (cst : 'class_structure)
-                                (csp : 'opt_class_self_patt) _ (_loc : Loc.t)
-                                -&gt; (Ast.CeStr (_loc, csp, cst) : 'class_expr))));
+                                (csp : 'opt_class_self_patt) _
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.CeStr (_loc, csp, cst) : 'class_expr))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (class_longident_and_param :
                                    'class_longident_and_param Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (ce : 'class_longident_and_param)
-                                (_loc : Loc.t) -&gt; (ce : 'class_expr))));
+                                (_loc : Gram.Loc.t) -&gt; (ce : 'class_expr))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -5263,8 +5318,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;cexp\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;cexp&quot; | &quot;anti&quot; as n)), s)
                                     -&gt;
@@ -5284,7 +5339,8 @@ Very old (no more supported) syntax:
                                  (class_longident :
                                    'class_longident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (ci : 'class_longident) (_loc : Loc.t) -&gt;
+                             (fun (ci : 'class_longident) (_loc : Gram.Loc.t)
+                                -&gt;
                                 (Ast.CeCon (_loc, Ast.BFalse, ci,
                                    Ast.TyNil _loc) :
                                   'class_longident_and_param))));
@@ -5299,7 +5355,8 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
                              (fun _ (t : 'comma_ctyp) _
-                                (ci : 'class_longident) (_loc : Loc.t) -&gt;
+                                (ci : 'class_longident) (_loc : Gram.Loc.t)
+                                -&gt;
                                 (Ast.CeCon (_loc, Ast.BFalse, ci, t) :
                                   'class_longident_and_param)))) ]) ]))
                   ());
@@ -5318,9 +5375,10 @@ Very old (no more supported) syntax:
                                            (semi : 'semi Gram.Entry.t)) ],
                                     (Gram.Action.mk
                                        (fun _ (cst : 'class_str_item)
-                                          (_loc : Loc.t) -&gt; (cst : 'e__3)))) ]) ],
+                                          (_loc : Gram.Loc.t) -&gt;
+                                          (cst : 'e__3)))) ]) ],
                           (Gram.Action.mk
-                             (fun (l : 'e__3 list) (_loc : Loc.t) -&gt;
+                             (fun (l : 'e__3 list) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.crSem_of_list l : 'class_structure))));
                          ([ Gram.Stoken
                               (((function
@@ -5333,7 +5391,8 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (cst : 'class_structure) _
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;cst&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -5351,8 +5410,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;cst\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;cst&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -5369,7 +5428,7 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaNil _loc : 'opt_class_self_patt))));
                          ([ Gram.Skeyword &quot;(&quot;;
                             Gram.Snterm
@@ -5380,7 +5439,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (t : 'ctyp) _ (p : 'patt) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaTyc (_loc, p, t) :
                                   'opt_class_self_patt))));
                          ([ Gram.Skeyword &quot;(&quot;;
@@ -5388,7 +5447,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t));
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (p : 'patt) _ (_loc : Loc.t) -&gt;
+                             (fun _ (p : 'patt) _ (_loc : Gram.Loc.t) -&gt;
                                 (p : 'opt_class_self_patt)))) ]) ]))
                   ());
              Gram.extend (class_str_item : 'class_str_item Gram.Entry.t)
@@ -5399,7 +5458,7 @@ Very old (no more supported) syntax:
                             Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (se : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun (se : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CrIni (_loc, se) : 'class_str_item))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -5412,7 +5471,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t2 : 'ctyp) _ (t1 : 'ctyp) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CrCtr (_loc, t1, t2) : 'class_str_item))));
                          ([ Gram.Skeyword &quot;method&quot;;
                             Gram.Snterm
@@ -5429,7 +5488,7 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (e : 'fun_binding) (topt : 'opt_polyt)
                                 (l : 'label) (pf : 'opt_private) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CrMth (_loc, l, pf, e, topt) :
                                   'class_str_item))));
                          ([ Gram.Skeyword &quot;method&quot;;
@@ -5445,7 +5504,7 @@ Very old (no more supported) syntax:
                                  (poly_type : 'poly_type Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'poly_type) _ (l : 'label) _
-                                (pf : 'opt_private) _ (_loc : Loc.t) -&gt;
+                                (pf : 'opt_private) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CrVir (_loc, l, pf, t) :
                                   'class_str_item))));
                          ([ Gram.Skeyword &quot;method&quot;; Gram.Skeyword &quot;virtual&quot;;
@@ -5460,7 +5519,8 @@ Very old (no more supported) syntax:
                                  (poly_type : 'poly_type Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'poly_type) _ (l : 'label)
-                                (pf : 'opt_private) _ _ (_loc : Loc.t) -&gt;
+                                (pf : 'opt_private) _ _ (_loc : Gram.Loc.t)
+                                -&gt;
                                 (Ast.CrVir (_loc, l, pf, t) :
                                   'class_str_item))));
                          ([ Gram.Snterm
@@ -5478,7 +5538,26 @@ Very old (no more supported) syntax:
                                  (poly_type : 'poly_type Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'poly_type) _ (l : 'label)
-                                (mf : 'opt_mutable) _ _ (_loc : Loc.t) -&gt;
+                                (mf : 'opt_mutable) _ _ (_loc : Gram.Loc.t)
+                                -&gt;
+                                (Ast.CrVvr (_loc, l, mf, t) :
+                                  'class_str_item))));
+                         ([ Gram.Snterm
+                              (Gram.Entry.obj
+                                 (value_val : 'value_val Gram.Entry.t));
+                            Gram.Snterm
+                              (Gram.Entry.obj
+                                 (opt_mutable : 'opt_mutable Gram.Entry.t));
+                            Gram.Skeyword &quot;virtual&quot;;
+                            Gram.Snterm
+                              (Gram.Entry.obj (label : 'label Gram.Entry.t));
+                            Gram.Skeyword &quot;:&quot;;
+                            Gram.Snterm
+                              (Gram.Entry.obj
+                                 (poly_type : 'poly_type Gram.Entry.t)) ],
+                          (Gram.Action.mk
+                             (fun (t : 'poly_type) _ (l : 'label) _
+                                (mf : 'opt_mutable) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CrVvr (_loc, l, mf, t) :
                                   'class_str_item))));
                          ([ Gram.Snterm
@@ -5495,7 +5574,7 @@ Very old (no more supported) syntax:
                                    'cvalue_binding Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e : 'cvalue_binding) (lab : 'label)
-                                (mf : 'opt_mutable) _ (_loc : Loc.t) -&gt;
+                                (mf : 'opt_mutable) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CrVal (_loc, lab, mf, e) :
                                   'class_str_item))));
                          ([ Gram.Skeyword &quot;inherit&quot;;
@@ -5508,14 +5587,14 @@ Very old (no more supported) syntax:
                                    'opt_as_lident Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (pb : 'opt_as_lident) (ce : 'class_expr) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CrInh (_loc, ce, pb) : 'class_str_item))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -5529,8 +5608,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;cst\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;cst&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -5546,13 +5625,14 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt; (&quot;&quot; : 'opt_as_lident))));
+                             (fun (_loc : Gram.Loc.t) -&gt;
+                                (&quot;&quot; : 'opt_as_lident))));
                          ([ Gram.Skeyword &quot;as&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_LIDENT) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_LIDENT) _ (_loc : Gram.Loc.t) -&gt;
                                 (i : 'opt_as_lident)))) ]) ]))
                   ());
              Gram.extend (opt_polyt : 'opt_polyt Gram.Entry.t)
@@ -5561,14 +5641,14 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyNil _loc : 'opt_polyt))));
                          ([ Gram.Skeyword &quot;:&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (poly_type : 'poly_type Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (t : 'poly_type) _ (_loc : Loc.t) -&gt;
+                             (fun (t : 'poly_type) _ (_loc : Gram.Loc.t) -&gt;
                                 (t : 'opt_polyt)))) ]) ]))
                   ());
              Gram.extend (cvalue_binding : 'cvalue_binding Gram.Entry.t)
@@ -5582,8 +5662,8 @@ Very old (no more supported) syntax:
                             Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (t : 'ctyp) _ (_loc : Loc.t)
-                                -&gt;
+                             (fun (e : 'expr) _ (t : 'ctyp) _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExCoe (_loc, e, Ast.TyNil _loc, t) :
                                   'cvalue_binding))));
                          ([ Gram.Skeyword &quot;:&quot;;
@@ -5597,7 +5677,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e : 'expr) _ (t2 : 'ctyp) _ (t : 'ctyp) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExCoe (_loc, e, t, t2) :
                                   'cvalue_binding))));
                          ([ Gram.Skeyword &quot;:&quot;;
@@ -5607,13 +5687,14 @@ Very old (no more supported) syntax:
                             Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (t : 'ctyp) _ (_loc : Loc.t)
-                                -&gt; (Ast.ExTyc (_loc, e, t) : 'cvalue_binding))));
+                             (fun (e : 'expr) _ (t : 'ctyp) _
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.ExTyc (_loc, e, t) : 'cvalue_binding))));
                          ([ Gram.Skeyword &quot;=&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (e : 'cvalue_binding)))) ]) ]))
                   ());
              Gram.extend (label : 'label Gram.Entry.t)
@@ -5624,7 +5705,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_LIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_LIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (i : 'label)))) ]) ]))
                   ());
              Gram.extend (class_type : 'class_type Gram.Entry.t)
@@ -5643,8 +5724,9 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;end&quot; ],
                           (Gram.Action.mk
                              (fun _ (csg : 'class_signature)
-                                (cst : 'opt_class_self_type) _ (_loc : Loc.t)
-                                -&gt; (Ast.CtSig (_loc, cst, csg) : 'class_type))));
+                                (cst : 'opt_class_self_type) _
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.CtSig (_loc, cst, csg) : 'class_type))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (class_type_longident_and_param :
@@ -5652,13 +5734,13 @@ Very old (no more supported) syntax:
                                      Entry.t)) ],
                           (Gram.Action.mk
                              (fun (ct : 'class_type_longident_and_param)
-                                (_loc : Loc.t) -&gt; (ct : 'class_type))));
+                                (_loc : Gram.Loc.t) -&gt; (ct : 'class_type))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -5672,8 +5754,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;ctyp\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;ctyp&quot; | &quot;anti&quot; as n)), s)
                                     -&gt;
@@ -5693,8 +5775,8 @@ Very old (no more supported) syntax:
                                  (class_type_longident :
                                    'class_type_longident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'class_type_longident) (_loc : Loc.t)
-                                -&gt;
+                             (fun (i : 'class_type_longident)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CtCon (_loc, Ast.BFalse, i,
                                    Ast.TyNil _loc) :
                                   'class_type_longident_and_param))));
@@ -5709,7 +5791,8 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
                              (fun _ (t : 'comma_ctyp) _
-                                (i : 'class_type_longident) (_loc : Loc.t) -&gt;
+                                (i : 'class_type_longident)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CtCon (_loc, Ast.BFalse, i, t) :
                                   'class_type_longident_and_param)))) ]) ]))
                   ());
@@ -5721,7 +5804,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (class_type : 'class_type Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (ct : 'class_type) (_loc : Loc.t) -&gt;
+                             (fun (ct : 'class_type) (_loc : Gram.Loc.t) -&gt;
                                 (ct : 'class_type_plus))));
                          ([ Gram.Skeyword &quot;[&quot;;
                             Gram.Snterm
@@ -5729,7 +5812,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;]&quot;; Gram.Skeyword &quot;-&gt;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (ct : 'class_type_plus) _ _ (t : 'ctyp) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CtFun (_loc, t, ct) : 'class_type_plus)))) ]) ]))
                   ());
              Gram.extend
@@ -5739,14 +5822,14 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyNil _loc : 'opt_class_self_type))));
                          ([ Gram.Skeyword &quot;(&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t));
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (t : 'ctyp) _ (_loc : Loc.t) -&gt;
+                             (fun _ (t : 'ctyp) _ (_loc : Gram.Loc.t) -&gt;
                                 (t : 'opt_class_self_type)))) ]) ]))
                   ());
              Gram.extend (class_signature : 'class_signature Gram.Entry.t)
@@ -5764,9 +5847,10 @@ Very old (no more supported) syntax:
                                            (semi : 'semi Gram.Entry.t)) ],
                                     (Gram.Action.mk
                                        (fun _ (csg : 'class_sig_item)
-                                          (_loc : Loc.t) -&gt; (csg : 'e__4)))) ]) ],
+                                          (_loc : Gram.Loc.t) -&gt;
+                                          (csg : 'e__4)))) ]) ],
                           (Gram.Action.mk
-                             (fun (l : 'e__4 list) (_loc : Loc.t) -&gt;
+                             (fun (l : 'e__4 list) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.cgSem_of_list l : 'class_signature))));
                          ([ Gram.Stoken
                               (((function
@@ -5779,7 +5863,8 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (csg : 'class_signature) _
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;csg&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -5797,8 +5882,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;csg\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;csg&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -5823,7 +5908,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t2 : 'ctyp) _ (t1 : 'ctyp) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CgCtr (_loc, t1, t2) : 'class_sig_item))));
                          ([ Gram.Skeyword &quot;method&quot;;
                             Gram.Snterm
@@ -5838,7 +5923,7 @@ Very old (no more supported) syntax:
                                  (poly_type : 'poly_type Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'poly_type) _ (l : 'label) _
-                                (pf : 'opt_private) _ (_loc : Loc.t) -&gt;
+                                (pf : 'opt_private) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CgVir (_loc, l, pf, t) :
                                   'class_sig_item))));
                          ([ Gram.Skeyword &quot;method&quot;;
@@ -5853,7 +5938,7 @@ Very old (no more supported) syntax:
                                  (poly_type : 'poly_type Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'poly_type) _ (l : 'label)
-                                (pf : 'opt_private) _ (_loc : Loc.t) -&gt;
+                                (pf : 'opt_private) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CgMth (_loc, l, pf, t) :
                                   'class_sig_item))));
                          ([ Gram.Skeyword &quot;method&quot;; Gram.Skeyword &quot;virtual&quot;;
@@ -5868,7 +5953,8 @@ Very old (no more supported) syntax:
                                  (poly_type : 'poly_type Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'poly_type) _ (l : 'label)
-                                (pf : 'opt_private) _ _ (_loc : Loc.t) -&gt;
+                                (pf : 'opt_private) _ _ (_loc : Gram.Loc.t)
+                                -&gt;
                                 (Ast.CgVir (_loc, l, pf, t) :
                                   'class_sig_item))));
                          ([ Gram.Snterm
@@ -5888,7 +5974,7 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (t : 'ctyp) _ (l : 'label)
                                 (mv : 'opt_virtual) (mf : 'opt_mutable) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CgVal (_loc, l, mf, mv, t) :
                                   'class_sig_item))));
                          ([ Gram.Skeyword &quot;inherit&quot;;
@@ -5896,14 +5982,14 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (class_type : 'class_type Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (cs : 'class_type) _ (_loc : Loc.t) -&gt;
+                             (fun (cs : 'class_type) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CgInh (_loc, cs) : 'class_sig_item))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -5917,8 +6003,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;csg\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;csg&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -5934,10 +6020,12 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([ Gram.Skeyword &quot;constraint&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt; (() : 'type_constraint))));
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
+                                (() : 'type_constraint))));
                          ([ Gram.Skeyword &quot;type&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt; (() : 'type_constraint)))) ]) ]))
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
+                                (() : 'type_constraint)))) ]) ]))
                   ());
              Gram.extend
                (class_description : 'class_description Gram.Entry.t)
@@ -5956,15 +6044,15 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (ct : 'class_type_plus) _
                                 (ci : 'class_info_for_class_type)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CtCol (_loc, ci, ct) :
                                   'class_description))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -5978,8 +6066,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;typ\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;typ&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -5991,7 +6079,8 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;and&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (cd2 : 'class_description) _
-                                (cd1 : 'class_description) (_loc : Loc.t) -&gt;
+                                (cd1 : 'class_description)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CtAnd (_loc, cd1, cd2) :
                                   'class_description)))) ]) ]))
                   ());
@@ -6012,15 +6101,15 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (ct : 'class_type) _
                                 (ci : 'class_info_for_class_type)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CtEq (_loc, ci, ct) :
                                   'class_type_declaration))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -6034,8 +6123,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;typ\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;typ&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -6048,7 +6137,7 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (cd2 : 'class_type_declaration) _
                                 (cd1 : 'class_type_declaration)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CtAnd (_loc, cd1, cd2) :
                                   'class_type_declaration)))) ]) ]))
                   ());
@@ -6063,8 +6152,8 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
                               &quot;top&quot;) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (l : 'label) (_loc : Loc.t)
-                                -&gt;
+                             (fun (e : 'expr) _ (l : 'label)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.RbEq (_loc, Ast.IdLid (_loc, l), e) :
                                   'field_expr))));
                          ([ Gram.Stoken
@@ -6073,8 +6162,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.RbAnt (_loc,
@@ -6087,8 +6176,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;bi\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;bi&quot; | &quot;anti&quot; as n)), s)
                                     -&gt;
@@ -6099,7 +6188,7 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (b2 : 'field_expr) _ (b1 : 'field_expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.RbSem (_loc, b1, b2) : 'field_expr)))) ]) ]))
                   ());
              Gram.extend (meth_list : 'meth_list Gram.Entry.t)
@@ -6115,7 +6204,7 @@ Very old (no more supported) syntax:
                                  (poly_type : 'poly_type Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'poly_type) _ (lab : 'a_LIDENT)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyCol (_loc,
                                    Ast.TyId (_loc, Ast.IdLid (_loc, lab)), t) :
                                   'meth_list))));
@@ -6123,8 +6212,8 @@ Very old (no more supported) syntax:
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -6137,8 +6226,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc,
@@ -6151,8 +6240,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;typ\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;typ&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc, mk_anti ~c: &quot;ctyp&quot; n s) :
@@ -6161,7 +6250,7 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (ml2 : 'meth_list) _ (ml1 : 'meth_list)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TySem (_loc, ml1, ml2) : 'meth_list)))) ]) ]))
                   ());
              Gram.extend (opt_meth_list : 'opt_meth_list Gram.Entry.t)
@@ -6170,14 +6259,14 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyNil _loc : 'opt_meth_list))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (meth_list : 'meth_list Gram.Entry.t));
                             Gram.Sopt (Gram.Skeyword &quot;;&quot;) ],
                           (Gram.Action.mk
-                             (fun _ (ml : 'meth_list) (_loc : Loc.t) -&gt;
+                             (fun _ (ml : 'meth_list) (_loc : Gram.Loc.t) -&gt;
                                 (ml : 'opt_meth_list)))) ]) ]))
                   ());
              Gram.extend (poly_type : 'poly_type Gram.Entry.t)
@@ -6187,7 +6276,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (t : 'ctyp) (_loc : Loc.t) -&gt;
+                             (fun (t : 'ctyp) (_loc : Gram.Loc.t) -&gt;
                                 (t : 'poly_type)))) ]) ]))
                   ());
              Gram.extend (typevars : 'typevars Gram.Entry.t)
@@ -6199,14 +6288,14 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_ident : 'a_ident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_ident) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_ident) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyQuo (_loc, i) : 'typevars))));
                          ([ Gram.Stoken
                               (((function | QUOTATION _ -&gt; true | _ -&gt; false),
                                 &quot;QUOTATION _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | QUOTATION x -&gt;
                                     (Quotation.expand _loc x Quotation.
@@ -6219,8 +6308,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;typ\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;typ&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc, mk_anti ~c: &quot;ctyp&quot; n s) :
@@ -6229,7 +6318,7 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t2 : 'typevars) (t1 : 'typevars)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyApp (_loc, t1, t2) : 'typevars)))) ]) ]))
                   ());
              Gram.extend (row_field : 'row_field Gram.Entry.t)
@@ -6239,7 +6328,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (t : 'ctyp) (_loc : Loc.t) -&gt;
+                             (fun (t : 'ctyp) (_loc : Gram.Loc.t) -&gt;
                                 (t : 'row_field))));
                          ([ Gram.Skeyword &quot;`&quot;;
                             Gram.Snterm
@@ -6251,7 +6340,7 @@ Very old (no more supported) syntax:
                                  (amp_ctyp : 'amp_ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'amp_ctyp) _ (i : 'a_ident) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyOf (_loc, Ast.TyVrn (_loc, i), t) :
                                   'row_field))));
                          ([ Gram.Skeyword &quot;`&quot;;
@@ -6264,7 +6353,7 @@ Very old (no more supported) syntax:
                                  (amp_ctyp : 'amp_ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (t : 'amp_ctyp) _ _ (i : 'a_ident) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyOfAmp (_loc, Ast.TyVrn (_loc, i), t) :
                                   'row_field))));
                          ([ Gram.Skeyword &quot;`&quot;;
@@ -6272,12 +6361,12 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_ident : 'a_ident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_ident) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_ident) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyVrn (_loc, i) : 'row_field))));
                          ([ Gram.Sself; Gram.Skeyword &quot;|&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t2 : 'row_field) _ (t1 : 'row_field)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyOr (_loc, t1, t2) : 'row_field))));
                          ([ Gram.Stoken
                               (((function
@@ -6285,8 +6374,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc,
@@ -6299,8 +6388,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;typ\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;typ&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc, mk_anti ~c: &quot;ctyp&quot; n s) :
@@ -6314,7 +6403,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (t : 'ctyp) (_loc : Loc.t) -&gt;
+                             (fun (t : 'ctyp) (_loc : Gram.Loc.t) -&gt;
                                 (t : 'amp_ctyp))));
                          ([ Gram.Stoken
                               (((function
@@ -6322,8 +6411,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;list\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;list&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc,
@@ -6333,7 +6422,7 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;&amp;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t2 : 'amp_ctyp) _ (t1 : 'amp_ctyp)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyAmp (_loc, t1, t2) : 'amp_ctyp)))) ]) ]))
                   ());
              Gram.extend (name_tags : 'name_tags Gram.Entry.t)
@@ -6345,12 +6434,12 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_ident : 'a_ident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_ident) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_ident) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyVrn (_loc, i) : 'name_tags))));
                          ([ Gram.Sself; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (t2 : 'name_tags) (t1 : 'name_tags)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyApp (_loc, t1, t2) : 'name_tags))));
                          ([ Gram.Stoken
                               (((function
@@ -6358,8 +6447,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;typ\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;typ&quot; as n)), s) -&gt;
                                     (Ast.TyAnt (_loc, mk_anti ~c: &quot;ctyp&quot; n s) :
@@ -6372,14 +6461,14 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (fun i p -&gt; Ast.PaOlb (_loc, i, p) :
                                   'eq_expr))));
                          ([ Gram.Skeyword &quot;=&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (fun i p -&gt; Ast.PaOlbi (_loc, i, p, e) :
                                   'eq_expr)))) ]) ]))
                   ());
@@ -6390,7 +6479,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (p : 'patt) (_loc : Loc.t) -&gt;
+                             (fun (p : 'patt) (_loc : Gram.Loc.t) -&gt;
                                 (p : 'patt_tcon))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t));
@@ -6398,7 +6487,8 @@ Very old (no more supported) syntax:
                             Gram.Snterm
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (t : 'ctyp) _ (p : 'patt) (_loc : Loc.t) -&gt;
+                             (fun (t : 'ctyp) _ (p : 'patt)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaTyc (_loc, p, t) : 'patt_tcon)))) ]) ]))
                   ());
              Gram.extend (ipatt : 'ipatt Gram.Entry.t)
@@ -6415,7 +6505,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (e : 'expr) _ (p : 'ipatt_tcon) _ _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaOlbi (_loc, &quot;&quot;, p, e) : 'ipatt))));
                          ([ Gram.Skeyword &quot;?&quot;; Gram.Skeyword &quot;(&quot;;
                             Gram.Snterm
@@ -6423,8 +6513,8 @@ Very old (no more supported) syntax:
                                  (ipatt_tcon : 'ipatt_tcon Gram.Entry.t));
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (p : 'ipatt_tcon) _ _ (_loc : Loc.t) -&gt;
-                                (Ast.PaOlb (_loc, &quot;&quot;, p) : 'ipatt))));
+                             (fun _ (p : 'ipatt_tcon) _ _ (_loc : Gram.Loc.t)
+                                -&gt; (Ast.PaOlb (_loc, &quot;&quot;, p) : 'ipatt))));
                          ([ Gram.Skeyword &quot;?&quot;;
                             Gram.Stoken
                               (((function
@@ -6433,7 +6523,7 @@ Very old (no more supported) syntax:
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;lid\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
                              (fun (__camlp4_0 : Gram.Token.t) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;lid&quot; as n)), i) -&gt;
                                     (Ast.PaOlb (_loc, mk_anti n i,
@@ -6446,7 +6536,7 @@ Very old (no more supported) syntax:
                                 &quot;LIDENT _&quot;)) ],
                           (Gram.Action.mk
                              (fun (__camlp4_0 : Gram.Token.t) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LIDENT i -&gt;
                                     (Ast.PaOlb (_loc, i, Ast.PaNil _loc) :
@@ -6468,8 +6558,8 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (f : 'eq_expr) (p : 'ipatt_tcon) _ _
-                                (__camlp4_0 : Gram.Token.t) _ (_loc : Loc.t)
-                                -&gt;
+                                (__camlp4_0 : Gram.Token.t) _
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;lid&quot; as n)), i) -&gt;
                                     (f (mk_anti n i) p : 'ipatt)
@@ -6487,7 +6577,8 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (f : 'eq_expr) (p : 'ipatt_tcon) _
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | OPTLABEL i -&gt; (f i p : 'ipatt)
                                 | _ -&gt; assert false)));
@@ -6497,7 +6588,7 @@ Very old (no more supported) syntax:
                                 &quot;LIDENT _&quot;)) ],
                           (Gram.Action.mk
                              (fun (__camlp4_0 : Gram.Token.t) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LIDENT i -&gt;
                                     (Ast.PaLab (_loc, i, Ast.PaNil _loc) :
@@ -6511,7 +6602,7 @@ Very old (no more supported) syntax:
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;lid\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
                              (fun (__camlp4_0 : Gram.Token.t) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;lid&quot; as n)), i) -&gt;
                                     (Ast.PaLab (_loc, mk_anti n i,
@@ -6527,7 +6618,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;:&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (p : 'ipatt) _ (__camlp4_0 : Gram.Token.t)
-                                _ (_loc : Loc.t) -&gt;
+                                _ (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;lid&quot; as n)), i) -&gt;
                                     (Ast.PaLab (_loc, mk_anti n i, p) :
@@ -6539,7 +6630,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (p : 'ipatt) (__camlp4_0 : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LABEL i -&gt;
                                     (Ast.PaLab (_loc, i, p) : 'ipatt)
@@ -6552,7 +6643,7 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (ipatt : 'ipatt Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (p : 'ipatt) (_loc : Loc.t) -&gt;
+                             (fun (p : 'ipatt) (_loc : Gram.Loc.t) -&gt;
                                 (p : 'ipatt_tcon))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (ipatt : 'ipatt Gram.Entry.t));
@@ -6560,8 +6651,9 @@ Very old (no more supported) syntax:
                             Gram.Snterm
                               (Gram.Entry.obj (ctyp : 'ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (t : 'ctyp) _ (p : 'ipatt) (_loc : Loc.t)
-                                -&gt; (Ast.PaTyc (_loc, p, t) : 'ipatt_tcon)))) ]) ]))
+                             (fun (t : 'ctyp) _ (p : 'ipatt)
+                                (_loc : Gram.Loc.t) -&gt;
+                                (Ast.PaTyc (_loc, p, t) : 'ipatt_tcon)))) ]) ]))
                   ());
              Gram.extend (direction_flag : 'direction_flag Gram.Entry.t)
                ((fun () -&gt;
@@ -6573,8 +6665,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;to\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;to&quot; as n)), s) -&gt;
                                     (Ast.BAnt (mk_anti n s) :
@@ -6582,11 +6674,11 @@ Very old (no more supported) syntax:
                                 | _ -&gt; assert false)));
                          ([ Gram.Skeyword &quot;downto&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.BFalse : 'direction_flag))));
                          ([ Gram.Skeyword &quot;to&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.BTrue : 'direction_flag)))) ]) ]))
                   ());
              Gram.extend (opt_private : 'opt_private Gram.Entry.t)
@@ -6595,7 +6687,7 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.BFalse : 'opt_private))));
                          ([ Gram.Stoken
                               (((function
@@ -6603,15 +6695,15 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;private\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;private&quot; as n)), s) -&gt;
                                     (Ast.BAnt (mk_anti n s) : 'opt_private)
                                 | _ -&gt; assert false)));
                          ([ Gram.Skeyword &quot;private&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.BTrue : 'opt_private)))) ]) ]))
                   ());
              Gram.extend (opt_mutable : 'opt_mutable Gram.Entry.t)
@@ -6620,7 +6712,7 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.BFalse : 'opt_mutable))));
                          ([ Gram.Stoken
                               (((function
@@ -6628,15 +6720,15 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;mutable\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;mutable&quot; as n)), s) -&gt;
                                     (Ast.BAnt (mk_anti n s) : 'opt_mutable)
                                 | _ -&gt; assert false)));
                          ([ Gram.Skeyword &quot;mutable&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.BTrue : 'opt_mutable)))) ]) ]))
                   ());
              Gram.extend (opt_virtual : 'opt_virtual Gram.Entry.t)
@@ -6645,7 +6737,7 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.BFalse : 'opt_virtual))));
                          ([ Gram.Stoken
                               (((function
@@ -6653,15 +6745,15 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;virtual\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;virtual&quot; as n)), s) -&gt;
                                     (Ast.BAnt (mk_anti n s) : 'opt_virtual)
                                 | _ -&gt; assert false)));
                          ([ Gram.Skeyword &quot;virtual&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.BTrue : 'opt_virtual)))) ]) ]))
                   ());
              Gram.extend (opt_dot_dot : 'opt_dot_dot Gram.Entry.t)
@@ -6670,7 +6762,7 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.BFalse : 'opt_dot_dot))));
                          ([ Gram.Stoken
                               (((function
@@ -6678,15 +6770,15 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;..\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;..&quot; as n)), s) -&gt;
                                     (Ast.BAnt (mk_anti n s) : 'opt_dot_dot)
                                 | _ -&gt; assert false)));
                          ([ Gram.Skeyword &quot;..&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.BTrue : 'opt_dot_dot)))) ]) ]))
                   ());
              Gram.extend (opt_rec : 'opt_rec Gram.Entry.t)
@@ -6695,22 +6787,24 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt; (Ast.BFalse : 'opt_rec))));
+                             (fun (_loc : Gram.Loc.t) -&gt;
+                                (Ast.BFalse : 'opt_rec))));
                          ([ Gram.Stoken
                               (((function
                                  | ANTIQUOT (&quot;rec&quot;, _) -&gt; true
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;rec\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;rec&quot; as n)), s) -&gt;
                                     (Ast.BAnt (mk_anti n s) : 'opt_rec)
                                 | _ -&gt; assert false)));
                          ([ Gram.Skeyword &quot;rec&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt; (Ast.BTrue : 'opt_rec)))) ]) ]))
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
+                                (Ast.BTrue : 'opt_rec)))) ]) ]))
                   ());
              Gram.extend (opt_expr : 'opt_expr Gram.Entry.t)
                ((fun () -&gt;
@@ -6718,12 +6812,12 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExNil _loc : 'opt_expr))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) (_loc : Gram.Loc.t) -&gt;
                                 (e : 'opt_expr)))) ]) ]))
                   ());
              Gram.extend (interf : 'interf Gram.Entry.t)
@@ -6733,8 +6827,8 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Stoken
                               (((function | EOI -&gt; true | _ -&gt; false), &quot;EOI&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | EOI -&gt; (([], None) : 'interf)
                                 | _ -&gt; assert false)));
@@ -6746,7 +6840,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun ((sil, stopped) : 'interf) _
-                                (si : 'sig_item) (_loc : Loc.t) -&gt;
+                                (si : 'sig_item) (_loc : Gram.Loc.t) -&gt;
                                 (((si :: sil), stopped) : 'interf))));
                          ([ Gram.Skeyword &quot;#&quot;;
                             Gram.Snterm
@@ -6759,7 +6853,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (semi : 'semi Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun _ (dp : 'opt_expr) (n : 'a_LIDENT) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (([ Ast.SgDir (_loc, n, dp) ],
                                   (stopped_at _loc)) : 'interf)))) ]) ]))
                   ());
@@ -6777,10 +6871,10 @@ Very old (no more supported) syntax:
                                         (Gram.Entry.obj
                                            (semi : 'semi Gram.Entry.t)) ],
                                     (Gram.Action.mk
-                                       (fun _ (sg : 'sig_item) (_loc : Loc.t)
-                                          -&gt; (sg : 'e__5)))) ]) ],
+                                       (fun _ (sg : 'sig_item)
+                                          (_loc : Gram.Loc.t) -&gt; (sg : 'e__5)))) ]) ],
                           (Gram.Action.mk
-                             (fun (l : 'e__5 list) (_loc : Loc.t) -&gt;
+                             (fun (l : 'e__5 list) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.sgSem_of_list l : 'sig_items))));
                          ([ Gram.Stoken
                               (((function
@@ -6793,7 +6887,8 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (sg : 'sig_items) _
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;sigi&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -6811,8 +6906,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;sigi\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;sigi&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -6829,8 +6924,8 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Stoken
                               (((function | EOI -&gt; true | _ -&gt; false), &quot;EOI&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | EOI -&gt; (([], None) : 'implem)
                                 | _ -&gt; assert false)));
@@ -6842,7 +6937,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun ((sil, stopped) : 'implem) _
-                                (si : 'str_item) (_loc : Loc.t) -&gt;
+                                (si : 'str_item) (_loc : Gram.Loc.t) -&gt;
                                 (((si :: sil), stopped) : 'implem))));
                          ([ Gram.Skeyword &quot;#&quot;;
                             Gram.Snterm
@@ -6855,7 +6950,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (semi : 'semi Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun _ (dp : 'opt_expr) (n : 'a_LIDENT) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (([ Ast.StDir (_loc, n, dp) ],
                                   (stopped_at _loc)) : 'implem)))) ]) ]))
                   ());
@@ -6873,10 +6968,10 @@ Very old (no more supported) syntax:
                                         (Gram.Entry.obj
                                            (semi : 'semi Gram.Entry.t)) ],
                                     (Gram.Action.mk
-                                       (fun _ (st : 'str_item) (_loc : Loc.t)
-                                          -&gt; (st : 'e__6)))) ]) ],
+                                       (fun _ (st : 'str_item)
+                                          (_loc : Gram.Loc.t) -&gt; (st : 'e__6)))) ]) ],
                           (Gram.Action.mk
-                             (fun (l : 'e__6 list) (_loc : Loc.t) -&gt;
+                             (fun (l : 'e__6 list) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.stSem_of_list l : 'str_items))));
                          ([ Gram.Stoken
                               (((function
@@ -6889,7 +6984,8 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (st : 'str_items) _
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;stri&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -6907,8 +7003,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;stri\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;stri&quot; | &quot;anti&quot; | &quot;list&quot; as n)),
@@ -6925,15 +7021,15 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Stoken
                               (((function | EOI -&gt; true | _ -&gt; false), &quot;EOI&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | EOI -&gt; (None : 'top_phrase)
                                 | _ -&gt; assert false)));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (phrase : 'phrase Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (ph : 'phrase) (_loc : Loc.t) -&gt;
+                             (fun (ph : 'phrase) (_loc : Gram.Loc.t) -&gt;
                                 (Some ph : 'top_phrase)))) ]) ]))
                   ());
              Gram.extend (use_file : 'use_file Gram.Entry.t)
@@ -6943,8 +7039,8 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Stoken
                               (((function | EOI -&gt; true | _ -&gt; false), &quot;EOI&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | EOI -&gt; (([], None) : 'use_file)
                                 | _ -&gt; assert false)));
@@ -6956,7 +7052,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun ((sil, stopped) : 'use_file) _
-                                (si : 'str_item) (_loc : Loc.t) -&gt;
+                                (si : 'str_item) (_loc : Gram.Loc.t) -&gt;
                                 (((si :: sil), stopped) : 'use_file))));
                          ([ Gram.Skeyword &quot;#&quot;;
                             Gram.Snterm
@@ -6969,7 +7065,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (semi : 'semi Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun _ (dp : 'opt_expr) (n : 'a_LIDENT) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (([ Ast.StDir (_loc, n, dp) ],
                                   (stopped_at _loc)) : 'use_file)))) ]) ]))
                   ());
@@ -6983,7 +7079,7 @@ Very old (no more supported) syntax:
                             Gram.Snterm
                               (Gram.Entry.obj (semi : 'semi Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun _ (st : 'str_item) (_loc : Loc.t) -&gt;
+                             (fun _ (st : 'str_item) (_loc : Gram.Loc.t) -&gt;
                                 (st : 'phrase))));
                          ([ Gram.Skeyword &quot;#&quot;;
                             Gram.Snterm
@@ -6996,7 +7092,7 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj (semi : 'semi Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun _ (dp : 'opt_expr) (n : 'a_LIDENT) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.StDir (_loc, n, dp) : 'phrase)))) ]) ]))
                   ());
              Gram.extend (a_INT : 'a_INT Gram.Entry.t)
@@ -7007,8 +7103,8 @@ Very old (no more supported) syntax:
                               (((function | INT (_, _) -&gt; true | _ -&gt; false),
                                 &quot;INT (_, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | INT (_, s) -&gt; (s : 'a_INT)
                                 | _ -&gt; assert false)));
@@ -7019,8 +7115,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;int\&quot; | \&quot;`int\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;int&quot; | &quot;`int&quot; as n)), s)
                                     -&gt; (mk_anti n s : 'a_INT)
@@ -7034,8 +7130,8 @@ Very old (no more supported) syntax:
                               (((function | INT32 (_, _) -&gt; true | _ -&gt; false),
                                 &quot;INT32 (_, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | INT32 (_, s) -&gt; (s : 'a_INT32)
                                 | _ -&gt; assert false)));
@@ -7046,8 +7142,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;int32\&quot; | \&quot;`int32\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;int32&quot; | &quot;`int32&quot; as n)),
                                     s) -&gt; (mk_anti n s : 'a_INT32)
@@ -7061,8 +7157,8 @@ Very old (no more supported) syntax:
                               (((function | INT64 (_, _) -&gt; true | _ -&gt; false),
                                 &quot;INT64 (_, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | INT64 (_, s) -&gt; (s : 'a_INT64)
                                 | _ -&gt; assert false)));
@@ -7073,8 +7169,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;int64\&quot; | \&quot;`int64\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;int64&quot; | &quot;`int64&quot; as n)),
                                     s) -&gt; (mk_anti n s : 'a_INT64)
@@ -7090,8 +7186,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;NATIVEINT (_, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | NATIVEINT (_, s) -&gt; (s : 'a_NATIVEINT)
                                 | _ -&gt; assert false)));
@@ -7103,8 +7199,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;nativeint\&quot; | \&quot;`nativeint\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;nativeint&quot; | &quot;`nativeint&quot; as n)),
@@ -7119,8 +7215,8 @@ Very old (no more supported) syntax:
                               (((function | FLOAT (_, _) -&gt; true | _ -&gt; false),
                                 &quot;FLOAT (_, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | FLOAT (_, s) -&gt; (s : 'a_FLOAT)
                                 | _ -&gt; assert false)));
@@ -7131,8 +7227,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;flo\&quot; | \&quot;`flo\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;flo&quot; | &quot;`flo&quot; as n)), s)
                                     -&gt; (mk_anti n s : 'a_FLOAT)
@@ -7146,8 +7242,8 @@ Very old (no more supported) syntax:
                               (((function | CHAR (_, _) -&gt; true | _ -&gt; false),
                                 &quot;CHAR (_, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | CHAR (_, s) -&gt; (s : 'a_CHAR)
                                 | _ -&gt; assert false)));
@@ -7158,8 +7254,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;chr\&quot; | \&quot;`chr\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;chr&quot; | &quot;`chr&quot; as n)), s)
                                     -&gt; (mk_anti n s : 'a_CHAR)
@@ -7173,8 +7269,8 @@ Very old (no more supported) syntax:
                               (((function | UIDENT _ -&gt; true | _ -&gt; false),
                                 &quot;UIDENT _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT s -&gt; (s : 'a_UIDENT)
                                 | _ -&gt; assert false)));
@@ -7184,8 +7280,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;uid\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;uid&quot; as n)), s) -&gt;
                                     (mk_anti n s : 'a_UIDENT)
@@ -7199,8 +7295,8 @@ Very old (no more supported) syntax:
                               (((function | LIDENT _ -&gt; true | _ -&gt; false),
                                 &quot;LIDENT _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LIDENT s -&gt; (s : 'a_LIDENT)
                                 | _ -&gt; assert false)));
@@ -7210,8 +7306,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;lid\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;lid&quot; as n)), s) -&gt;
                                     (mk_anti n s : 'a_LIDENT)
@@ -7225,8 +7321,8 @@ Very old (no more supported) syntax:
                               (((function | LABEL _ -&gt; true | _ -&gt; false),
                                 &quot;LABEL _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LABEL s -&gt; (s : 'a_LABEL)
                                 | _ -&gt; assert false)));
@@ -7239,7 +7335,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;:&quot; ],
                           (Gram.Action.mk
                              (fun _ (__camlp4_0 : Gram.Token.t) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; as n)), s) -&gt;
                                     (mk_anti n s : 'a_LABEL)
@@ -7253,8 +7349,8 @@ Very old (no more supported) syntax:
                               (((function | OPTLABEL _ -&gt; true | _ -&gt; false),
                                 &quot;OPTLABEL _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | OPTLABEL s -&gt; (s : 'a_OPTLABEL)
                                 | _ -&gt; assert false)));
@@ -7267,7 +7363,7 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;:&quot; ],
                           (Gram.Action.mk
                              (fun _ (__camlp4_0 : Gram.Token.t) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; as n)), s) -&gt;
                                     (mk_anti n s : 'a_OPTLABEL)
@@ -7283,8 +7379,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;STRING (_, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | STRING (_, s) -&gt; (s : 'a_STRING)
                                 | _ -&gt; assert false)));
@@ -7295,8 +7391,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;str\&quot; | \&quot;`str\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; | &quot;str&quot; | &quot;`str&quot; as n)), s)
                                     -&gt; (mk_anti n s : 'a_STRING)
@@ -7312,8 +7408,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;STRING (_, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | STRING (_, x) -&gt;
                                     (Ast.LCons (x, Ast.LNil) : 'string_list)
@@ -7326,7 +7422,8 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (xs : 'string_list)
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | STRING (_, x) -&gt;
                                     (Ast.LCons (x, xs) : 'string_list)
@@ -7337,8 +7434,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;str_list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT ((&quot;&quot; | &quot;str_list&quot;), s) -&gt;
                                     (Ast.LAnt (mk_anti &quot;str_list&quot; s) :
@@ -7351,7 +7448,7 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([ Gram.Skeyword &quot;value&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt; (() : 'value_let)))) ]) ]))
+                             (fun _ (_loc : Gram.Loc.t) -&gt; (() : 'value_let)))) ]) ]))
                   ());
              Gram.extend (value_val : 'value_val Gram.Entry.t)
                ((fun () -&gt;
@@ -7359,7 +7456,7 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([ Gram.Skeyword &quot;value&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt; (() : 'value_val)))) ]) ]))
+                             (fun _ (_loc : Gram.Loc.t) -&gt; (() : 'value_val)))) ]) ]))
                   ());
              Gram.extend (semi : 'semi Gram.Entry.t)
                ((fun () -&gt;
@@ -7367,7 +7464,7 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([ Gram.Skeyword &quot;;&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt; (() : 'semi)))) ]) ]))
+                             (fun _ (_loc : Gram.Loc.t) -&gt; (() : 'semi)))) ]) ]))
                   ());
              Gram.extend (expr_quot : 'expr_quot Gram.Entry.t)
                ((fun () -&gt;
@@ -7375,12 +7472,12 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExNil _loc : 'expr_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) (_loc : Gram.Loc.t) -&gt;
                                 (e : 'expr_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t));
@@ -7390,7 +7487,7 @@ Very old (no more supported) syntax:
                                  (sem_expr : 'sem_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e2 : 'sem_expr) _ (e1 : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExSem (_loc, e1, e2) : 'expr_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t));
@@ -7400,7 +7497,7 @@ Very old (no more supported) syntax:
                                  (comma_expr : 'comma_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e2 : 'comma_expr) _ (e1 : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExCom (_loc, e1, e2) : 'expr_quot)))) ]) ]))
                   ());
              Gram.extend (patt_quot : 'patt_quot Gram.Entry.t)
@@ -7409,12 +7506,12 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaNil _loc : 'patt_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'patt) (_loc : Loc.t) -&gt;
+                             (fun (x : 'patt) (_loc : Gram.Loc.t) -&gt;
                                 (x : 'patt_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t));
@@ -7422,7 +7519,8 @@ Very old (no more supported) syntax:
                             Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (y : 'patt) _ (x : 'patt) (_loc : Loc.t) -&gt;
+                             (fun (y : 'patt) _ (x : 'patt)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (let i =
                                    match x with
                                    | Ast.PaAnt (loc, s) -&gt; Ast.IdAnt (loc, s)
@@ -7436,7 +7534,7 @@ Very old (no more supported) syntax:
                                  (sem_patt : 'sem_patt Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (y : 'sem_patt) _ (x : 'patt)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaSem (_loc, x, y) : 'patt_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t));
@@ -7446,7 +7544,7 @@ Very old (no more supported) syntax:
                                  (comma_patt : 'comma_patt Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (y : 'comma_patt) _ (x : 'patt)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaCom (_loc, x, y) : 'patt_quot)))) ]) ]))
                   ());
              Gram.extend (ctyp_quot : 'ctyp_quot Gram.Entry.t)
@@ -7455,13 +7553,13 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyNil _loc : 'ctyp_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (more_ctyp : 'more_ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'more_ctyp) (_loc : Loc.t) -&gt;
+                             (fun (x : 'more_ctyp) (_loc : Gram.Loc.t) -&gt;
                                 (x : 'ctyp_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -7473,7 +7571,7 @@ Very old (no more supported) syntax:
                                    'constructor_arg_list Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (y : 'constructor_arg_list) _
-                                (x : 'more_ctyp) (_loc : Loc.t) -&gt;
+                                (x : 'more_ctyp) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyAnd (_loc, x, y) : 'ctyp_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -7484,7 +7582,7 @@ Very old (no more supported) syntax:
                                  (amp_ctyp : 'amp_ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (y : 'amp_ctyp) _ (x : 'more_ctyp)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyAmp (_loc, x, y) : 'ctyp_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -7495,7 +7593,7 @@ Very old (no more supported) syntax:
                                  (star_ctyp : 'star_ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (y : 'star_ctyp) _ (x : 'more_ctyp)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TySta (_loc, x, y) : 'ctyp_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -7511,7 +7609,7 @@ Very old (no more supported) syntax:
                                    'label_declaration Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (z : 'label_declaration) _ (y : 'more_ctyp)
-                                _ (x : 'more_ctyp) (_loc : Loc.t) -&gt;
+                                _ (x : 'more_ctyp) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TySem (_loc, Ast.TyCol (_loc, x, y), z) :
                                   'ctyp_quot))));
                          ([ Gram.Snterm
@@ -7523,7 +7621,7 @@ Very old (no more supported) syntax:
                                  (more_ctyp : 'more_ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (y : 'more_ctyp) _ (x : 'more_ctyp)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyCol (_loc, x, y) : 'ctyp_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -7538,7 +7636,7 @@ Very old (no more supported) syntax:
                                  (row_field : 'row_field Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (z : 'row_field) _ (y : 'amp_ctyp) _ _
-                                (x : 'more_ctyp) (_loc : Loc.t) -&gt;
+                                (x : 'more_ctyp) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyOr (_loc, Ast.TyOfAmp (_loc, x, y), z) :
                                   'ctyp_quot))));
                          ([ Gram.Snterm
@@ -7550,7 +7648,7 @@ Very old (no more supported) syntax:
                                  (amp_ctyp : 'amp_ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (y : 'amp_ctyp) _ _ (x : 'more_ctyp)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyOfAmp (_loc, x, y) : 'ctyp_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -7568,7 +7666,7 @@ Very old (no more supported) syntax:
                           (Gram.Action.mk
                              (fun (z : 'constructor_declarations) _
                                 (y : 'constructor_arg_list) _
-                                (x : 'more_ctyp) (_loc : Loc.t) -&gt;
+                                (x : 'more_ctyp) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyOr (_loc, Ast.TyOf (_loc, x, y), z) :
                                   'ctyp_quot))));
                          ([ Gram.Snterm
@@ -7581,7 +7679,7 @@ Very old (no more supported) syntax:
                                    'constructor_arg_list Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (y : 'constructor_arg_list) _
-                                (x : 'more_ctyp) (_loc : Loc.t) -&gt;
+                                (x : 'more_ctyp) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyOf (_loc, x, y) : 'ctyp_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -7593,7 +7691,7 @@ Very old (no more supported) syntax:
                                    'constructor_declarations Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (y : 'constructor_declarations) _
-                                (x : 'more_ctyp) (_loc : Loc.t) -&gt;
+                                (x : 'more_ctyp) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyOr (_loc, x, y) : 'ctyp_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -7605,7 +7703,7 @@ Very old (no more supported) syntax:
                                    'label_declaration Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (y : 'label_declaration) _ (x : 'more_ctyp)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TySem (_loc, x, y) : 'ctyp_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -7616,7 +7714,7 @@ Very old (no more supported) syntax:
                                  (comma_ctyp : 'comma_ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (y : 'comma_ctyp) _ (x : 'more_ctyp)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyCom (_loc, x, y) : 'ctyp_quot)))) ]) ]))
                   ());
              Gram.extend (more_ctyp : 'more_ctyp Gram.Entry.t)
@@ -7628,24 +7726,24 @@ Very old (no more supported) syntax:
                                  (type_parameter :
                                    'type_parameter Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'type_parameter) (_loc : Loc.t) -&gt;
-                                (x : 'more_ctyp))));
+                             (fun (x : 'type_parameter) (_loc : Gram.Loc.t)
+                                -&gt; (x : 'more_ctyp))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (type_kind : 'type_kind Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'type_kind) (_loc : Loc.t) -&gt;
+                             (fun (x : 'type_kind) (_loc : Gram.Loc.t) -&gt;
                                 (x : 'more_ctyp))));
                          ([ Gram.Skeyword &quot;`&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
-                                 (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
+                                 (a_ident : 'a_ident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'a_LIDENT) _ (_loc : Loc.t) -&gt;
+                             (fun (x : 'a_ident) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyVrn (_loc, x) : 'more_ctyp))));
                          ([ Gram.Skeyword &quot;mutable&quot;; Gram.Sself ],
                           (Gram.Action.mk
-                             (fun (x : 'more_ctyp) _ (_loc : Loc.t) -&gt;
+                             (fun (x : 'more_ctyp) _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.TyMut (_loc, x) : 'more_ctyp)))) ]) ]))
                   ());
              Gram.extend (str_item_quot : 'str_item_quot Gram.Entry.t)
@@ -7654,13 +7752,13 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.StNil _loc : 'str_item_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (str_item : 'str_item Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (st : 'str_item) (_loc : Loc.t) -&gt;
+                             (fun (st : 'str_item) (_loc : Gram.Loc.t) -&gt;
                                 (st : 'str_item_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -7670,7 +7768,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (st2 : 'str_item_quot) _ (st1 : 'str_item)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.StSem (_loc, st1, st2) : 'str_item_quot))));
                          ([ Gram.Skeyword &quot;#&quot;;
                             Gram.Snterm
@@ -7681,7 +7779,7 @@ Very old (no more supported) syntax:
                                  (opt_expr : 'opt_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (dp : 'opt_expr) (n : 'a_LIDENT) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.StDir (_loc, n, dp) : 'str_item_quot)))) ]) ]))
                   ());
              Gram.extend (sig_item_quot : 'sig_item_quot Gram.Entry.t)
@@ -7690,13 +7788,13 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.SgNil _loc : 'sig_item_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (sig_item : 'sig_item Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (sg : 'sig_item) (_loc : Loc.t) -&gt;
+                             (fun (sg : 'sig_item) (_loc : Gram.Loc.t) -&gt;
                                 (sg : 'sig_item_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -7706,7 +7804,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (sg2 : 'sig_item_quot) _ (sg1 : 'sig_item)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.SgSem (_loc, sg1, sg2) : 'sig_item_quot))));
                          ([ Gram.Skeyword &quot;#&quot;;
                             Gram.Snterm
@@ -7717,7 +7815,7 @@ Very old (no more supported) syntax:
                                  (opt_expr : 'opt_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (dp : 'opt_expr) (n : 'a_LIDENT) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.SgDir (_loc, n, dp) : 'sig_item_quot)))) ]) ]))
                   ());
              Gram.extend (module_type_quot : 'module_type_quot Gram.Entry.t)
@@ -7726,13 +7824,13 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MtNil _loc : 'module_type_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (module_type : 'module_type Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'module_type) (_loc : Loc.t) -&gt;
+                             (fun (x : 'module_type) (_loc : Gram.Loc.t) -&gt;
                                 (x : 'module_type_quot)))) ]) ]))
                   ());
              Gram.extend (module_expr_quot : 'module_expr_quot Gram.Entry.t)
@@ -7741,13 +7839,13 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MeNil _loc : 'module_expr_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (module_expr : 'module_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'module_expr) (_loc : Loc.t) -&gt;
+                             (fun (x : 'module_expr) (_loc : Gram.Loc.t) -&gt;
                                 (x : 'module_expr_quot)))) ]) ]))
                   ());
              Gram.extend (match_case_quot : 'match_case_quot Gram.Entry.t)
@@ -7756,7 +7854,7 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.McNil _loc : 'match_case_quot))));
                          ([ Gram.Slist0sep
                               (Gram.Snterm
@@ -7764,8 +7862,8 @@ Very old (no more supported) syntax:
                                     (match_case0 : 'match_case0 Gram.Entry.t)),
                               Gram.Skeyword &quot;|&quot;) ],
                           (Gram.Action.mk
-                             (fun (x : 'match_case0 list) (_loc : Loc.t) -&gt;
-                                (Ast.mcOr_of_list x : 'match_case_quot)))) ]) ]))
+                             (fun (x : 'match_case0 list) (_loc : Gram.Loc.t)
+                                -&gt; (Ast.mcOr_of_list x : 'match_case_quot)))) ]) ]))
                   ());
              Gram.extend (binding_quot : 'binding_quot Gram.Entry.t)
                ((fun () -&gt;
@@ -7773,13 +7871,13 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.BiNil _loc : 'binding_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (binding : 'binding Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'binding) (_loc : Loc.t) -&gt;
+                             (fun (x : 'binding) (_loc : Gram.Loc.t) -&gt;
                                 (x : 'binding_quot)))) ]) ]))
                   ());
              Gram.extend (rec_binding_quot : 'rec_binding_quot Gram.Entry.t)
@@ -7788,13 +7886,13 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.RbNil _loc : 'rec_binding_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (label_expr : 'label_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'label_expr) (_loc : Loc.t) -&gt;
+                             (fun (x : 'label_expr) (_loc : Gram.Loc.t) -&gt;
                                 (x : 'rec_binding_quot)))) ]) ]))
                   ());
              Gram.extend
@@ -7804,7 +7902,7 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MbNil _loc : 'module_binding_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -7819,7 +7917,7 @@ Very old (no more supported) syntax:
                                  (module_expr : 'module_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (me : 'module_expr) _ (mt : 'module_type) _
-                                (m : 'a_UIDENT) (_loc : Loc.t) -&gt;
+                                (m : 'a_UIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MbColEq (_loc, m, mt, me) :
                                   'module_binding_quot))));
                          ([ Gram.Snterm
@@ -7831,7 +7929,7 @@ Very old (no more supported) syntax:
                                  (module_type : 'module_type Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (mt : 'module_type) _ (m : 'a_UIDENT)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MbCol (_loc, m, mt) :
                                   'module_binding_quot))));
                          ([ Gram.Stoken
@@ -7849,7 +7947,8 @@ Very old (no more supported) syntax:
                                  (module_expr : 'module_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (me : 'module_expr) _ (mt : 'module_type) _
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; as n)), m) -&gt;
                                     (Ast.MbColEq (_loc, mk_anti n m, mt, me) :
@@ -7866,7 +7965,8 @@ Very old (no more supported) syntax:
                                  (module_type : 'module_type Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (mt : 'module_type) _
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; as n)), m) -&gt;
                                     (Ast.MbCol (_loc, mk_anti n m, mt) :
@@ -7878,8 +7978,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;&quot; as n)), s) -&gt;
                                     (Ast.MbAnt (_loc,
@@ -7893,8 +7993,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;module_binding\&quot; | \&quot;anti\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;module_binding&quot; | &quot;anti&quot; as n)), s)
@@ -7906,7 +8006,8 @@ Very old (no more supported) syntax:
                          ([ Gram.Sself; Gram.Skeyword &quot;and&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (b2 : 'module_binding_quot) _
-                                (b1 : 'module_binding_quot) (_loc : Loc.t) -&gt;
+                                (b1 : 'module_binding_quot)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.MbAnd (_loc, b1, b2) :
                                   'module_binding_quot)))) ]) ]))
                   ());
@@ -7917,19 +8018,19 @@ Very old (no more supported) syntax:
                        [ ([ Gram.Sself; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (j : 'ident_quot) (i : 'ident_quot)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdApp (_loc, i, j) : 'ident_quot)))) ]);
                       ((Some &quot;.&quot;), None,
                        [ ([ Gram.Sself; Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (j : 'ident_quot) _ (i : 'ident_quot)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdAcc (_loc, i, j) : 'ident_quot)))) ]);
                       ((Some &quot;simple&quot;), None,
                        [ ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (i : 'ident_quot) _ (_loc : Loc.t) -&gt;
-                                (i : 'ident_quot))));
+                             (fun _ (i : 'ident_quot) _ (_loc : Gram.Loc.t)
+                                -&gt; (i : 'ident_quot))));
                          ([ Gram.Stoken
                               (((function
                                  | ANTIQUOT ((&quot;&quot; | &quot;id&quot; | &quot;anti&quot; | &quot;list&quot;),
@@ -7939,7 +8040,8 @@ Very old (no more supported) syntax:
                             Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (i : 'ident_quot) _
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;id&quot; | &quot;anti&quot; | &quot;list&quot; as n)), s)
@@ -7954,13 +8056,13 @@ Very old (no more supported) syntax:
                               (Gram.Entry.obj
                                  (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_LIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_LIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdLid (_loc, i) : 'ident_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_UIDENT : 'a_UIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_UIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_UIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.IdUid (_loc, i) : 'ident_quot))));
                          ([ Gram.Stoken
                               (((function
@@ -7969,8 +8071,8 @@ Very old (no more supported) syntax:
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT ((\&quot;\&quot; | \&quot;id\&quot; | \&quot;anti\&quot; | \&quot;list\&quot;), _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT
                                     (((&quot;&quot; | &quot;id&quot; | &quot;anti&quot; | &quot;list&quot; as n)), s)
@@ -7986,13 +8088,13 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CeNil _loc : 'class_expr_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (class_expr : 'class_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'class_expr) (_loc : Loc.t) -&gt;
+                             (fun (x : 'class_expr) (_loc : Gram.Loc.t) -&gt;
                                 (x : 'class_expr_quot))));
                          ([ Gram.Stoken
                               (((function
@@ -8007,7 +8109,8 @@ Very old (no more supported) syntax:
                                    'opt_comma_ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (ot : 'opt_comma_ctyp) (i : 'ident)
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;virtual&quot; as n)), s) -&gt;
                                     (let anti =
@@ -8023,20 +8126,22 @@ Very old (no more supported) syntax:
                                    'class_name_and_param Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun ((i, ot) : 'class_name_and_param) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CeCon (_loc, Ast.BTrue,
                                    Ast.IdLid (_loc, i), ot) :
                                   'class_expr_quot))));
                          ([ Gram.Sself; Gram.Skeyword &quot;=&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (ce2 : 'class_expr_quot) _
-                                (ce1 : 'class_expr_quot) (_loc : Loc.t) -&gt;
+                                (ce1 : 'class_expr_quot) (_loc : Gram.Loc.t)
+                                -&gt;
                                 (Ast.CeEq (_loc, ce1, ce2) :
                                   'class_expr_quot))));
                          ([ Gram.Sself; Gram.Skeyword &quot;and&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (ce2 : 'class_expr_quot) _
-                                (ce1 : 'class_expr_quot) (_loc : Loc.t) -&gt;
+                                (ce1 : 'class_expr_quot) (_loc : Gram.Loc.t)
+                                -&gt;
                                 (Ast.CeAnd (_loc, ce1, ce2) :
                                   'class_expr_quot)))) ]) ]))
                   ());
@@ -8046,15 +8151,15 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CtNil _loc : 'class_type_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (class_type_plus :
                                    'class_type_plus Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'class_type_plus) (_loc : Loc.t) -&gt;
-                                (x : 'class_type_quot))));
+                             (fun (x : 'class_type_plus) (_loc : Gram.Loc.t)
+                                -&gt; (x : 'class_type_quot))));
                          ([ Gram.Stoken
                               (((function
                                  | ANTIQUOT (&quot;virtual&quot;, _) -&gt; true
@@ -8068,7 +8173,8 @@ Very old (no more supported) syntax:
                                    'opt_comma_ctyp Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (ot : 'opt_comma_ctyp) (i : 'ident)
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (((&quot;virtual&quot; as n)), s) -&gt;
                                     (let anti =
@@ -8084,26 +8190,29 @@ Very old (no more supported) syntax:
                                    'class_name_and_param Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun ((i, ot) : 'class_name_and_param) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CtCon (_loc, Ast.BTrue,
                                    Ast.IdLid (_loc, i), ot) :
                                   'class_type_quot))));
                          ([ Gram.Sself; Gram.Skeyword &quot;:&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (ct2 : 'class_type_quot) _
-                                (ct1 : 'class_type_quot) (_loc : Loc.t) -&gt;
+                                (ct1 : 'class_type_quot) (_loc : Gram.Loc.t)
+                                -&gt;
                                 (Ast.CtCol (_loc, ct1, ct2) :
                                   'class_type_quot))));
                          ([ Gram.Sself; Gram.Skeyword &quot;=&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (ct2 : 'class_type_quot) _
-                                (ct1 : 'class_type_quot) (_loc : Loc.t) -&gt;
+                                (ct1 : 'class_type_quot) (_loc : Gram.Loc.t)
+                                -&gt;
                                 (Ast.CtEq (_loc, ct1, ct2) :
                                   'class_type_quot))));
                          ([ Gram.Sself; Gram.Skeyword &quot;and&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (ct2 : 'class_type_quot) _
-                                (ct1 : 'class_type_quot) (_loc : Loc.t) -&gt;
+                                (ct1 : 'class_type_quot) (_loc : Gram.Loc.t)
+                                -&gt;
                                 (Ast.CtAnd (_loc, ct1, ct2) :
                                   'class_type_quot)))) ]) ]))
                   ());
@@ -8114,15 +8223,15 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CrNil _loc : 'class_str_item_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (class_str_item :
                                    'class_str_item Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'class_str_item) (_loc : Loc.t) -&gt;
-                                (x : 'class_str_item_quot))));
+                             (fun (x : 'class_str_item) (_loc : Gram.Loc.t)
+                                -&gt; (x : 'class_str_item_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (class_str_item :
@@ -8132,7 +8241,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (x2 : 'class_str_item_quot) _
-                                (x1 : 'class_str_item) (_loc : Loc.t) -&gt;
+                                (x1 : 'class_str_item) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CrSem (_loc, x1, x2) :
                                   'class_str_item_quot)))) ]) ]))
                   ());
@@ -8143,15 +8252,15 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CgNil _loc : 'class_sig_item_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (class_sig_item :
                                    'class_sig_item Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'class_sig_item) (_loc : Loc.t) -&gt;
-                                (x : 'class_sig_item_quot))));
+                             (fun (x : 'class_sig_item) (_loc : Gram.Loc.t)
+                                -&gt; (x : 'class_sig_item_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (class_sig_item :
@@ -8161,7 +8270,7 @@ Very old (no more supported) syntax:
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (x2 : 'class_sig_item_quot) _
-                                (x1 : 'class_sig_item) (_loc : Loc.t) -&gt;
+                                (x1 : 'class_sig_item) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.CgSem (_loc, x1, x2) :
                                   'class_sig_item_quot)))) ]) ]))
                   ());
@@ -8171,13 +8280,13 @@ Very old (no more supported) syntax:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt;
+                             (fun (_loc : Gram.Loc.t) -&gt;
                                 (Ast.WcNil _loc : 'with_constr_quot))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (with_constr : 'with_constr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'with_constr) (_loc : Loc.t) -&gt;
+                             (fun (x : 'with_constr) (_loc : Gram.Loc.t) -&gt;
                                 (x : 'with_constr_quot)))) ]) ]))
                   ());
              Gram.extend (patt_eoi : 'patt_eoi Gram.Entry.t)
@@ -8190,7 +8299,7 @@ Very old (no more supported) syntax:
                               (((function | EOI -&gt; true | _ -&gt; false), &quot;EOI&quot;)) ],
                           (Gram.Action.mk
                              (fun (__camlp4_0 : Gram.Token.t) (x : 'patt)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | EOI -&gt; (x : 'patt_eoi)
                                 | _ -&gt; assert false))) ]) ]))
@@ -8205,7 +8314,7 @@ Very old (no more supported) syntax:
                               (((function | EOI -&gt; true | _ -&gt; false), &quot;EOI&quot;)) ],
                           (Gram.Action.mk
                              (fun (__camlp4_0 : Gram.Token.t) (x : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | EOI -&gt; (x : 'expr_eoi)
                                 | _ -&gt; assert false))) ]) ]))
@@ -8239,13 +8348,9 @@ module Camlp4QuotationCommon =
  * - Nicolas Pouillard: initial version
  *)
     module Id =
-      struct
-        let name = &quot;Camlp4QuotationCommon&quot;
-          
-        let version =
-          &quot;$Id: Camlp4QuotationCommon.ml,v 1.1.4.6 2007/06/05 13:41:06 pouillar Exp $&quot;
-          
-      end
+      struct let name = &quot;Camlp4QuotationCommon&quot;
+                let version = &quot;$Id$&quot;
+                   end
       
     module Make
       (Syntax : Sig.Camlp4Syntax)
@@ -8497,11 +8602,14 @@ module Camlp4QuotationCommon =
                                    Ast.IdLid (_loc, &quot;escaped&quot;))),
                                e)
                          | &quot;`bool&quot; -&gt;
-                             Ast.ExIfe (_loc, e,
-                               ME.meta_expr _loc
-                                 (Ast.ExId (_loc, Ast.IdUid (_loc, &quot;True&quot;))),
-                               ME.meta_expr _loc
-                                 (Ast.ExId (_loc, Ast.IdUid (_loc, &quot;False&quot;))))
+                             Ast.ExApp (_loc,
+                               Ast.ExApp (_loc,
+                                 Ast.ExId (_loc,
+                                   Ast.IdAcc (_loc, Ast.IdUid (_loc, &quot;Ast&quot;),
+                                     Ast.IdUid (_loc, &quot;IdUid&quot;))),
+                                 mloc _loc),
+                               Ast.ExIfe (_loc, e, Ast.ExStr (_loc, &quot;True&quot;),
+                                 Ast.ExStr (_loc, &quot;False&quot;)))
                          | &quot;liststr_item&quot; -&gt;
                              Ast.ExApp (_loc,
                                Ast.ExId (_loc,
@@ -8843,7 +8951,7 @@ module Camlp4QuotationCommon =
                               (((function | EOI -&gt; true | _ -&gt; false), &quot;EOI&quot;)) ],
                           (Gram.Action.mk
                              (fun (__camlp4_0 : Gram.Token.t) (x : 'entry)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | EOI -&gt; (x : 'entry_eoi)
                                 | _ -&gt; assert false))) ]) ]))
@@ -8939,13 +9047,9 @@ module Q =
  * - Nicolas Pouillard: refactoring
  *)
     module Id =
-      struct
-        let name = &quot;Camlp4QuotationExpander&quot;
-          
-        let version =
-          &quot;$Id: Camlp4QuotationExpander.ml,v 1.1 2007/02/07 10:09:22 ertai Exp $&quot;
-          
-      end
+      struct let name = &quot;Camlp4QuotationExpander&quot;
+                let version = &quot;$Id$&quot;
+                   end
       
     module Make (Syntax : Sig.Camlp4Syntax) =
       struct
@@ -8982,12 +9086,9 @@ module Rp =
  * - Nicolas Pouillard: refactoring
  *)
     module Id : Sig.Id =
-      struct
-        let name = &quot;Camlp4OCamlRevisedParserParser&quot;
-          
-        let version =
-          &quot;$Id: Camlp4OCamlRevisedParserParser.ml,v 1.1.4.3 2007/05/16 12:48:13 pouillar Exp $&quot;
-          
+      struct let name = &quot;Camlp4OCamlRevisedParserParser&quot;
+                let version = &quot;$Id$&quot;
+                  
       end
       
     module Make (Syntax : Sig.Camlp4Syntax) =
@@ -9562,7 +9663,7 @@ module Rp =
                           (Gram.Action.mk
                              (fun (pcl : 'parser_case_list)
                                 (po : 'parser_ipatt option) _ _
-                                (e : 'sequence) _ (_loc : Loc.t) -&gt;
+                                (e : 'sequence) _ (_loc : Gram.Loc.t) -&gt;
                                 (cparser_match _loc e po pcl : 'expr))));
                          ([ Gram.Skeyword &quot;parser&quot;;
                             Gram.Sopt
@@ -9576,8 +9677,9 @@ module Rp =
                                    'parser_case_list Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (pcl : 'parser_case_list)
-                                (po : 'parser_ipatt option) _ (_loc : Loc.t)
-                                -&gt; (cparser _loc po pcl : 'expr)))) ]) ]))
+                                (po : 'parser_ipatt option) _
+                                (_loc : Gram.Loc.t) -&gt;
+                                (cparser _loc po pcl : 'expr)))) ]) ]))
                   ());
              Gram.extend (parser_case_list : 'parser_case_list Gram.Entry.t)
                ((fun () -&gt;
@@ -9587,7 +9689,7 @@ module Rp =
                               (Gram.Entry.obj
                                  (parser_case : 'parser_case Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (pc : 'parser_case) (_loc : Loc.t) -&gt;
+                             (fun (pc : 'parser_case) (_loc : Gram.Loc.t) -&gt;
                                 ([ pc ] : 'parser_case_list))));
                          ([ Gram.Skeyword &quot;[&quot;;
                             Gram.Slist0sep
@@ -9598,7 +9700,8 @@ module Rp =
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
                              (fun _ (pcl : 'parser_case list) _
-                                (_loc : Loc.t) -&gt; (pcl : 'parser_case_list)))) ]) ]))
+                                (_loc : Gram.Loc.t) -&gt;
+                                (pcl : 'parser_case_list)))) ]) ]))
                   ());
              Gram.extend (parser_case : 'parser_case Gram.Entry.t)
                ((fun () -&gt;
@@ -9623,7 +9726,7 @@ module Rp =
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e : 'expr) _ (po : 'parser_ipatt option) _
-                                (sp : 'stream_patt) _ (_loc : Loc.t) -&gt;
+                                (sp : 'stream_patt) _ (_loc : Gram.Loc.t) -&gt;
                                 ((sp, po, e) : 'parser_case)))) ]) ]))
                   ());
              Gram.extend (stream_begin : 'stream_begin Gram.Entry.t)
@@ -9632,7 +9735,8 @@ module Rp =
                     [ (None, None,
                        [ ([ Gram.Skeyword &quot;[:&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt; (() : 'stream_begin)))) ]) ]))
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
+                                (() : 'stream_begin)))) ]) ]))
                   ());
              Gram.extend (stream_end : 'stream_end Gram.Entry.t)
                ((fun () -&gt;
@@ -9640,7 +9744,7 @@ module Rp =
                     [ (None, None,
                        [ ([ Gram.Skeyword &quot;:]&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt; (() : 'stream_end)))) ]) ]))
+                             (fun _ (_loc : Gram.Loc.t) -&gt; (() : 'stream_end)))) ]) ]))
                   ());
              Gram.extend (stream_quot : 'stream_quot Gram.Entry.t)
                ((fun () -&gt;
@@ -9648,7 +9752,8 @@ module Rp =
                     [ (None, None,
                        [ ([ Gram.Skeyword &quot;`&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt; (() : 'stream_quot)))) ]) ]))
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
+                                (() : 'stream_quot)))) ]) ]))
                   ());
              Gram.extend (stream_expr : 'stream_expr Gram.Entry.t)
                ((fun () -&gt;
@@ -9657,7 +9762,7 @@ module Rp =
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) (_loc : Gram.Loc.t) -&gt;
                                 (e : 'stream_expr)))) ]) ]))
                   ());
              Gram.extend (stream_patt : 'stream_patt Gram.Entry.t)
@@ -9666,7 +9771,7 @@ module Rp =
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt; ([] : 'stream_patt))));
+                             (fun (_loc : Gram.Loc.t) -&gt; ([] : 'stream_patt))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (stream_patt_comp :
@@ -9678,14 +9783,15 @@ module Rp =
                                    'stream_patt_comp_err_list Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (sp : 'stream_patt_comp_err_list) _
-                                (spc : 'stream_patt_comp) (_loc : Loc.t) -&gt;
-                                ((spc, None) :: sp : 'stream_patt))));
+                                (spc : 'stream_patt_comp) (_loc : Gram.Loc.t)
+                                -&gt; ((spc, None) :: sp : 'stream_patt))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (stream_patt_comp :
                                    'stream_patt_comp Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (spc : 'stream_patt_comp) (_loc : Loc.t) -&gt;
+                             (fun (spc : 'stream_patt_comp)
+                                (_loc : Gram.Loc.t) -&gt;
                                 ([ (spc, None) ] : 'stream_patt)))) ]) ]))
                   ());
              Gram.extend
@@ -9706,11 +9812,11 @@ module Rp =
                                              'stream_expr Gram.Entry.t)) ],
                                     (Gram.Action.mk
                                        (fun (e : 'stream_expr) _
-                                          (_loc : Loc.t) -&gt; (e : 'e__7)))) ]) ],
+                                          (_loc : Gram.Loc.t) -&gt; (e : 'e__7)))) ]) ],
                           (Gram.Action.mk
                              (fun (eo : 'e__7 option)
-                                (spc : 'stream_patt_comp) (_loc : Loc.t) -&gt;
-                                ((spc, eo) : 'stream_patt_comp_err)))) ]) ]))
+                                (spc : 'stream_patt_comp) (_loc : Gram.Loc.t)
+                                -&gt; ((spc, eo) : 'stream_patt_comp_err)))) ]) ]))
                   ());
              Gram.extend
                (stream_patt_comp_err_list :
@@ -9725,8 +9831,9 @@ module Rp =
                             Gram.Skeyword &quot;;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (sp : 'stream_patt_comp_err_list) _
-                                (spc : 'stream_patt_comp_err) (_loc : Loc.t)
-                                -&gt; (spc :: sp : 'stream_patt_comp_err_list))));
+                                (spc : 'stream_patt_comp_err)
+                                (_loc : Gram.Loc.t) -&gt;
+                                (spc :: sp : 'stream_patt_comp_err_list))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (stream_patt_comp_err :
@@ -9734,7 +9841,7 @@ module Rp =
                             Gram.Skeyword &quot;;&quot; ],
                           (Gram.Action.mk
                              (fun _ (spc : 'stream_patt_comp_err)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 ([ spc ] : 'stream_patt_comp_err_list))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -9742,7 +9849,7 @@ module Rp =
                                    'stream_patt_comp_err Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (spc : 'stream_patt_comp_err)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 ([ spc ] : 'stream_patt_comp_err_list)))) ]) ]))
                   ());
              Gram.extend (stream_patt_comp : 'stream_patt_comp Gram.Entry.t)
@@ -9752,7 +9859,7 @@ module Rp =
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (p : 'patt) (_loc : Loc.t) -&gt;
+                             (fun (p : 'patt) (_loc : Gram.Loc.t) -&gt;
                                 (SpStr (_loc, p) : 'stream_patt_comp))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t));
@@ -9762,7 +9869,7 @@ module Rp =
                                  (stream_expr : 'stream_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e : 'stream_expr) _ (p : 'patt)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (SpNtr (_loc, p, e) : 'stream_patt_comp))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -9778,10 +9885,10 @@ module Rp =
                                              'stream_expr Gram.Entry.t)) ],
                                     (Gram.Action.mk
                                        (fun (e : 'stream_expr) _
-                                          (_loc : Loc.t) -&gt; (e : 'e__8)))) ]) ],
+                                          (_loc : Gram.Loc.t) -&gt; (e : 'e__8)))) ]) ],
                           (Gram.Action.mk
                              (fun (eo : 'e__8 option) (p : 'patt) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (SpTrm (_loc, p, eo) : 'stream_patt_comp)))) ]) ]))
                   ());
              Gram.extend (parser_ipatt : 'parser_ipatt Gram.Entry.t)
@@ -9790,13 +9897,13 @@ module Rp =
                     [ (None, None,
                        [ ([ Gram.Skeyword &quot;_&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaAny _loc : 'parser_ipatt))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_LIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_LIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaId (_loc, Ast.IdLid (_loc, i)) :
                                   'parser_ipatt)))) ]) ]))
                   ());
@@ -9816,7 +9923,8 @@ module Rp =
                                  (stream_end : 'stream_end Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun _ (sel : 'stream_expr_comp_list) _
-                                (_loc : Loc.t) -&gt; (cstream _loc sel : 'expr))));
+                                (_loc : Gram.Loc.t) -&gt;
+                                (cstream _loc sel : 'expr))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (stream_begin : 'stream_begin Gram.Entry.t));
@@ -9824,7 +9932,7 @@ module Rp =
                               (Gram.Entry.obj
                                  (stream_end : 'stream_end Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun _ _ (_loc : Loc.t) -&gt;
+                             (fun _ _ (_loc : Gram.Loc.t) -&gt;
                                 (cstream _loc [] : 'expr)))) ]) ]))
                   ());
              Gram.extend
@@ -9837,7 +9945,8 @@ module Rp =
                                  (stream_expr_comp :
                                    'stream_expr_comp Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (se : 'stream_expr_comp) (_loc : Loc.t) -&gt;
+                             (fun (se : 'stream_expr_comp)
+                                (_loc : Gram.Loc.t) -&gt;
                                 ([ se ] : 'stream_expr_comp_list))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -9845,8 +9954,9 @@ module Rp =
                                    'stream_expr_comp Gram.Entry.t));
                             Gram.Skeyword &quot;;&quot; ],
                           (Gram.Action.mk
-                             (fun _ (se : 'stream_expr_comp) (_loc : Loc.t)
-                                -&gt; ([ se ] : 'stream_expr_comp_list))));
+                             (fun _ (se : 'stream_expr_comp)
+                                (_loc : Gram.Loc.t) -&gt;
+                                ([ se ] : 'stream_expr_comp_list))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (stream_expr_comp :
@@ -9854,8 +9964,8 @@ module Rp =
                             Gram.Skeyword &quot;;&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (sel : 'stream_expr_comp_list) _
-                                (se : 'stream_expr_comp) (_loc : Loc.t) -&gt;
-                                (se :: sel : 'stream_expr_comp_list)))) ]) ]))
+                                (se : 'stream_expr_comp) (_loc : Gram.Loc.t)
+                                -&gt; (se :: sel : 'stream_expr_comp_list)))) ]) ]))
                   ());
              Gram.extend (stream_expr_comp : 'stream_expr_comp Gram.Entry.t)
                ((fun () -&gt;
@@ -9865,7 +9975,7 @@ module Rp =
                               (Gram.Entry.obj
                                  (stream_expr : 'stream_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'stream_expr) (_loc : Loc.t) -&gt;
+                             (fun (e : 'stream_expr) (_loc : Gram.Loc.t) -&gt;
                                 (SeNtr (_loc, e) : 'stream_expr_comp))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -9874,7 +9984,7 @@ module Rp =
                               (Gram.Entry.obj
                                  (stream_expr : 'stream_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'stream_expr) _ (_loc : Loc.t) -&gt;
+                             (fun (e : 'stream_expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (SeTrm (_loc, e) : 'stream_expr_comp)))) ]) ]))
                   ()))
           
@@ -9907,13 +10017,9 @@ module G =
  * - Nicolas Pouillard: refactoring
  *)
     module Id =
-      struct
-        let name = &quot;Camlp4GrammarParser&quot;
-          
-        let version =
-          &quot;$Id: Camlp4GrammarParser.ml,v 1.1.4.4 2007/04/20 14:57:28 pouillar Exp $&quot;
-          
-      end
+      struct let name = &quot;Camlp4GrammarParser&quot;
+                let version = &quot;$Id$&quot;
+                   end
       
     module Make (Syntax : Sig.Camlp4Syntax) =
       struct
@@ -9948,7 +10054,6 @@ module G =
           | STself of loc * string
           | STtok of loc
           | STstring_tok of loc
-          | STany of loc
           | STtyp of Ast.ctyp
         
         type (** The first is the match function expr,
@@ -10061,7 +10166,7 @@ module G =
           
         let retype_rule_list_without_patterns _loc rl =
           try
-            (* ...; [ &quot;foo&quot; ]; ... ==&gt; ...; (x = [ &quot;foo&quot; ] -&gt; Token.extract_string x); ... *)
+            (* ...; [ &quot;foo&quot; ]; ... ==&gt; ...; (x = [ &quot;foo&quot; ] -&gt; Gram.Token.extract_string x); ... *)
             (* ...; [ symb ]; ... ==&gt; ...; (x = [ symb ] -&gt; x); ... *)
             (* ...; ([] -&gt; a); ... *)
             List.map
@@ -10081,8 +10186,9 @@ module G =
                        Some
                          (Ast.ExApp (_loc,
                             Ast.ExId (_loc,
-                              Ast.IdAcc (_loc, Ast.IdUid (_loc, &quot;Token&quot;),
-                                Ast.IdLid (_loc, &quot;extract_string&quot;))),
+                              Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
+                                Ast.IdAcc (_loc, Ast.IdUid (_loc, &quot;Token&quot;),
+                                  Ast.IdLid (_loc, &quot;extract_string&quot;)))),
                             Ast.ExId (_loc, Ast.IdLid (_loc, &quot;x&quot;))));
                    }
                | { prod = [ ({ pattern = None } as s) ]; action = None } -&gt;
@@ -10149,7 +10255,6 @@ module G =
                   (Stream.Error
                      (&quot;'&quot; ^ (x ^ &quot;' illegal in anonymous entry level&quot;)))
               else Ast.TyQuo (_loc, tvar)
-          | STany _loc -&gt; Ast.TyAny _loc
           | STtok _loc -&gt;
               Ast.TyId (_loc,
                 Ast.IdAcc (_loc,
@@ -10244,7 +10349,9 @@ module G =
                 Ast.McArr (_loc,
                   Ast.PaTyc (_loc, locid,
                     Ast.TyId (_loc,
-                      Ast.IdAcc (_loc, Ast.IdUid (_loc, &quot;Loc&quot;),
+                      Ast.IdAcc (_loc,
+                        Ast.IdAcc (_loc, Ast.IdUid (_loc, gm),
+                          Ast.IdUid (_loc, &quot;Loc&quot;)),
                         Ast.IdLid (_loc, &quot;t&quot;)))),
                   Ast.ExNil _loc, e2)) in
           let (txt, _) =
@@ -10494,106 +10601,84 @@ module G =
           
         let slist loc min sep symb = TXlist (loc, min, symb, sep)
           
-        let sstoken _loc s =
-          let n = mk_name _loc (Ast.IdLid (_loc, &quot;a_&quot; ^ s))
-          in TXnterm (_loc, n, None)
-          
-        let mk_symbol p s t =
-          { used = []; text = s; styp = t; pattern = Some p; }
-          
-        let sslist _loc min sep s =
-          let rl =
-            let r1 =
-              let prod =
-                let n = mk_name _loc (Ast.IdLid (_loc, &quot;a_list&quot;))
-                in
-                  [ mk_symbol (Ast.PaId (_loc, Ast.IdLid (_loc, &quot;a&quot;)))
-                      (TXnterm (_loc, n, None)) (STquo (_loc, &quot;a_list&quot;)) ] in
-              let act = Ast.ExId (_loc, Ast.IdLid (_loc, &quot;a&quot;))
-              in { prod = prod; action = Some act; } in
-            let r2 =
-              let prod =
-                [ mk_symbol (Ast.PaId (_loc, Ast.IdLid (_loc, &quot;a&quot;)))
-                    (slist _loc min sep s)
-                    (STapp (_loc, STlid (_loc, &quot;list&quot;), s.styp)) ] in
-              let act =
-                Ast.ExApp (_loc,
-                  Ast.ExId (_loc,
-                    Ast.IdAcc (_loc, Ast.IdUid (_loc, &quot;Qast&quot;),
-                      Ast.IdUid (_loc, &quot;List&quot;))),
-                  Ast.ExId (_loc, Ast.IdLid (_loc, &quot;a&quot;)))
-              in { prod = prod; action = Some act; }
-            in [ r1; r2 ] in
-          let used =
-            match sep with | Some symb -&gt; symb.used @ s.used | None -&gt; s.used in
-          let used = &quot;a_list&quot; :: used in
-          let text = TXrules (_loc, srules _loc &quot;a_list&quot; rl &quot;&quot;) in
-          let styp = STquo (_loc, &quot;a_list&quot;)
-          in { used = used; text = text; styp = styp; pattern = None; }
-          
-        let ssopt _loc s =
-          let rl =
-            let r1 =
-              let prod =
-                let n = mk_name _loc (Ast.IdLid (_loc, &quot;a_opt&quot;))
-                in
-                  [ mk_symbol (Ast.PaId (_loc, Ast.IdLid (_loc, &quot;a&quot;)))
-                      (TXnterm (_loc, n, None)) (STquo (_loc, &quot;a_opt&quot;)) ] in
-              let act = Ast.ExId (_loc, Ast.IdLid (_loc, &quot;a&quot;))
-              in { prod = prod; action = Some act; } in
-            let r2 =
-              let s =
-                match s.text with
-                | TXkwd (_loc, _) | TXtok (_loc, _, _) -&gt;
-                    let rl =
-                      [ {
-                          prod =
-                            [ {
-                                (s)
-                                with
-                                pattern =
-                                  Some
-                                    (Ast.PaId (_loc, Ast.IdLid (_loc, &quot;x&quot;)));
-                              } ];
-                          action =
-                            Some
-                              (Ast.ExApp (_loc,
-                                 Ast.ExId (_loc,
-                                   Ast.IdAcc (_loc, Ast.IdUid (_loc, &quot;Qast&quot;),
-                                     Ast.IdUid (_loc, &quot;Str&quot;))),
-                                 Ast.ExApp (_loc,
-                                   Ast.ExId (_loc,
-                                     Ast.IdAcc (_loc,
-                                       Ast.IdUid (_loc, &quot;Token&quot;),
-                                       Ast.IdLid (_loc, &quot;extract_string&quot;))),
-                                   Ast.ExId (_loc, Ast.IdLid (_loc, &quot;x&quot;)))));
-                        } ] in
-                    let t = new_type_var ()
-                    in
-                      {
-                        used = [];
-                        text = TXrules (_loc, srules _loc t rl &quot;&quot;);
-                        styp = STquo (_loc, t);
-                        pattern = None;
-                      }
-                | _ -&gt; s in
-              let prod =
-                [ mk_symbol (Ast.PaId (_loc, Ast.IdLid (_loc, &quot;a&quot;)))
-                    (TXopt (_loc, s.text))
-                    (STapp (_loc, STlid (_loc, &quot;option&quot;), s.styp)) ] in
-              let act =
-                Ast.ExApp (_loc,
-                  Ast.ExId (_loc,
-                    Ast.IdAcc (_loc, Ast.IdUid (_loc, &quot;Qast&quot;),
-                      Ast.IdUid (_loc, &quot;Option&quot;))),
-                  Ast.ExId (_loc, Ast.IdLid (_loc, &quot;a&quot;)))
-              in { prod = prod; action = Some act; }
-            in [ r1; r2 ] in
-          let used = &quot;a_opt&quot; :: s.used in
-          let text = TXrules (_loc, srules _loc &quot;a_opt&quot; rl &quot;&quot;) in
-          let styp = STquo (_loc, &quot;a_opt&quot;)
-          in { used = used; text = text; styp = styp; pattern = None; }
-          
+        (*
+  value sstoken _loc s =
+    let n = mk_name _loc &lt;:ident&lt; $lid:&quot;a_&quot; ^ s$ &gt;&gt; in
+    TXnterm _loc n None
+  ;
+
+  value mk_symbol p s t =
+    {used = []; text = s; styp = t; pattern=Some p};
+
+  value sslist _loc min sep s =
+    let rl =
+      let r1 =
+        let prod =
+          let n = mk_name _loc &lt;:ident&lt; a_list &gt;&gt; in
+          [mk_symbol &lt;:patt&lt; a &gt;&gt; (TXnterm _loc n None) (STquo _loc &quot;a_list&quot;)]
+        in
+        let act = &lt;:expr&lt; a &gt;&gt; in
+        {prod = prod; action = Some act}
+      in
+      let r2 =
+        let prod =
+          [mk_symbol &lt;:patt&lt; a &gt;&gt; (slist _loc min sep s)
+            (STapp _loc (STlid _loc &quot;list&quot;) s.styp)]
+        in
+        let act = &lt;:expr&lt; Qast.List a &gt;&gt; in
+        {prod = prod; action = Some act}
+      in
+      [r1; r2]
+    in
+    let used =
+      match sep with
+      [ Some symb -&gt; symb.used @ s.used
+      | None -&gt; s.used ]
+    in
+    let used = [&quot;a_list&quot; :: used] in
+    let text = TXrules _loc (srules _loc &quot;a_list&quot; rl &quot;&quot;) in
+    let styp = STquo _loc &quot;a_list&quot; in
+    {used = used; text = text; styp = styp; pattern = None}
+  ;
+
+  value ssopt _loc s =
+    let rl =
+      let r1 =
+        let prod =
+          let n = mk_name _loc &lt;:ident&lt; a_opt &gt;&gt; in
+          [mk_symbol &lt;:patt&lt; a &gt;&gt; (TXnterm _loc n None) (STquo _loc &quot;a_opt&quot;)]
+        in
+        let act = &lt;:expr&lt; a &gt;&gt; in
+        {prod = prod; action = Some act}
+      in
+      let r2 =
+        let s =
+          match s.text with
+          [ TXkwd _loc _ | TXtok _loc _ _ -&gt;
+              let rl =
+                [{prod = [{ (s) with pattern = Some &lt;:patt&lt; x &gt;&gt; }];
+                  action = Some &lt;:expr&lt; Qast.Str (Token.extract_string x) &gt;&gt;}]
+              in
+              let t = new_type_var () in
+              {used = []; text = TXrules _loc (srules _loc t rl &quot;&quot;);
+              styp = STquo _loc t; pattern = None}
+          | _ -&gt; s ]
+        in
+        let prod =
+          [mk_symbol &lt;:patt&lt; a &gt;&gt; (TXopt _loc s.text)
+            (STapp _loc (STlid _loc &quot;option&quot;) s.styp)]
+        in
+        let act = &lt;:expr&lt; Qast.Option a &gt;&gt; in
+        {prod = prod; action = Some act}
+      in
+      [r1; r2]
+    in
+    let used = [&quot;a_opt&quot; :: s.used] in
+    let text = TXrules _loc (srules _loc &quot;a_opt&quot; rl &quot;&quot;) in
+    let styp = STquo _loc &quot;a_opt&quot; in
+    {used = used; text = text; styp = styp; pattern = None}
+  ;
+  *)
         let text_of_entry _loc e =
           let ent =
             let x = e.name in
@@ -10882,14 +10967,14 @@ module G =
                     [ (None, None,
                        [ ([ Gram.Skeyword &quot;GEXTEND&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Loc.raise _loc
                                    (Stream.Error
                                       &quot;Deprecated syntax, use EXTEND MyGramModule ... END instead&quot;) :
                                   'expr))));
                          ([ Gram.Skeyword &quot;GDELETE_RULE&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Loc.raise _loc
                                    (Stream.Error
                                       &quot;Deprecated syntax, use DELETE_RULE MyGramModule ... END instead&quot;) :
@@ -10901,16 +10986,16 @@ module G =
                                    'delete_rule_body Gram.Entry.t));
                             Gram.Skeyword &quot;END&quot; ],
                           (Gram.Action.mk
-                             (fun _ (e : 'delete_rule_body) _ (_loc : Loc.t)
-                                -&gt; (e : 'expr))));
+                             (fun _ (e : 'delete_rule_body) _
+                                (_loc : Gram.Loc.t) -&gt; (e : 'expr))));
                          ([ Gram.Skeyword &quot;EXTEND&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj
                                  (extend_body : 'extend_body Gram.Entry.t));
                             Gram.Skeyword &quot;END&quot; ],
                           (Gram.Action.mk
-                             (fun _ (e : 'extend_body) _ (_loc : Loc.t) -&gt;
-                                (e : 'expr)))) ]) ]))
+                             (fun _ (e : 'extend_body) _ (_loc : Gram.Loc.t)
+                                -&gt; (e : 'expr)))) ]) ]))
                   ());
              Gram.extend (extend_header : 'extend_header Gram.Entry.t)
                ((fun () -&gt;
@@ -10920,7 +11005,7 @@ module G =
                               (Gram.Entry.obj
                                  (qualuid : 'qualuid Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (g : 'qualuid) (_loc : Loc.t) -&gt;
+                             (fun (g : 'qualuid) (_loc : Gram.Loc.t) -&gt;
                                 ((None, g) : 'extend_header))));
                          ([ Gram.Skeyword &quot;(&quot;;
                             Gram.Snterm
@@ -10932,7 +11017,7 @@ module G =
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (t : 't_qualid) _ (i : 'qualid) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (((Some i), t) : 'extend_header)))) ]) ]))
                   ());
              Gram.extend (extend_body : 'extend_body Gram.Entry.t)
@@ -10957,13 +11042,13 @@ module G =
                                            (semi_sep :
                                              'semi_sep Gram.Entry.t)) ],
                                     (Gram.Action.mk
-                                       (fun _ (e : 'entry) (_loc : Loc.t) -&gt;
-                                          (e : 'e__9)))) ]) ],
+                                       (fun _ (e : 'entry)
+                                          (_loc : Gram.Loc.t) -&gt; (e : 'e__9)))) ]) ],
                           (Gram.Action.mk
                              (fun (el : 'e__9 list)
                                 (global_list : 'global option)
-                                ((gram, g) : 'extend_header) (_loc : Loc.t)
-                                -&gt;
+                                ((gram, g) : 'extend_header)
+                                (_loc : Gram.Loc.t) -&gt;
                                 (text_of_functorial_extend _loc g gram
                                    global_list el :
                                   'extend_body)))) ]) ]))
@@ -10987,7 +11072,7 @@ module G =
                                    (semi_sep : 'semi_sep Gram.Entry.t))) ],
                           (Gram.Action.mk
                              (fun (sl : 'symbol list) _ (n : 'name)
-                                (g : 'qualuid) (_loc : Loc.t) -&gt;
+                                (g : 'qualuid) (_loc : Gram.Loc.t) -&gt;
                                 (let (e, b) = expr_of_delete_rule _loc n sl
                                  in
                                    subst_gmod
@@ -11014,7 +11099,7 @@ module G =
                                        &quot;UIDENT \&quot;GLOBAL\&quot;&quot;)) ],
                                  (Gram.Action.mk
                                     (fun (__camlp4_0 : Gram.Token.t)
-                                       (_loc : Loc.t) -&gt;
+                                       (_loc : Gram.Loc.t) -&gt;
                                        match __camlp4_0 with
                                        | UIDENT &quot;GLOBAL&quot; -&gt; (() : 'e__10)
                                        | _ -&gt; assert false)));
@@ -11025,12 +11110,12 @@ module G =
                                        &quot;LIDENT ((_))&quot;)) ],
                                  (Gram.Action.mk
                                     (fun (__camlp4_0 : Gram.Token.t)
-                                       (_loc : Loc.t) -&gt;
+                                       (_loc : Gram.Loc.t) -&gt;
                                        match __camlp4_0 with
                                        | LIDENT ((_)) -&gt; (() : 'e__10)
                                        | _ -&gt; assert false))) ] ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Loc.raise _loc
                                    (Stream.Error
                                       &quot;Deprecated syntax, the grammar module is expected&quot;) :
@@ -11040,7 +11125,7 @@ module G =
                               (((function | UIDENT ((_)) -&gt; true | _ -&gt; false),
                                 &quot;UIDENT _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (i : Gram.Token.t) (_loc : Loc.t) -&gt;
+                             (fun (i : Gram.Token.t) (_loc : Gram.Loc.t) -&gt;
                                 (let i = Gram.Token.extract_string i
                                  in Ast.IdUid (_loc, i) : 'qualuid))));
                          ([ Gram.Stoken
@@ -11049,7 +11134,7 @@ module G =
                             Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (xs : 'qualuid) _ (x : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (let x = Gram.Token.extract_string x
                                  in Ast.IdAcc (_loc, Ast.IdUid (_loc, x), xs) :
                                   'qualuid)))) ]) ]))
@@ -11066,7 +11151,7 @@ module G =
                                        &quot;UIDENT \&quot;GLOBAL\&quot;&quot;)) ],
                                  (Gram.Action.mk
                                     (fun (__camlp4_0 : Gram.Token.t)
-                                       (_loc : Loc.t) -&gt;
+                                       (_loc : Gram.Loc.t) -&gt;
                                        match __camlp4_0 with
                                        | UIDENT &quot;GLOBAL&quot; -&gt; (() : 'e__11)
                                        | _ -&gt; assert false)));
@@ -11077,12 +11162,12 @@ module G =
                                        &quot;LIDENT ((_))&quot;)) ],
                                  (Gram.Action.mk
                                     (fun (__camlp4_0 : Gram.Token.t)
-                                       (_loc : Loc.t) -&gt;
+                                       (_loc : Gram.Loc.t) -&gt;
                                        match __camlp4_0 with
                                        | LIDENT ((_)) -&gt; (() : 'e__11)
                                        | _ -&gt; assert false))) ] ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Loc.raise _loc
                                    (Stream.Error
                                       &quot;Deprecated syntax, the grammar module is expected&quot;) :
@@ -11092,7 +11177,7 @@ module G =
                               (((function | UIDENT ((_)) -&gt; true | _ -&gt; false),
                                 &quot;UIDENT _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (i : Gram.Token.t) (_loc : Loc.t) -&gt;
+                             (fun (i : Gram.Token.t) (_loc : Gram.Loc.t) -&gt;
                                 (let i = Gram.Token.extract_string i
                                  in Ast.IdUid (_loc, i) : 'qualuid))));
                          ([ Gram.Stoken
@@ -11101,7 +11186,7 @@ module G =
                             Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (xs : 'qualuid) _ (x : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (let x = Gram.Token.extract_string x
                                  in Ast.IdAcc (_loc, Ast.IdUid (_loc, x), xs) :
                                   'qualuid)))) ]) ]))
@@ -11114,14 +11199,14 @@ module G =
                               (((function | LIDENT ((_)) -&gt; true | _ -&gt; false),
                                 &quot;LIDENT _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (i : Gram.Token.t) (_loc : Loc.t) -&gt;
+                             (fun (i : Gram.Token.t) (_loc : Gram.Loc.t) -&gt;
                                 (let i = Gram.Token.extract_string i
                                  in Ast.IdLid (_loc, i) : 'qualid))));
                          ([ Gram.Stoken
                               (((function | UIDENT ((_)) -&gt; true | _ -&gt; false),
                                 &quot;UIDENT _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (i : Gram.Token.t) (_loc : Loc.t) -&gt;
+                             (fun (i : Gram.Token.t) (_loc : Gram.Loc.t) -&gt;
                                 (let i = Gram.Token.extract_string i
                                  in Ast.IdUid (_loc, i) : 'qualid))));
                          ([ Gram.Stoken
@@ -11130,7 +11215,7 @@ module G =
                             Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (xs : 'qualid) _ (x : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (let x = Gram.Token.extract_string x
                                  in Ast.IdAcc (_loc, Ast.IdUid (_loc, x), xs) :
                                   'qualid)))) ]) ]))
@@ -11145,8 +11230,8 @@ module G =
                                  | _ -&gt; false),
                                 &quot;LIDENT _ | UIDENT _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LIDENT _ | UIDENT _ -&gt;
                                     (Loc.raise _loc
@@ -11165,7 +11250,7 @@ module G =
                                 &quot;LIDENT \&quot;t\&quot;&quot;)) ],
                           (Gram.Action.mk
                              (fun (__camlp4_0 : Gram.Token.t) _
-                                (x : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (x : Gram.Token.t) (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LIDENT &quot;t&quot; -&gt;
                                     (let x = Gram.Token.extract_string x
@@ -11177,7 +11262,7 @@ module G =
                             Gram.Skeyword &quot;.&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (xs : 't_qualid) _ (x : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (let x = Gram.Token.extract_string x
                                  in Ast.IdAcc (_loc, Ast.IdUid (_loc, x), xs) :
                                   't_qualid)))) ]) ]))
@@ -11200,7 +11285,8 @@ module G =
                                  (semi_sep : 'semi_sep Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun _ (sl : 'name list) _
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;GLOBAL&quot; -&gt; (sl : 'global)
                                 | _ -&gt; assert false))) ]) ]))
@@ -11221,7 +11307,7 @@ module G =
                                  (level_list : 'level_list Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (ll : 'level_list) (pos : 'position option)
-                                _ (n : 'name) (_loc : Loc.t) -&gt;
+                                _ (n : 'name) (_loc : Gram.Loc.t) -&gt;
                                 ({ name = n; pos = pos; levels = ll; } :
                                   'entry)))) ]) ]))
                   ());
@@ -11238,7 +11324,7 @@ module G =
                               (Gram.Entry.obj (string : 'string Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (n : 'string) (__camlp4_0 : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;LEVEL&quot; -&gt;
                                     (Ast.ExApp (_loc,
@@ -11262,7 +11348,7 @@ module G =
                               (Gram.Entry.obj (string : 'string Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (n : 'string) (__camlp4_0 : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;AFTER&quot; -&gt;
                                     (Ast.ExApp (_loc,
@@ -11286,7 +11372,7 @@ module G =
                               (Gram.Entry.obj (string : 'string Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (n : 'string) (__camlp4_0 : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;BEFORE&quot; -&gt;
                                     (Ast.ExApp (_loc,
@@ -11307,8 +11393,8 @@ module G =
                                  | _ -&gt; false),
                                 &quot;UIDENT \&quot;LAST\&quot;&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;LAST&quot; -&gt;
                                     (Ast.ExId (_loc,
@@ -11327,8 +11413,8 @@ module G =
                                  | _ -&gt; false),
                                 &quot;UIDENT \&quot;FIRST\&quot;&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;FIRST&quot; -&gt;
                                     (Ast.ExId (_loc,
@@ -11354,8 +11440,8 @@ module G =
                               Gram.Skeyword &quot;|&quot;);
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
-                             (fun _ (ll : 'level list) _ (_loc : Loc.t) -&gt;
-                                (ll : 'level_list)))) ]) ]))
+                             (fun _ (ll : 'level list) _ (_loc : Gram.Loc.t)
+                                -&gt; (ll : 'level_list)))) ]) ]))
                   ());
              Gram.extend (level : 'level Gram.Entry.t)
                ((fun () -&gt;
@@ -11369,8 +11455,8 @@ module G =
                                            | _ -&gt; false),
                                           &quot;STRING _&quot;)) ],
                                     (Gram.Action.mk
-                                       (fun (x : Gram.Token.t) (_loc : Loc.t)
-                                          -&gt;
+                                       (fun (x : Gram.Token.t)
+                                          (_loc : Gram.Loc.t) -&gt;
                                           (let x =
                                              Gram.Token.extract_string x
                                            in x : 'e__12)))) ]);
@@ -11383,7 +11469,7 @@ module G =
                                  (rule_list : 'rule_list Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (rules : 'rule_list) (ass : 'assoc option)
-                                (lab : 'e__12 option) (_loc : Loc.t) -&gt;
+                                (lab : 'e__12 option) (_loc : Gram.Loc.t) -&gt;
                                 ({ label = lab; assoc = ass; rules = rules; } :
                                   'level)))) ]) ]))
                   ());
@@ -11397,8 +11483,8 @@ module G =
                                  | _ -&gt; false),
                                 &quot;UIDENT \&quot;NONA\&quot;&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;NONA&quot; -&gt;
                                     (Ast.ExId (_loc,
@@ -11417,8 +11503,8 @@ module G =
                                  | _ -&gt; false),
                                 &quot;UIDENT \&quot;RIGHTA\&quot;&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;RIGHTA&quot; -&gt;
                                     (Ast.ExId (_loc,
@@ -11437,8 +11523,8 @@ module G =
                                  | _ -&gt; false),
                                 &quot;UIDENT \&quot;LEFTA\&quot;&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;LEFTA&quot; -&gt;
                                     (Ast.ExId (_loc,
@@ -11463,12 +11549,14 @@ module G =
                               Gram.Skeyword &quot;|&quot;);
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
-                             (fun _ (rules : 'rule list) _ (_loc : Loc.t) -&gt;
+                             (fun _ (rules : 'rule list) _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (retype_rule_list_without_patterns _loc rules :
                                   'rule_list))));
                          ([ Gram.Skeyword &quot;[&quot;; Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
-                             (fun _ _ (_loc : Loc.t) -&gt; ([] : 'rule_list)))) ]) ]))
+                             (fun _ _ (_loc : Gram.Loc.t) -&gt;
+                                ([] : 'rule_list)))) ]) ]))
                   ());
              Gram.extend (rule : 'rule Gram.Entry.t)
                ((fun () -&gt;
@@ -11482,8 +11570,8 @@ module G =
                                 (Gram.Entry.obj
                                    (semi_sep : 'semi_sep Gram.Entry.t))) ],
                           (Gram.Action.mk
-                             (fun (psl : 'psymbol list) (_loc : Loc.t) -&gt;
-                                ({ prod = psl; action = None; } : 'rule))));
+                             (fun (psl : 'psymbol list) (_loc : Gram.Loc.t)
+                                -&gt; ({ prod = psl; action = None; } : 'rule))));
                          ([ Gram.Slist0sep
                               (Gram.Snterm
                                  (Gram.Entry.obj
@@ -11496,7 +11584,7 @@ module G =
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (act : 'expr) _ (psl : 'psymbol list)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 ({ prod = psl; action = Some act; } : 'rule)))) ]) ]))
                   ());
              Gram.extend (psymbol : 'psymbol Gram.Entry.t)
@@ -11506,7 +11594,7 @@ module G =
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (symbol : 'symbol Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (s : 'symbol) (_loc : Loc.t) -&gt;
+                             (fun (s : 'symbol) (_loc : Gram.Loc.t) -&gt;
                                 (s : 'psymbol))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -11516,7 +11604,7 @@ module G =
                               (Gram.Entry.obj (symbol : 'symbol Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (s : 'symbol) _ (p : 'pattern)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (match s.pattern with
                                  | Some
                                      (Ast.PaApp (_,
@@ -11549,7 +11637,7 @@ module G =
                                     (Gram.Action.mk
                                        (fun (s : Gram.Token.t)
                                           (__camlp4_0 : Gram.Token.t)
-                                          (_loc : Loc.t) -&gt;
+                                          (_loc : Gram.Loc.t) -&gt;
                                           match __camlp4_0 with
                                           | UIDENT &quot;LEVEL&quot; -&gt;
                                               (let s =
@@ -11558,7 +11646,7 @@ module G =
                                           | _ -&gt; assert false))) ]) ],
                           (Gram.Action.mk
                              (fun (lev : 'e__13 option) (i : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (let i = Gram.Token.extract_string i in
                                  let name =
                                    mk_name _loc (Ast.IdLid (_loc, i)) in
@@ -11580,7 +11668,7 @@ module G =
                               (Gram.Entry.obj (symbol : 'symbol Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (s : 'symbol) _ (p : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (let p = Gram.Token.extract_string p
                                  in
                                    match s.pattern with
@@ -11636,7 +11724,7 @@ module G =
                             Gram.Sself ],
                           (Gram.Action.mk
                              (fun (s : 'symbol) (__camlp4_0 : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;OPT&quot; -&gt;
                                     (let () = check_not_tok s in
@@ -11672,13 +11760,14 @@ module G =
                                     (Gram.Action.mk
                                        (fun (t : 'symbol)
                                           (__camlp4_0 : Gram.Token.t)
-                                          (_loc : Loc.t) -&gt;
+                                          (_loc : Gram.Loc.t) -&gt;
                                           match __camlp4_0 with
                                           | UIDENT &quot;SEP&quot; -&gt; (t : 'e__15)
                                           | _ -&gt; assert false))) ]) ],
                           (Gram.Action.mk
                              (fun (sep : 'e__15 option) (s : 'symbol)
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;LIST1&quot; -&gt;
                                     (let () = check_not_tok s in
@@ -11718,13 +11807,14 @@ module G =
                                     (Gram.Action.mk
                                        (fun (t : 'symbol)
                                           (__camlp4_0 : Gram.Token.t)
-                                          (_loc : Loc.t) -&gt;
+                                          (_loc : Gram.Loc.t) -&gt;
                                           match __camlp4_0 with
                                           | UIDENT &quot;SEP&quot; -&gt; (t : 'e__14)
                                           | _ -&gt; assert false))) ]) ],
                           (Gram.Action.mk
                              (fun (sep : 'e__14 option) (s : 'symbol)
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;LIST0&quot; -&gt;
                                     (let () = check_not_tok s in
@@ -11748,7 +11838,7 @@ module G =
                       (None, None,
                        [ ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (s_t : 'symbol) _ (_loc : Loc.t) -&gt;
+                             (fun _ (s_t : 'symbol) _ (_loc : Gram.Loc.t) -&gt;
                                 (s_t : 'symbol))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj (name : 'name Gram.Entry.t));
@@ -11767,7 +11857,7 @@ module G =
                                     (Gram.Action.mk
                                        (fun (s : Gram.Token.t)
                                           (__camlp4_0 : Gram.Token.t)
-                                          (_loc : Loc.t) -&gt;
+                                          (_loc : Gram.Loc.t) -&gt;
                                           match __camlp4_0 with
                                           | UIDENT &quot;LEVEL&quot; -&gt;
                                               (let s =
@@ -11776,7 +11866,7 @@ module G =
                                           | _ -&gt; assert false))) ]) ],
                           (Gram.Action.mk
                              (fun (lev : 'e__17 option) (n : 'name)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 ({
                                    used = [ n.tvar ];
                                    text = TXnterm (_loc, n, lev);
@@ -11804,7 +11894,7 @@ module G =
                                     (Gram.Action.mk
                                        (fun (s : Gram.Token.t)
                                           (__camlp4_0 : Gram.Token.t)
-                                          (_loc : Loc.t) -&gt;
+                                          (_loc : Gram.Loc.t) -&gt;
                                           match __camlp4_0 with
                                           | UIDENT &quot;LEVEL&quot; -&gt;
                                               (let s =
@@ -11813,7 +11903,7 @@ module G =
                                           | _ -&gt; assert false))) ]) ],
                           (Gram.Action.mk
                              (fun (lev : 'e__16 option) (il : 'qualid) _
-                                (i : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (i : Gram.Token.t) (_loc : Gram.Loc.t) -&gt;
                                 (let i = Gram.Token.extract_string i in
                                  let n =
                                    mk_name _loc
@@ -11831,7 +11921,7 @@ module G =
                               (((function | STRING ((_)) -&gt; true | _ -&gt; false),
                                 &quot;STRING _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (s : Gram.Token.t) (_loc : Loc.t) -&gt;
+                             (fun (s : Gram.Token.t) (_loc : Gram.Loc.t) -&gt;
                                 (let s = Gram.Token.extract_string s
                                  in
                                    {
@@ -11851,7 +11941,7 @@ module G =
                                 &quot;ANTIQUOT (\&quot;\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
                              (fun (__camlp4_0 : Gram.Token.t)
-                                (x : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (x : Gram.Token.t) (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (&quot;&quot;, s) -&gt;
                                     (let x = Gram.Token.extract_string x in
@@ -11904,7 +11994,7 @@ module G =
                                 &quot;STRING _&quot;)) ],
                           (Gram.Action.mk
                              (fun (s : Gram.Token.t) (x : Gram.Token.t)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (let s = Gram.Token.extract_string s in
                                  let x = Gram.Token.extract_string x
                                  in
@@ -11918,7 +12008,7 @@ module G =
                               (((function | UIDENT ((_)) -&gt; true | _ -&gt; false),
                                 &quot;UIDENT _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (x : Gram.Token.t) (_loc : Loc.t) -&gt;
+                             (fun (x : Gram.Token.t) (_loc : Gram.Loc.t) -&gt;
                                 (let x = Gram.Token.extract_string x
                                  in
                                    mk_tok _loc
@@ -11931,7 +12021,7 @@ module G =
                             Gram.Snterm
                               (Gram.Entry.obj (patt : 'patt Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (p : 'patt) _ (_loc : Loc.t) -&gt;
+                             (fun (p : 'patt) _ (_loc : Gram.Loc.t) -&gt;
                                 (mk_tok _loc p (STtok _loc) : 'symbol))));
                          ([ Gram.Skeyword &quot;[&quot;;
                             Gram.Slist0sep
@@ -11940,7 +12030,8 @@ module G =
                               Gram.Skeyword &quot;|&quot;);
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
-                             (fun _ (rl : 'rule list) _ (_loc : Loc.t) -&gt;
+                             (fun _ (rl : 'rule list) _ (_loc : Gram.Loc.t)
+                                -&gt;
                                 (let rl =
                                    retype_rule_list_without_patterns _loc rl in
                                  let t = new_type_var ()
@@ -11959,8 +12050,8 @@ module G =
                                  | _ -&gt; false),
                                 &quot;UIDENT \&quot;NEXT\&quot;&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;NEXT&quot; -&gt;
                                     ({
@@ -11976,8 +12067,8 @@ module G =
                                  | _ -&gt; false),
                                 &quot;UIDENT \&quot;SELF\&quot;&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;SELF&quot; -&gt;
                                     ({
@@ -11999,22 +12090,22 @@ module G =
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
                              (fun _ (p2 : 'comma_patt) _ (p1 : 'pattern) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaTup (_loc, Ast.PaCom (_loc, p1, p2)) :
                                   'pattern))));
                          ([ Gram.Skeyword &quot;(&quot;; Gram.Sself; Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (p : 'pattern) _ (_loc : Loc.t) -&gt;
+                             (fun _ (p : 'pattern) _ (_loc : Gram.Loc.t) -&gt;
                                 (p : 'pattern))));
                          ([ Gram.Skeyword &quot;_&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaAny _loc : 'pattern))));
                          ([ Gram.Stoken
                               (((function | LIDENT ((_)) -&gt; true | _ -&gt; false),
                                 &quot;LIDENT _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (i : Gram.Token.t) (_loc : Loc.t) -&gt;
+                             (fun (i : Gram.Token.t) (_loc : Gram.Loc.t) -&gt;
                                 (let i = Gram.Token.extract_string i
                                  in Ast.PaId (_loc, Ast.IdLid (_loc, i)) :
                                   'pattern)))) ]) ]))
@@ -12027,12 +12118,12 @@ module G =
                               (Gram.Entry.obj
                                  (pattern : 'pattern Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (p : 'pattern) (_loc : Loc.t) -&gt;
+                             (fun (p : 'pattern) (_loc : Gram.Loc.t) -&gt;
                                 (p : 'comma_patt))));
                          ([ Gram.Sself; Gram.Skeyword &quot;,&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (p2 : 'comma_patt) _ (p1 : 'comma_patt)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.PaCom (_loc, p1, p2) : 'comma_patt)))) ]) ]))
                   ());
              Gram.extend (name : 'name Gram.Entry.t)
@@ -12042,7 +12133,7 @@ module G =
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (qualid : 'qualid Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (il : 'qualid) (_loc : Loc.t) -&gt;
+                             (fun (il : 'qualid) (_loc : Gram.Loc.t) -&gt;
                                 (mk_name _loc il : 'name)))) ]) ]))
                   ());
              Gram.extend (string : 'string Gram.Entry.t)
@@ -12055,8 +12146,8 @@ module G =
                                  | _ -&gt; false),
                                 &quot;ANTIQUOT (\&quot;\&quot;, _)&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | ANTIQUOT (&quot;&quot;, s) -&gt;
                                     (AntiquotSyntax.parse_expr _loc s :
@@ -12066,7 +12157,7 @@ module G =
                               (((function | STRING ((_)) -&gt; true | _ -&gt; false),
                                 &quot;STRING _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (s : Gram.Token.t) (_loc : Loc.t) -&gt;
+                             (fun (s : Gram.Token.t) (_loc : Gram.Loc.t) -&gt;
                                 (let s = Gram.Token.extract_string s
                                  in Ast.ExStr (_loc, s) : 'string)))) ]) ]))
                   ());
@@ -12076,71 +12167,21 @@ module G =
                     [ (None, None,
                        [ ([ Gram.Skeyword &quot;;&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt; (() : 'semi_sep)))) ]) ]))
+                             (fun _ (_loc : Gram.Loc.t) -&gt; (() : 'semi_sep)))) ]) ]))
                   ()))
           
-        let _ =
-          Gram.extend (symbol : 'symbol Gram.Entry.t)
-            ((fun () -&gt;
-                ((Some (Camlp4.Sig.Grammar.Level &quot;top&quot;)),
-                 [ (None, (Some Camlp4.Sig.Grammar.NonA),
-                    [ ([ Gram.Stoken
-                           (((function | UIDENT &quot;SOPT&quot; -&gt; true | _ -&gt; false),
-                             &quot;UIDENT \&quot;SOPT\&quot;&quot;));
-                         Gram.Sself ],
-                       (Gram.Action.mk
-                          (fun (s : 'symbol) (__camlp4_0 : Gram.Token.t)
-                             (_loc : Loc.t) -&gt;
-                             match __camlp4_0 with
-                             | UIDENT &quot;SOPT&quot; -&gt; (ssopt _loc s : 'symbol)
-                             | _ -&gt; assert false)));
-                      ([ Gram.srules symbol
-                           [ ([ Gram.Stoken
-                                  (((function
-                                     | UIDENT &quot;SLIST1&quot; -&gt; true
-                                     | _ -&gt; false),
-                                    &quot;UIDENT \&quot;SLIST1\&quot;&quot;)) ],
-                              (Gram.Action.mk
-                                 (fun (__camlp4_0 : Gram.Token.t)
-                                    (_loc : Loc.t) -&gt;
-                                    match __camlp4_0 with
-                                    | UIDENT &quot;SLIST1&quot; -&gt; (true : 'e__18)
-                                    | _ -&gt; assert false)));
-                             ([ Gram.Stoken
-                                  (((function
-                                     | UIDENT &quot;SLIST0&quot; -&gt; true
-                                     | _ -&gt; false),
-                                    &quot;UIDENT \&quot;SLIST0\&quot;&quot;)) ],
-                              (Gram.Action.mk
-                                 (fun (__camlp4_0 : Gram.Token.t)
-                                    (_loc : Loc.t) -&gt;
-                                    match __camlp4_0 with
-                                    | UIDENT &quot;SLIST0&quot; -&gt; (false : 'e__18)
-                                    | _ -&gt; assert false))) ];
-                         Gram.Sself;
-                         Gram.Sopt
-                           (Gram.srules symbol
-                              [ ([ Gram.Stoken
-                                     (((function
-                                        | UIDENT &quot;SEP&quot; -&gt; true
-                                        | _ -&gt; false),
-                                       &quot;UIDENT \&quot;SEP\&quot;&quot;));
-                                   Gram.Snterm
-                                     (Gram.Entry.obj
-                                        (symbol : 'symbol Gram.Entry.t)) ],
-                                 (Gram.Action.mk
-                                    (fun (t : 'symbol)
-                                       (__camlp4_0 : Gram.Token.t)
-                                       (_loc : Loc.t) -&gt;
-                                       match __camlp4_0 with
-                                       | UIDENT &quot;SEP&quot; -&gt; (t : 'e__19)
-                                       | _ -&gt; assert false))) ]) ],
-                       (Gram.Action.mk
-                          (fun (sep : 'e__19 option) (s : 'symbol)
-                             (min : 'e__18) (_loc : Loc.t) -&gt;
-                             (sslist _loc min sep s : 'symbol)))) ]) ]))
-               ())
-          
+        (*
+  EXTEND Gram
+    symbol: LEVEL &quot;top&quot;
+      [ NONA
+        [ min = [ UIDENT &quot;SLIST0&quot; -&gt; False | UIDENT &quot;SLIST1&quot; -&gt; True ];
+          s = SELF; sep = OPT [ UIDENT &quot;SEP&quot;; t = symbol -&gt; t ] -&gt;
+            sslist _loc min sep s
+        | UIDENT &quot;SOPT&quot;; s = SELF -&gt;
+            ssopt _loc s ] ]
+    ;
+  END;
+  *)
         let sfold _loc n foldfun f e s =
           let styp = STquo (_loc, new_type_var ()) in
           let e =
@@ -12229,7 +12270,8 @@ module G =
                              (fun (sep : 'symbol) (__camlp4_1 : Gram.Token.t)
                                 (s : 'symbol) (e : 'simple_expr)
                                 (f : 'simple_expr)
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match (__camlp4_1, __camlp4_0) with
                                 | (UIDENT &quot;SEP&quot;, UIDENT &quot;FOLD1&quot;) -&gt;
                                     (sfoldsep _loc &quot;FOLD1 SEP&quot; &quot;sfold1sep&quot; f
@@ -12256,7 +12298,8 @@ module G =
                              (fun (sep : 'symbol) (__camlp4_1 : Gram.Token.t)
                                 (s : 'symbol) (e : 'simple_expr)
                                 (f : 'simple_expr)
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match (__camlp4_1, __camlp4_0) with
                                 | (UIDENT &quot;SEP&quot;, UIDENT &quot;FOLD0&quot;) -&gt;
                                     (sfoldsep _loc &quot;FOLD0 SEP&quot; &quot;sfold0sep&quot; f
@@ -12278,7 +12321,8 @@ module G =
                           (Gram.Action.mk
                              (fun (s : 'symbol) (e : 'simple_expr)
                                 (f : 'simple_expr)
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;FOLD1&quot; -&gt;
                                     (sfold _loc &quot;FOLD1&quot; &quot;sfold1&quot; f e s :
@@ -12299,7 +12343,8 @@ module G =
                           (Gram.Action.mk
                              (fun (s : 'symbol) (e : 'simple_expr)
                                 (f : 'simple_expr)
-                                (__camlp4_0 : Gram.Token.t) (_loc : Loc.t) -&gt;
+                                (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | UIDENT &quot;FOLD0&quot; -&gt;
                                     (sfold _loc &quot;FOLD0&quot; &quot;sfold0&quot; f e s :
@@ -12315,13 +12360,13 @@ module G =
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t));
                             Gram.Skeyword &quot;)&quot; ],
                           (Gram.Action.mk
-                             (fun _ (e : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun _ (e : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (e : 'simple_expr))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
                                  (a_LIDENT : 'a_LIDENT Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'a_LIDENT) (_loc : Loc.t) -&gt;
+                             (fun (i : 'a_LIDENT) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExId (_loc, Ast.IdLid (_loc, i)) :
                                   'simple_expr)))) ]) ]))
                   ()))
@@ -12369,13 +12414,9 @@ module M =
  * - Christopher Conway: extra feature (-D&lt;uident&gt;=)
  *)
     module Id =
-      struct
-        let name = &quot;Camlp4MacroParser&quot;
-          
-        let version =
-          &quot;$Id: Camlp4MacroParser.ml,v 1.1.4.6 2007/06/23 16:00:09 ertai Exp $&quot;
-          
-      end
+      struct let name = &quot;Camlp4MacroParser&quot;
+                let version = &quot;$Id$&quot;
+                   end
       
     (*
 Added statements:
@@ -12542,7 +12583,7 @@ Added statements:
                                     &quot;$UIDENT x&quot;)) ],
                               (Gram.Action.mk
                                  (fun (__camlp4_0 : Gram.Token.t)
-                                    (_loc : Loc.t) -&gt;
+                                    (_loc : Gram.Loc.t) -&gt;
                                     match __camlp4_0 with
                                     | UIDENT ((_)) -&gt;
                                         ((new reloc _loc)#expr e : 'expr)
@@ -12560,7 +12601,7 @@ Added statements:
                                     &quot;$UIDENT x&quot;)) ],
                               (Gram.Action.mk
                                  (fun (__camlp4_0 : Gram.Token.t)
-                                    (_loc : Loc.t) -&gt;
+                                    (_loc : Gram.Loc.t) -&gt;
                                     match __camlp4_0 with
                                     | UIDENT ((_)) -&gt;
                                         (let p = substp _loc [] e
@@ -12582,7 +12623,7 @@ Added statements:
                               (Gram.Action.mk
                                  (fun (param : 'expr)
                                     (__camlp4_0 : Gram.Token.t)
-                                    (_loc : Loc.t) -&gt;
+                                    (_loc : Gram.Loc.t) -&gt;
                                     match __camlp4_0 with
                                     | UIDENT ((_)) -&gt;
                                         (let el =
@@ -12615,7 +12656,7 @@ Added statements:
                               (Gram.Action.mk
                                  (fun (param : 'patt)
                                     (__camlp4_0 : Gram.Token.t)
-                                    (_loc : Loc.t) -&gt;
+                                    (_loc : Gram.Loc.t) -&gt;
                                     match __camlp4_0 with
                                     | UIDENT ((_)) -&gt;
                                         (let pl =
@@ -12756,7 +12797,7 @@ Added statements:
                               (Gram.Entry.obj
                                  (macro_def : 'macro_def Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'macro_def) (_loc : Loc.t) -&gt;
+                             (fun (x : 'macro_def) (_loc : Gram.Loc.t) -&gt;
                                 (execute_macro (Ast.StNil _loc)
                                    (fun a b -&gt; Ast.StSem (_loc, a, b)) x :
                                   'str_item)))) ]) ]))
@@ -12770,7 +12811,7 @@ Added statements:
                                  (macro_def_sig :
                                    'macro_def_sig Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (x : 'macro_def_sig) (_loc : Loc.t) -&gt;
+                             (fun (x : 'macro_def_sig) (_loc : Gram.Loc.t) -&gt;
                                 (execute_macro (Ast.SgNil _loc)
                                    (fun a b -&gt; Ast.SgSem (_loc, a, b)) x :
                                   'sig_item)))) ]) ]))
@@ -12784,7 +12825,8 @@ Added statements:
                               (((function | STRING ((_)) -&gt; true | _ -&gt; false),
                                 &quot;STRING _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (fname : Gram.Token.t) _ (_loc : Loc.t) -&gt;
+                             (fun (fname : Gram.Token.t) _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (let fname = Gram.Token.extract_string fname
                                  in
                                    SdLazy
@@ -12803,7 +12845,7 @@ Added statements:
                                    'else_macro_def Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (st1 : 'else_macro_def) (st2 : 'smlist) _
-                                (i : 'uident) _ (_loc : Loc.t) -&gt;
+                                (i : 'uident) _ (_loc : Gram.Loc.t) -&gt;
                                 (SdITE (i, st1, st2) : 'macro_def))));
                          ([ Gram.Skeyword &quot;IFDEF&quot;;
                             Gram.Snterm
@@ -12817,13 +12859,13 @@ Added statements:
                                    'else_macro_def Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (st2 : 'else_macro_def) (st1 : 'smlist) _
-                                (i : 'uident) _ (_loc : Loc.t) -&gt;
+                                (i : 'uident) _ (_loc : Gram.Loc.t) -&gt;
                                 (SdITE (i, st1, st2) : 'macro_def))));
                          ([ Gram.Skeyword &quot;UNDEF&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj (uident : 'uident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'uident) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'uident) _ (_loc : Gram.Loc.t) -&gt;
                                 (SdUnd i : 'macro_def))));
                          ([ Gram.Skeyword &quot;DEFINE&quot;;
                             Gram.Snterm
@@ -12834,7 +12876,7 @@ Added statements:
                                    'opt_macro_value Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (def : 'opt_macro_value) (i : 'uident) _
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (SdDef (i, def) : 'macro_def)))) ]) ]))
                   ());
              Gram.extend (macro_def_sig : 'macro_def_sig Gram.Entry.t)
@@ -12846,7 +12888,8 @@ Added statements:
                               (((function | STRING ((_)) -&gt; true | _ -&gt; false),
                                 &quot;STRING _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (fname : Gram.Token.t) _ (_loc : Loc.t) -&gt;
+                             (fun (fname : Gram.Token.t) _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (let fname = Gram.Token.extract_string fname
                                  in
                                    SdLazy
@@ -12865,7 +12908,7 @@ Added statements:
                                    'else_macro_def_sig Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (sg1 : 'else_macro_def_sig) (sg2 : 'sglist)
-                                _ (i : 'uident) _ (_loc : Loc.t) -&gt;
+                                _ (i : 'uident) _ (_loc : Gram.Loc.t) -&gt;
                                 (SdITE (i, sg1, sg2) : 'macro_def_sig))));
                          ([ Gram.Skeyword &quot;IFDEF&quot;;
                             Gram.Snterm
@@ -12879,19 +12922,19 @@ Added statements:
                                    'else_macro_def_sig Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (sg2 : 'else_macro_def_sig) (sg1 : 'sglist)
-                                _ (i : 'uident) _ (_loc : Loc.t) -&gt;
+                                _ (i : 'uident) _ (_loc : Gram.Loc.t) -&gt;
                                 (SdITE (i, sg1, sg2) : 'macro_def_sig))));
                          ([ Gram.Skeyword &quot;UNDEF&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj (uident : 'uident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'uident) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'uident) _ (_loc : Gram.Loc.t) -&gt;
                                 (SdUnd i : 'macro_def_sig))));
                          ([ Gram.Skeyword &quot;DEFINE&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj (uident : 'uident Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (i : 'uident) _ (_loc : Loc.t) -&gt;
+                             (fun (i : 'uident) _ (_loc : Gram.Loc.t) -&gt;
                                 (SdDef (i, None) : 'macro_def_sig)))) ]) ]))
                   ());
              Gram.extend (else_macro_def : 'else_macro_def Gram.Entry.t)
@@ -12901,14 +12944,15 @@ Added statements:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (endif : 'endif Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt; ([] : 'else_macro_def))));
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
+                                ([] : 'else_macro_def))));
                          ([ Gram.Skeyword &quot;ELSE&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj (smlist : 'smlist Gram.Entry.t));
                             Gram.Snterm
                               (Gram.Entry.obj (endif : 'endif Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun _ (st : 'smlist) _ (_loc : Loc.t) -&gt;
+                             (fun _ (st : 'smlist) _ (_loc : Gram.Loc.t) -&gt;
                                 (st : 'else_macro_def)))) ]) ]))
                   ());
              Gram.extend
@@ -12919,7 +12963,7 @@ Added statements:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (endif : 'endif Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 ([] : 'else_macro_def_sig))));
                          ([ Gram.Skeyword &quot;ELSE&quot;;
                             Gram.Snterm
@@ -12927,7 +12971,7 @@ Added statements:
                             Gram.Snterm
                               (Gram.Entry.obj (endif : 'endif Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun _ (st : 'sglist) _ (_loc : Loc.t) -&gt;
+                             (fun _ (st : 'sglist) _ (_loc : Gram.Loc.t) -&gt;
                                 (st : 'else_macro_def_sig)))) ]) ]))
                   ());
              Gram.extend (else_expr : 'else_expr Gram.Entry.t)
@@ -12937,7 +12981,7 @@ Added statements:
                        [ ([ Gram.Snterm
                               (Gram.Entry.obj (endif : 'endif Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt;
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExId (_loc, Ast.IdUid (_loc, &quot;()&quot;)) :
                                   'else_expr))));
                          ([ Gram.Skeyword &quot;ELSE&quot;;
@@ -12946,7 +12990,7 @@ Added statements:
                             Gram.Snterm
                               (Gram.Entry.obj (endif : 'endif Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun _ (e : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun _ (e : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (e : 'else_expr)))) ]) ]))
                   ());
              Gram.extend (smlist : 'smlist Gram.Entry.t)
@@ -12963,8 +13007,9 @@ Added statements:
                                         (Gram.Entry.obj
                                            (semi : 'semi Gram.Entry.t)) ],
                                     (Gram.Action.mk
-                                       (fun _ (si : 'str_item) (_loc : Loc.t)
-                                          -&gt; (SdStr si : 'e__20))));
+                                       (fun _ (si : 'str_item)
+                                          (_loc : Gram.Loc.t) -&gt;
+                                          (SdStr si : 'e__18))));
                                    ([ Gram.Snterm
                                         (Gram.Entry.obj
                                            (macro_def :
@@ -12973,10 +13018,10 @@ Added statements:
                                         (Gram.Entry.obj
                                            (semi : 'semi Gram.Entry.t)) ],
                                     (Gram.Action.mk
-                                       (fun _ (d : 'macro_def) (_loc : Loc.t)
-                                          -&gt; (d : 'e__20)))) ]) ],
+                                       (fun _ (d : 'macro_def)
+                                          (_loc : Gram.Loc.t) -&gt; (d : 'e__18)))) ]) ],
                           (Gram.Action.mk
-                             (fun (sml : 'e__20 list) (_loc : Loc.t) -&gt;
+                             (fun (sml : 'e__18 list) (_loc : Gram.Loc.t) -&gt;
                                 (sml : 'smlist)))) ]) ]))
                   ());
              Gram.extend (sglist : 'sglist Gram.Entry.t)
@@ -12993,8 +13038,9 @@ Added statements:
                                         (Gram.Entry.obj
                                            (semi : 'semi Gram.Entry.t)) ],
                                     (Gram.Action.mk
-                                       (fun _ (si : 'sig_item) (_loc : Loc.t)
-                                          -&gt; (SdStr si : 'e__21))));
+                                       (fun _ (si : 'sig_item)
+                                          (_loc : Gram.Loc.t) -&gt;
+                                          (SdStr si : 'e__19))));
                                    ([ Gram.Snterm
                                         (Gram.Entry.obj
                                            (macro_def_sig :
@@ -13004,9 +13050,9 @@ Added statements:
                                            (semi : 'semi Gram.Entry.t)) ],
                                     (Gram.Action.mk
                                        (fun _ (d : 'macro_def_sig)
-                                          (_loc : Loc.t) -&gt; (d : 'e__21)))) ]) ],
+                                          (_loc : Gram.Loc.t) -&gt; (d : 'e__19)))) ]) ],
                           (Gram.Action.mk
-                             (fun (sgl : 'e__21 list) (_loc : Loc.t) -&gt;
+                             (fun (sgl : 'e__19 list) (_loc : Gram.Loc.t) -&gt;
                                 (sgl : 'sglist)))) ]) ]))
                   ());
              Gram.extend (endif : 'endif Gram.Entry.t)
@@ -13015,10 +13061,10 @@ Added statements:
                     [ (None, None,
                        [ ([ Gram.Skeyword &quot;ENDIF&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt; (() : 'endif))));
+                             (fun _ (_loc : Gram.Loc.t) -&gt; (() : 'endif))));
                          ([ Gram.Skeyword &quot;END&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt; (() : 'endif)))) ]) ]))
+                             (fun _ (_loc : Gram.Loc.t) -&gt; (() : 'endif)))) ]) ]))
                   ());
              Gram.extend (opt_macro_value : 'opt_macro_value Gram.Entry.t)
                ((fun () -&gt;
@@ -13026,12 +13072,13 @@ Added statements:
                     [ (None, None,
                        [ ([],
                           (Gram.Action.mk
-                             (fun (_loc : Loc.t) -&gt; (None : 'opt_macro_value))));
+                             (fun (_loc : Gram.Loc.t) -&gt;
+                                (None : 'opt_macro_value))));
                          ([ Gram.Skeyword &quot;=&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (Some (([], e)) : 'opt_macro_value))));
                          ([ Gram.Skeyword &quot;(&quot;;
                             Gram.Slist1sep
@@ -13042,18 +13089,18 @@ Added statements:
                                            | _ -&gt; false),
                                           &quot;LIDENT _&quot;)) ],
                                     (Gram.Action.mk
-                                       (fun (x : Gram.Token.t) (_loc : Loc.t)
-                                          -&gt;
+                                       (fun (x : Gram.Token.t)
+                                          (_loc : Gram.Loc.t) -&gt;
                                           (let x =
                                              Gram.Token.extract_string x
-                                           in x : 'e__22)))) ],
+                                           in x : 'e__20)))) ],
                               Gram.Skeyword &quot;,&quot;);
                             Gram.Skeyword &quot;)&quot;; Gram.Skeyword &quot;=&quot;;
                             Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ _ (pl : 'e__22 list) _
-                                (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) _ _ (pl : 'e__20 list) _
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Some ((pl, e)) : 'opt_macro_value)))) ]) ]))
                   ());
              Gram.extend (expr : 'expr Gram.Entry.t)
@@ -13068,7 +13115,7 @@ Added statements:
                             Gram.Skeyword &quot;IN&quot;; Gram.Sself ],
                           (Gram.Action.mk
                              (fun (body : 'expr) _ (def : 'expr) _
-                                (i : Gram.Token.t) _ (_loc : Loc.t) -&gt;
+                                (i : Gram.Token.t) _ (_loc : Gram.Loc.t) -&gt;
                                 (let i = Gram.Token.extract_string i
                                  in (new subst _loc [ (i, def) ])#expr body :
                                   'expr))));
@@ -13081,7 +13128,7 @@ Added statements:
                                  (else_expr : 'else_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e2 : 'else_expr) (e1 : 'expr) _
-                                (i : 'uident) _ (_loc : Loc.t) -&gt;
+                                (i : 'uident) _ (_loc : Gram.Loc.t) -&gt;
                                 (if is_defined i then e2 else e1 : 'expr))));
                          ([ Gram.Skeyword &quot;IFDEF&quot;;
                             Gram.Snterm
@@ -13092,7 +13139,7 @@ Added statements:
                                  (else_expr : 'else_expr Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (e2 : 'else_expr) (e1 : 'expr) _
-                                (i : 'uident) _ (_loc : Loc.t) -&gt;
+                                (i : 'uident) _ (_loc : Gram.Loc.t) -&gt;
                                 (if is_defined i then e1 else e2 : 'expr)))) ]) ]))
                   ());
              Gram.extend (expr : 'expr Gram.Entry.t)
@@ -13105,8 +13152,8 @@ Added statements:
                                  | _ -&gt; false),
                                 &quot;LIDENT \&quot;__LOCATION__\&quot;&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LIDENT &quot;__LOCATION__&quot; -&gt;
                                     (let (a, b, c, d, e, f, g, h) =
@@ -13154,8 +13201,8 @@ Added statements:
                                  | _ -&gt; false),
                                 &quot;LIDENT \&quot;__FILE__\&quot;&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LIDENT &quot;__FILE__&quot; -&gt;
                                     (Ast.ExStr (_loc,
@@ -13177,7 +13224,7 @@ Added statements:
                               (Gram.Entry.obj (endif : 'endif Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun _ (p2 : 'patt) _ (p1 : 'patt) _
-                                (i : 'uident) _ (_loc : Loc.t) -&gt;
+                                (i : 'uident) _ (_loc : Gram.Loc.t) -&gt;
                                 (if is_defined i then p2 else p1 : 'patt))));
                          ([ Gram.Skeyword &quot;IFDEF&quot;;
                             Gram.Snterm
@@ -13188,7 +13235,7 @@ Added statements:
                               (Gram.Entry.obj (endif : 'endif Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun _ (p2 : 'patt) _ (p1 : 'patt) _
-                                (i : 'uident) _ (_loc : Loc.t) -&gt;
+                                (i : 'uident) _ (_loc : Gram.Loc.t) -&gt;
                                 (if is_defined i then p1 else p2 : 'patt)))) ]) ]))
                   ());
              Gram.extend (uident : 'uident Gram.Entry.t)
@@ -13199,7 +13246,7 @@ Added statements:
                               (((function | UIDENT ((_)) -&gt; true | _ -&gt; false),
                                 &quot;UIDENT _&quot;)) ],
                           (Gram.Action.mk
-                             (fun (i : Gram.Token.t) (_loc : Loc.t) -&gt;
+                             (fun (i : Gram.Token.t) (_loc : Gram.Loc.t) -&gt;
                                 (let i = Gram.Token.extract_string i in i :
                                   'uident)))) ]) ]))
                   ()))
@@ -13266,13 +13313,9 @@ module D =
  * - Nicolas Pouillard: initial version
  *)
     module Id =
-      struct
-        let name = &quot;Camlp4DebugParser&quot;
-          
-        let version =
-          &quot;$Id: Camlp4DebugParser.ml,v 1.1 2007/02/07 10:09:22 ertai Exp $&quot;
-          
-      end
+      struct let name = &quot;Camlp4DebugParser&quot;
+                let version = &quot;$Id$&quot;
+                   end
       
     module Make (Syntax : Sig.Camlp4Syntax) =
       struct
@@ -13369,7 +13412,7 @@ module D =
                           (Gram.Action.mk
                              (fun (x : 'end_or_in) (args : 'expr list)
                                 (fmt : Gram.Token.t) (section : Gram.Token.t)
-                                (m : 'start_debug) (_loc : Loc.t) -&gt;
+                                (m : 'start_debug) (_loc : Gram.Loc.t) -&gt;
                                 (let fmt = Gram.Token.extract_string fmt in
                                  let section =
                                    Gram.Token.extract_string section
@@ -13398,11 +13441,12 @@ module D =
                             Gram.Snterm
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) _ (_loc : Gram.Loc.t) -&gt;
                                 (Some e : 'end_or_in))));
                          ([ Gram.Skeyword &quot;end&quot; ],
                           (Gram.Action.mk
-                             (fun _ (_loc : Loc.t) -&gt; (None : 'end_or_in)))) ]) ]))
+                             (fun _ (_loc : Gram.Loc.t) -&gt;
+                                (None : 'end_or_in)))) ]) ]))
                   ());
              Gram.extend (start_debug : 'start_debug Gram.Entry.t)
                ((fun () -&gt;
@@ -13414,8 +13458,8 @@ module D =
                                  | _ -&gt; false),
                                 &quot;LIDENT \&quot;camlp4_debug\&quot;&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LIDENT &quot;camlp4_debug&quot; -&gt;
                                     (Some &quot;Camlp4&quot; : 'start_debug)
@@ -13426,8 +13470,8 @@ module D =
                                  | _ -&gt; false),
                                 &quot;LIDENT \&quot;debug\&quot;&quot;)) ],
                           (Gram.Action.mk
-                             (fun (__camlp4_0 : Gram.Token.t) (_loc : Loc.t)
-                                -&gt;
+                             (fun (__camlp4_0 : Gram.Token.t)
+                                (_loc : Gram.Loc.t) -&gt;
                                 match __camlp4_0 with
                                 | LIDENT &quot;debug&quot; -&gt; (None : 'start_debug)
                                 | _ -&gt; assert false))) ]) ]))
@@ -13462,13 +13506,9 @@ module L =
  * - Nicolas Pouillard: revised syntax version
  *)
     module Id =
-      struct
-        let name = &quot;Camlp4ListComprenhsion&quot;
-          
-        let version =
-          &quot;$Id: Camlp4ListComprehension.ml,v 1.1.2.1 2007/05/27 16:23:35 pouillar Exp $&quot;
-          
-      end
+      struct let name = &quot;Camlp4ListComprenhsion&quot;
+                let version = &quot;$Id$&quot;
+                   end
       
     module Make (Syntax : Sig.Camlp4Syntax) =
       struct
@@ -13650,7 +13690,7 @@ module L =
                             Gram.Skeyword &quot;]&quot; ],
                           (Gram.Action.mk
                              (fun _ (e : 'comprehension_or_sem_expr_for_list)
-                                _ (_loc : Loc.t) -&gt; (e : 'expr)))) ]) ]))
+                                _ (_loc : Gram.Loc.t) -&gt; (e : 'expr)))) ]) ]))
                   ());
              Gram.extend
                (comprehension_or_sem_expr_for_list :
@@ -13662,7 +13702,7 @@ module L =
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
                               &quot;top&quot;) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc,
                                    Ast.ExApp (_loc,
                                      Ast.ExId (_loc, Ast.IdUid (_loc, &quot;::&quot;)),
@@ -13679,7 +13719,7 @@ module L =
                               Gram.Skeyword &quot;;&quot;) ],
                           (Gram.Action.mk
                              (fun (l : 'item list) _ (e : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (compr _loc e l :
                                   'comprehension_or_sem_expr_for_list))));
                          ([ Gram.Snterml
@@ -13687,7 +13727,7 @@ module L =
                               &quot;top&quot;);
                             Gram.Skeyword &quot;;&quot; ],
                           (Gram.Action.mk
-                             (fun _ (e : 'expr) (_loc : Loc.t) -&gt;
+                             (fun _ (e : 'expr) (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc,
                                    Ast.ExApp (_loc,
                                      Ast.ExId (_loc, Ast.IdUid (_loc, &quot;::&quot;)),
@@ -13704,7 +13744,7 @@ module L =
                                    'sem_expr_for_list Gram.Entry.t)) ],
                           (Gram.Action.mk
                              (fun (mk : 'sem_expr_for_list) _ (e : 'expr)
-                                (_loc : Loc.t) -&gt;
+                                (_loc : Gram.Loc.t) -&gt;
                                 (Ast.ExApp (_loc,
                                    Ast.ExApp (_loc,
                                      Ast.ExId (_loc, Ast.IdUid (_loc, &quot;::&quot;)),
@@ -13721,7 +13761,7 @@ module L =
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
                               &quot;top&quot;) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) (_loc : Loc.t) -&gt;
+                             (fun (e : 'expr) (_loc : Gram.Loc.t) -&gt;
                                 (`cond e : 'item))));
                          ([ Gram.Snterm
                               (Gram.Entry.obj
@@ -13734,8 +13774,9 @@ module L =
                               (Gram.Entry.obj (expr : 'expr Gram.Entry.t),
                               &quot;top&quot;) ],
                           (Gram.Action.mk
-                             (fun (e : 'expr) _ (p : 'patt) _ (_loc : Loc.t)
-                                -&gt; (`gen ((p, e)) : 'item)))) ]) ]))
+                             (fun (e : 'expr) _ (p : 'patt) _
+                                (_loc : Gram.Loc.t) -&gt;
+                                (`gen ((p, e)) : 'item)))) ]) ]))
                   ()))
           
         let _ =
@@ -13760,7 +13801,7 @@ module L =
                                 (Gram.Entry.obj (expr : 'expr Gram.Entry.t)) ],
                             (Gram.Action.mk
                                (fun (last : 'expr) _ (e : 'expr)
-                                  (_loc : Loc.t) -&gt;
+                                  (_loc : Gram.Loc.t) -&gt;
                                   (Ast.ExApp (_loc,
                                      Ast.ExApp (_loc,
                                        Ast.ExId (_loc,
@@ -13782,7 +13823,7 @@ module L =
                             (Gram.Action.mk
                                (fun (last : 'expr) _
                                   (mk : 'sem_expr_for_list) _ (e : 'expr)
-                                  (_loc : Loc.t) -&gt;
+                                  (_loc : Gram.Loc.t) -&gt;
                                   (Ast.ExApp (_loc,
                                      Ast.ExApp (_loc,
                                        Ast.ExId (_loc,
@@ -13841,7 +13882,7 @@ module B =
  * - Daniel de Rauglaudre: initial version
  * - Nicolas Pouillard: refactoring
  *)
-    (* $Id: Camlp4Bin.ml,v 1.14.2.6 2007/06/23 16:00:09 ertai Exp $ *)
+    (* $Id$ *)
     open Camlp4
       
     open PreCast.Syntax</diff>
      <filename>camlp4/boot/camlp4boot.ml</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>b9356b146f3b9f2969b3c9290fb150c3d7bd594e</id>
    </parent>
  </parents>
  <author>
    <name>ertai</name>
    <email>ertai</email>
  </author>
  <url>http://github.com/thelema/ocaml-community/commit/7687e46c29e83afede0f036c962f5b68277ac58f</url>
  <id>7687e46c29e83afede0f036c962f5b68277ac58f</id>
  <committed-date>2007-12-18T02:21:02-08:00</committed-date>
  <authored-date>2007-12-18T02:21:02-08:00</authored-date>
  <message>camlp4,bootstrap: Regen camlp4/boot/*.</message>
  <tree>d1cde9ccd7f63b73883742a9434ac3496ebcd780</tree>
  <committer>
    <name>ertai</name>
    <email>ertai</email>
  </committer>
</commit>
