sig
  val implementation :
    < case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
      mapper : 'e; out_class_type : 'f; out_module_type : 'g;
      out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
      out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
      structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
      type_extension : 'r >
    Migrate_parsetree_versions.ocaml_version ->
    Lexing.lexbuf ->
    < case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
      mapper : 'e; out_class_type : 'f; out_module_type : 'g;
      out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
      out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
      structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
      type_extension : 'r >
    Migrate_parsetree_versions.get_structure
  val interface :
    < case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
      mapper : 'e; out_class_type : 'f; out_module_type : 'g;
      out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
      out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
      structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
      type_extension : 'r >
    Migrate_parsetree_versions.ocaml_version ->
    Lexing.lexbuf ->
    < case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
      mapper : 'e; out_class_type : 'f; out_module_type : 'g;
      out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
      out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
      structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
      type_extension : 'r >
    Migrate_parsetree_versions.get_signature
  val toplevel_phrase :
    < case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
      mapper : 'e; out_class_type : 'f; out_module_type : 'g;
      out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
      out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
      structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
      type_extension : 'r >
    Migrate_parsetree_versions.ocaml_version ->
    Lexing.lexbuf ->
    < case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
      mapper : 'e; out_class_type : 'f; out_module_type : 'g;
      out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
      out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
      structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
      type_extension : 'r >
    Migrate_parsetree_versions.get_toplevel_phrase
  val use_file :
    < case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
      mapper : 'e; out_class_type : 'f; out_module_type : 'g;
      out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
      out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
      structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
      type_extension : 'r >
    Migrate_parsetree_versions.ocaml_version ->
    Lexing.lexbuf ->
    < case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
      mapper : 'e; out_class_type : 'f; out_module_type : 'g;
      out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
      out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
      structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
      type_extension : 'r >
    Migrate_parsetree_versions.get_toplevel_phrase list
  val core_type :
    < case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
      mapper : 'e; out_class_type : 'f; out_module_type : 'g;
      out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
      out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
      structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
      type_extension : 'r >
    Migrate_parsetree_versions.ocaml_version ->
    Lexing.lexbuf ->
    < case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
      mapper : 'e; out_class_type : 'f; out_module_type : 'g;
      out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
      out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
      structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
      type_extension : 'r >
    Migrate_parsetree_versions.get_core_type
  val expression :
    < case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
      mapper : 'e; out_class_type : 'f; out_module_type : 'g;
      out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
      out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
      structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
      type_extension : 'r >
    Migrate_parsetree_versions.ocaml_version ->
    Lexing.lexbuf ->
    < case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
      mapper : 'e; out_class_type : 'f; out_module_type : 'g;
      out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
      out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
      structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
      type_extension : 'r >
    Migrate_parsetree_versions.get_expression
  val pattern :
    < case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
      mapper : 'e; out_class_type : 'f; out_module_type : 'g;
      out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
      out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
      structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
      type_extension : 'r >
    Migrate_parsetree_versions.ocaml_version ->
    Lexing.lexbuf ->
    < case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
      mapper : 'e; out_class_type : 'f; out_module_type : 'g;
      out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
      out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
      structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
      type_extension : 'r >
    Migrate_parsetree_versions.get_pattern
end