method raise_match_failure =
                  fun f _loc ->
                    let n = Loc.file_name _loc in
                    let l = Loc.start_line _loc in
                    let c = (Loc.start_off _loc) - (Loc.start_bol _loc)
                    in
                      o#expr f
                        (Ast.ExApp (_loc,
                           (Ast.ExId (_loc, (Ast.IdLid (_loc, "raise")))),
                           (Ast.ExApp (_loc,
                              (Ast.ExApp (_loc,
                                 (Ast.ExApp (_loc,
                                    (Ast.ExId (_loc,
                                       (Ast.IdUid (_loc, "Match_failure")))),
                                    (Ast.ExStr (_loc,
                                       (Ast.safe_string_escaped n))))),
                                 (Ast.ExInt (_loc, (string_of_int l))))),
                              (Ast.ExInt (_loc, (string_of_int c)))))))