Type expressions

`val mk : ?⁠loc:loc ‑> ?⁠attrs:attrs ‑> Ppxlib_ast__.Import.Parsetree.core_type_desc ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val attr : Ppxlib_ast__.Import.Parsetree.core_type ‑> Ppxlib_ast__.Import.Parsetree.attribute ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val any : ?⁠loc:loc ‑> ?⁠attrs:attrs ‑> unit ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val var : ?⁠loc:loc ‑> ?⁠attrs:attrs ‑> string ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val arrow : ?⁠loc:loc ‑> ?⁠attrs:attrs ‑> Ppxlib_ast__.Import.Asttypes.arg_label ‑> Ppxlib_ast__.Import.Parsetree.core_type ‑> Ppxlib_ast__.Import.Parsetree.core_type ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val tuple : ?⁠loc:loc ‑> ?⁠attrs:attrs ‑> Ppxlib_ast__.Import.Parsetree.core_type list ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val constr : ?⁠loc:loc ‑> ?⁠attrs:attrs ‑> lid ‑> Ppxlib_ast__.Import.Parsetree.core_type list ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val object_ : ?⁠loc:loc ‑> ?⁠attrs:attrs ‑> (str * Ppxlib_ast__.Import.Parsetree.attributes * Ppxlib_ast__.Import.Parsetree.core_type) list ‑> Ppxlib_ast__.Import.Asttypes.closed_flag ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val class_ : ?⁠loc:loc ‑> ?⁠attrs:attrs ‑> lid ‑> Ppxlib_ast__.Import.Parsetree.core_type list ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val alias : ?⁠loc:loc ‑> ?⁠attrs:attrs ‑> Ppxlib_ast__.Import.Parsetree.core_type ‑> string ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val variant : ?⁠loc:loc ‑> ?⁠attrs:attrs ‑> Ppxlib_ast__.Import.Parsetree.row_field list ‑> Ppxlib_ast__.Import.Asttypes.closed_flag ‑> Ppxlib_ast__.Import.Asttypes.label list option ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val poly : ?⁠loc:loc ‑> ?⁠attrs:attrs ‑> str list ‑> Ppxlib_ast__.Import.Parsetree.core_type ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val package : ?⁠loc:loc ‑> ?⁠attrs:attrs ‑> lid ‑> (lid * Ppxlib_ast__.Import.Parsetree.core_type) list ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val extension : ?⁠loc:loc ‑> ?⁠attrs:attrs ‑> Ppxlib_ast__.Import.Parsetree.extension ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val force_poly : Ppxlib_ast__.Import.Parsetree.core_type ‑> Ppxlib_ast__.Import.Parsetree.core_type`
`val varify_constructors : str list ‑> Ppxlib_ast__.Import.Parsetree.core_type ‑> Ppxlib_ast__.Import.Parsetree.core_type`

`varify_constructors newtypes te` is type expression `te`, of which any of nullary type constructor `tc` is replaced by type variable of the same name, if `tc`'s name appears in `newtypes`. Raise `Syntaxerr.Variable_in_scope` if any type variable inside `te` appears in `newtypes`.

- Since: 4.05