Ast\_helper.Typ(3) OCaml library Ast\_helper.Typ(3)

# [NAME](#NAME)

Ast\_helper.Typ - Type expressions

# [Module](#Module)

Module Ast\_helper.Typ

# [Documentation](#Documentation)

Module **Typ**  
: **sig end**

Type expressions

*val mk* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt; Parsetree.core\_type\_desc -&gt; Parsetree.core\_type**

*val attr* : **Parsetree.core\_type -&gt; Parsetree.attribute -&gt; Parsetree.core\_type**

*val any* : **?loc:Ast\_helper.loc -&gt; ?attrs:Ast\_helper.attrs -&gt; unit -&gt; Parsetree.core\_type**

*val var* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt; string -&gt; Parsetree.core\_type**

*val arrow* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt;** **Asttypes.arg\_label -&gt;** **Parsetree.core\_type -&gt; Parsetree.core\_type -&gt; Parsetree.core\_type**

*val tuple* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt;** **(string option * Parsetree.core\_type) list -&gt; Parsetree.core\_type**

*val constr* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt;** **Ast\_helper.lid -&gt; Parsetree.core\_type list -&gt; Parsetree.core\_type**

*val object\_* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt;** **Parsetree.object\_field list -&gt; Asttypes.closed\_flag -&gt; Parsetree.core\_type**

*val class\_* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt;** **Ast\_helper.lid -&gt; Parsetree.core\_type list -&gt; Parsetree.core\_type**

*val alias* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt;** **Parsetree.core\_type -&gt; string Ast\_helper.with\_loc -&gt; Parsetree.core\_type**

*val variant* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt;** **Parsetree.row\_field list -&gt;** **Asttypes.closed\_flag -&gt; Asttypes.label list option -&gt; Parsetree.core\_type**

*val poly* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt;** **Ast\_helper.str list -&gt; Parsetree.core\_type -&gt; Parsetree.core\_type**

*val package* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt; Parsetree.package\_type -&gt; Parsetree.core\_type**

*val open\_* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt;** **Ast\_helper.lid -&gt; Parsetree.core\_type -&gt; Parsetree.core\_type**

*val extension* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt; Parsetree.extension -&gt; Parsetree.core\_type**

*val functor\_* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt;** **Asttypes.arg\_label -&gt;** **Ast\_helper.str -&gt;** **Parsetree.package\_type -&gt; Parsetree.core\_type -&gt; Parsetree.core\_type**

*val force\_poly* : **Parsetree.core\_type -&gt; Parsetree.core\_type**

*val varify\_constructors* : **Ast\_helper.str list -&gt; Parsetree.core\_type -&gt; 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

*val package\_type* : **?loc:Ast\_helper.loc -&gt;** **?attrs:Ast\_helper.attrs -&gt;** **Ast\_helper.lid -&gt;** **(Ast\_helper.lid * Parsetree.core\_type) list -&gt; Parsetree.package\_type**

**Since** 5.4

2026-10-23 OCamldoc

---

Document: Ast_helper.Typ(3o) from ocaml 5.5.2-r0 (Chainguard OS)
Source: https://github.com/ocaml/ocaml
