type (!'js, !'ocaml) t = | Structure : (Astlib.Ast_500.Parsetree.structure,
              Astlib.Ast_501.Parsetree.structure)
              t| Signature : (Astlib.Ast_500.Parsetree.signature,
              Astlib.Ast_501.Parsetree.signature)
              t| Toplevel_phrase : (Astlib.Ast_500.Parsetree.toplevel_phrase,
                    Astlib.Ast_501.Parsetree.toplevel_phrase)
                    t| Core_type : (Astlib.Ast_500.Parsetree.core_type,
              Astlib.Ast_501.Parsetree.core_type)
              t| Expression : (Astlib.Ast_500.Parsetree.expression,
               Astlib.Ast_501.Parsetree.expression)
               t| Pattern : (Astlib.Ast_500.Parsetree.pattern, Astlib.Ast_501.Parsetree.pattern)
            t| Case : (Astlib.Ast_500.Parsetree.case, Astlib.Ast_501.Parsetree.case) t| Type_declaration : (Astlib.Ast_500.Parsetree.type_declaration,
                     Astlib.Ast_501.Parsetree.type_declaration)
                     t| Type_extension : (Astlib.Ast_500.Parsetree.type_extension,
                   Astlib.Ast_501.Parsetree.type_extension)
                   t| Extension_constructor : (Astlib.Ast_500.Parsetree.extension_constructor,
                          Astlib.Ast_501.Parsetree.extension_constructor)
                          t| Class_expr : (Astlib.Ast_500.Parsetree.class_expr,
               Astlib.Ast_501.Parsetree.class_expr)
               t| Class_field : (Astlib.Ast_500.Parsetree.class_field,
                Astlib.Ast_501.Parsetree.class_field)
                t| Class_type : (Astlib.Ast_500.Parsetree.class_type,
               Astlib.Ast_501.Parsetree.class_type)
               t| Class_signature : (Astlib.Ast_500.Parsetree.class_signature,
                    Astlib.Ast_501.Parsetree.class_signature)
                    t| Class_type_field : (Astlib.Ast_500.Parsetree.class_type_field,
                     Astlib.Ast_501.Parsetree.class_type_field)
                     t| Module_expr : (Astlib.Ast_500.Parsetree.module_expr,
                Astlib.Ast_501.Parsetree.module_expr)
                t| Module_type : (Astlib.Ast_500.Parsetree.module_type,
                Astlib.Ast_501.Parsetree.module_type)
                t| Signature_item : (Astlib.Ast_500.Parsetree.signature_item,
                   Astlib.Ast_501.Parsetree.signature_item)
                   t| Structure_item : (Astlib.Ast_500.Parsetree.structure_item,
                   Astlib.Ast_501.Parsetree.structure_item)
                   t| List : ('a, 'b) t -> ('a list, 'b list) t| Pair : ('a0, 'b0) t * ('c, 'd) t -> ('a0 * 'c, 'b0 * 'd) t