`type ('js, 'ocaml) t``= ('js, 'ocaml) Select_ast(Ocaml).Type.t``=`

`|` `Signature : (Js.Ast.Parsetree.signature, Ocaml.Ast.Parsetree.signature) t`
`|` `Structure : (Js.Ast.Parsetree.structure, Ocaml.Ast.Parsetree.structure) t`
`|` `Toplevel_phrase : (Js.Ast.Parsetree.toplevel_phrase, Ocaml.Ast.Parsetree.toplevel_phrase) t`
`|` `Out_phrase : (Js.Ast.Outcometree.out_phrase, Ocaml.Ast.Outcometree.out_phrase) t`
`|` `Expression : (Js.Ast.Parsetree.expression, Ocaml.Ast.Parsetree.expression) t`
`|` `Core_type : (Js.Ast.Parsetree.core_type, Ocaml.Ast.Parsetree.core_type) t`
`|` `Type_declaration : (Js.Ast.Parsetree.type_declaration, Ocaml.Ast.Parsetree.type_declaration) t`
`|` `Type_extension : (Js.Ast.Parsetree.type_extension, Ocaml.Ast.Parsetree.type_extension) t`
`|` `Extension_constructor : (Js.Ast.Parsetree.extension_constructor, Ocaml.Ast.Parsetree.extension_constructor) t`
`|` `List : ('a, 'b) t ‑> ('a list, 'b list) t`
`|` `Pair : ('a0, 'b0) t * ('c, 'd) t ‑> ('a0 * 'c, 'b0 * 'd) t`

``