`module Ast = Migrate_parsetree_versions.OCaml_405.Ast`
`val version : int`
`val string_version : string`
`type types``= < case : Ast.Parsetree.case; core_type : Ast.Parsetree.core_type; expression : Ast.Parsetree.expression; extension_constructor : Ast.Parsetree.extension_constructor; mapper : Ast.Ast_mapper.mapper; out_class_type : Ast.Outcometree.out_class_type; out_module_type : Ast.Outcometree.out_module_type; out_phrase : Ast.Outcometree.out_phrase; out_sig_item : Ast.Outcometree.out_sig_item; out_type : Ast.Outcometree.out_type; out_type_extension : Ast.Outcometree.out_type_extension; out_value : Ast.Outcometree.out_value; pattern : Ast.Parsetree.pattern; signature : Ast.Parsetree.signature; structure : Ast.Parsetree.structure; toplevel_phrase : Ast.Parsetree.toplevel_phrase; type_declaration : Ast.Parsetree.type_declaration; type_extension : Ast.Parsetree.type_extension; > Migrate_parsetree_versions._types```
`type Migrate_parsetree_versions.witnesses +=` `Version : types Migrate_parsetree_versions.witnesses`
`val migration_info : types Migrate_parsetree_versions.migration_info`
`module Type : sig ... end`
`module Of_ocaml : sig ... end`
`module To_ocaml : sig ... end`
`val of_ocaml : ('js, 'ocaml) Type.t ‑> 'ocaml ‑> 'js`
`val to_ocaml : ('js, 'ocaml) Type.t ‑> 'js ‑> 'ocaml`
`val of_ocaml_mapper : ('a, 'b) Type.t ‑> ('b ‑> 'b) ‑> 'a ‑> 'a`
`val to_ocaml_mapper : ('a, 'b) Type.t ‑> ('a ‑> 'a) ‑> 'b ‑> 'b`