moonpool/ocaml/Ctype/index.html
2024-05-20 20:32:52 +00:00

184 lines
84 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Ctype (ocaml.Ctype)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../index.html">ocaml</a> &#x00BB; Ctype</nav><header class="odoc-preamble"><h1>Module <code><span>Ctype</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec exception anchored" id="exception-Unify"><a href="#exception-Unify" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Unify</span> <span class="keyword">of</span> <a href="../Errortrace/index.html#type-unification_error">Errortrace.unification_error</a></span></code></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Equality"><a href="#exception-Equality" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Equality</span> <span class="keyword">of</span> <a href="../Errortrace/index.html#type-equality_error">Errortrace.equality_error</a></span></code></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Moregen"><a href="#exception-Moregen" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Moregen</span> <span class="keyword">of</span> <a href="../Errortrace/index.html#type-moregen_error">Errortrace.moregen_error</a></span></code></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Subtype"><a href="#exception-Subtype" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Subtype</span> <span class="keyword">of</span> <a href="../Errortrace/Subtype/index.html#type-error">Errortrace.Subtype.error</a></span></code></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Escape"><a href="#exception-Escape" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Escape</span> <span class="keyword">of</span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <a href="../Errortrace/index.html#type-escape">Errortrace.escape</a></span></span></code></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Tags"><a href="#exception-Tags" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Tags</span> <span class="keyword">of</span> <a href="../Asttypes/index.html#type-label">Asttypes.label</a> * <a href="../Asttypes/index.html#type-label">Asttypes.label</a></span></code></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Cannot_expand"><a href="#exception-Cannot_expand" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Cannot_expand</span></span></code></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Cannot_apply"><a href="#exception-Cannot_apply" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Cannot_apply</span></span></code></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Matches_failure"><a href="#exception-Matches_failure" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Matches_failure</span> <span class="keyword">of</span> <a href="../Env/index.html#type-t">Env.t</a> * <a href="../Errortrace/index.html#type-unification_error">Errortrace.unification_error</a></span></code></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Incompatible"><a href="#exception-Incompatible" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Incompatible</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-init_def"><a href="#val-init_def" class="anchor"></a><code><span><span class="keyword">val</span> init_def : <span>int <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-begin_def"><a href="#val-begin_def" class="anchor"></a><code><span><span class="keyword">val</span> begin_def : <span>unit <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-end_def"><a href="#val-end_def" class="anchor"></a><code><span><span class="keyword">val</span> end_def : <span>unit <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-begin_class_def"><a href="#val-begin_class_def" class="anchor"></a><code><span><span class="keyword">val</span> begin_class_def : <span>unit <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-raise_nongen_level"><a href="#val-raise_nongen_level" class="anchor"></a><code><span><span class="keyword">val</span> raise_nongen_level : <span>unit <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-reset_global_level"><a href="#val-reset_global_level" class="anchor"></a><code><span><span class="keyword">val</span> reset_global_level : <span>unit <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-increase_global_level"><a href="#val-increase_global_level" class="anchor"></a><code><span><span class="keyword">val</span> increase_global_level : <span>unit <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-restore_global_level"><a href="#val-restore_global_level" class="anchor"></a><code><span><span class="keyword">val</span> restore_global_level : <span>int <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-levels"><a href="#type-levels" class="anchor"></a><code><span><span class="keyword">type</span> levels</span><span> = </span><span>{</span></code><ol><li id="type-levels.current_level" class="def record field anchored"><a href="#type-levels.current_level" class="anchor"></a><code><span>current_level : int;</span></code></li><li id="type-levels.nongen_level" class="def record field anchored"><a href="#type-levels.nongen_level" class="anchor"></a><code><span>nongen_level : int;</span></code></li><li id="type-levels.global_level" class="def record field anchored"><a href="#type-levels.global_level" class="anchor"></a><code><span>global_level : int;</span></code></li><li id="type-levels.saved_level" class="def record field anchored"><a href="#type-levels.saved_level" class="anchor"></a><code><span>saved_level : <span><span>(int * int)</span> list</span>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-save_levels"><a href="#val-save_levels" class="anchor"></a><code><span><span class="keyword">val</span> save_levels : <span>unit <span class="arrow">&#45;&gt;</span></span> <a href="#type-levels">levels</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-set_levels"><a href="#val-set_levels" class="anchor"></a><code><span><span class="keyword">val</span> set_levels : <span><a href="#type-levels">levels</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-create_scope"><a href="#val-create_scope" class="anchor"></a><code><span><span class="keyword">val</span> create_scope : <span>unit <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-newty"><a href="#val-newty" class="anchor"></a><code><span><span class="keyword">val</span> newty : <span><a href="../Types/index.html#type-type_desc">Types.type_desc</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-new_scoped_ty"><a href="#val-new_scoped_ty" class="anchor"></a><code><span><span class="keyword">val</span> new_scoped_ty : <span>int <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_desc">Types.type_desc</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-newvar"><a href="#val-newvar" class="anchor"></a><code><span><span class="keyword">val</span> newvar : <span><span class="optlabel">?name</span>:string <span class="arrow">&#45;&gt;</span></span> <span>unit <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-newvar2"><a href="#val-newvar2" class="anchor"></a><code><span><span class="keyword">val</span> newvar2 : <span><span class="optlabel">?name</span>:string <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-new_global_var"><a href="#val-new_global_var" class="anchor"></a><code><span><span class="keyword">val</span> new_global_var : <span><span class="optlabel">?name</span>:string <span class="arrow">&#45;&gt;</span></span> <span>unit <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-newobj"><a href="#val-newobj" class="anchor"></a><code><span><span class="keyword">val</span> newobj : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-newconstr"><a href="#val-newconstr" class="anchor"></a><code><span><span class="keyword">val</span> newconstr : <span><a href="../Path/index.html#type-t">Path.t</a> <span class="arrow">&#45;&gt;</span></span> <span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-none"><a href="#val-none" class="anchor"></a><code><span><span class="keyword">val</span> none : <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-object_fields"><a href="#val-object_fields" class="anchor"></a><code><span><span class="keyword">val</span> object_fields : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-flatten_fields"><a href="#val-flatten_fields" class="anchor"></a><code><span><span class="keyword">val</span> flatten_fields :
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><span>(string * <a href="../Types/index.html#type-field_kind">Types.field_kind</a> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a>)</span> list</span> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div><div class="spec-doc"><p>Transform a field type into a list of pairs label-type. The fields are sorted.</p><p>Beware of the interaction with GADTs:</p><p>Due to the introduction of object indexes for GADTs, the row variable of an object may now be an expansible type abbreviation. A first consequence is that <code>flatten_fields</code> will not completely flatten the object, since the type abbreviation will not be expanded (<code>flatten_fields</code> does not receive the current environment). Another consequence is that various functions may be called with the expansion of this type abbreviation, which is a Tfield, e.g. during printing.</p><p>Concrete problems have been fixed, but new bugs may appear in the future. (Test cases were added to typing-gadts/test.ml)</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-associate_fields"><a href="#val-associate_fields" class="anchor"></a><code><span><span class="keyword">val</span> associate_fields :
<span><span><span>(string * <a href="../Types/index.html#type-field_kind">Types.field_kind</a> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(string * <a href="../Types/index.html#type-field_kind">Types.field_kind</a> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span>(string
* <a href="../Types/index.html#type-field_kind">Types.field_kind</a>
* <a href="../Types/index.html#type-type_expr">Types.type_expr</a>
* <a href="../Types/index.html#type-field_kind">Types.field_kind</a>
* <a href="../Types/index.html#type-type_expr">Types.type_expr</a>)</span>
list</span>
* <span><span>(string * <a href="../Types/index.html#type-field_kind">Types.field_kind</a> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a>)</span> list</span>
* <span><span>(string * <a href="../Types/index.html#type-field_kind">Types.field_kind</a> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a>)</span> list</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-opened_object"><a href="#val-opened_object" class="anchor"></a><code><span><span class="keyword">val</span> opened_object : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-set_object_name"><a href="#val-set_object_name" class="anchor"></a><code><span><span class="keyword">val</span> set_object_name :
<span><a href="../Ident/index.html#type-t">Ident.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-remove_object_name"><a href="#val-remove_object_name" class="anchor"></a><code><span><span class="keyword">val</span> remove_object_name : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-find_cltype_for_path"><a href="#val-find_cltype_for_path" class="anchor"></a><code><span><span class="keyword">val</span> find_cltype_for_path :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Path/index.html#type-t">Path.t</a> <span class="arrow">&#45;&gt;</span></span>
<a href="../Types/index.html#type-type_declaration">Types.type_declaration</a> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sort_row_fields"><a href="#val-sort_row_fields" class="anchor"></a><code><span><span class="keyword">val</span> sort_row_fields :
<span><span><span>(<a href="../Asttypes/index.html#type-label">Asttypes.label</a> * <a href="../Types/index.html#type-row_field">Types.row_field</a>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span>(<a href="../Asttypes/index.html#type-label">Asttypes.label</a> * <a href="../Types/index.html#type-row_field">Types.row_field</a>)</span> list</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-merge_row_fields"><a href="#val-merge_row_fields" class="anchor"></a><code><span><span class="keyword">val</span> merge_row_fields :
<span><span><span>(<a href="../Asttypes/index.html#type-label">Asttypes.label</a> * <a href="../Types/index.html#type-row_field">Types.row_field</a>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<a href="../Asttypes/index.html#type-label">Asttypes.label</a> * <a href="../Types/index.html#type-row_field">Types.row_field</a>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span>(<a href="../Asttypes/index.html#type-label">Asttypes.label</a> * <a href="../Types/index.html#type-row_field">Types.row_field</a>)</span> list</span>
* <span><span>(<a href="../Asttypes/index.html#type-label">Asttypes.label</a> * <a href="../Types/index.html#type-row_field">Types.row_field</a>)</span> list</span>
* <span><span>(<a href="../Asttypes/index.html#type-label">Asttypes.label</a> * <a href="../Types/index.html#type-row_field">Types.row_field</a> * <a href="../Types/index.html#type-row_field">Types.row_field</a>)</span> list</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-filter_row_fields"><a href="#val-filter_row_fields" class="anchor"></a><code><span><span class="keyword">val</span> filter_row_fields :
<span>bool <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<a href="../Asttypes/index.html#type-label">Asttypes.label</a> * <a href="../Types/index.html#type-row_field">Types.row_field</a>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span>(<a href="../Asttypes/index.html#type-label">Asttypes.label</a> * <a href="../Types/index.html#type-row_field">Types.row_field</a>)</span> list</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-generalize"><a href="#val-generalize" class="anchor"></a><code><span><span class="keyword">val</span> generalize : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-lower_contravariant"><a href="#val-lower_contravariant" class="anchor"></a><code><span><span class="keyword">val</span> lower_contravariant : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-lower_variables_only"><a href="#val-lower_variables_only" class="anchor"></a><code><span><span class="keyword">val</span> lower_variables_only : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-generalize_structure"><a href="#val-generalize_structure" class="anchor"></a><code><span><span class="keyword">val</span> generalize_structure : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-generalize_class_type"><a href="#val-generalize_class_type" class="anchor"></a><code><span><span class="keyword">val</span> generalize_class_type : <span><a href="../Types/index.html#type-class_type">Types.class_type</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-generalize_class_type_structure"><a href="#val-generalize_class_type_structure" class="anchor"></a><code><span><span class="keyword">val</span> generalize_class_type_structure : <span><a href="../Types/index.html#type-class_type">Types.class_type</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-generalize_class_signature_spine"><a href="#val-generalize_class_signature_spine" class="anchor"></a><code><span><span class="keyword">val</span> generalize_class_signature_spine : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-class_signature">Types.class_signature</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-correct_levels"><a href="#val-correct_levels" class="anchor"></a><code><span><span class="keyword">val</span> correct_levels : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-limited_generalize"><a href="#val-limited_generalize" class="anchor"></a><code><span><span class="keyword">val</span> limited_generalize : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-limited_generalize_class_type"><a href="#val-limited_generalize_class_type" class="anchor"></a><code><span><span class="keyword">val</span> limited_generalize_class_type : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-class_type">Types.class_type</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-fully_generic"><a href="#val-fully_generic" class="anchor"></a><code><span><span class="keyword">val</span> fully_generic : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-check_scope_escape"><a href="#val-check_scope_escape" class="anchor"></a><code><span><span class="keyword">val</span> check_scope_escape : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-instance"><a href="#val-instance" class="anchor"></a><code><span><span class="keyword">val</span> instance : <span><span class="optlabel">?partial</span>:bool <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-generic_instance"><a href="#val-generic_instance" class="anchor"></a><code><span><span class="keyword">val</span> generic_instance : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-instance_list"><a href="#val-instance_list" class="anchor"></a><code><span><span class="keyword">val</span> instance_list : <span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-new_local_type"><a href="#val-new_local_type" class="anchor"></a><code><span><span class="keyword">val</span> new_local_type :
<span><span class="optlabel">?loc</span>:<a href="../Location/index.html#type-t">Location.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="optlabel">?manifest_and_scope</span>:<span>(<a href="../Types/index.html#type-type_expr">Types.type_expr</a> * int)</span> <span class="arrow">&#45;&gt;</span></span>
<span>unit <span class="arrow">&#45;&gt;</span></span>
<a href="../Types/index.html#type-type_declaration">Types.type_declaration</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-existential_name"><a href="#val-existential_name" class="anchor"></a><code><span><span class="keyword">val</span> existential_name :
<span><a href="../Types/index.html#type-constructor_description">Types.constructor_description</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
string</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-existential_treatment"><a href="#type-existential_treatment" class="anchor"></a><code><span><span class="keyword">type</span> existential_treatment</span><span> = </span></code><ol><li id="type-existential_treatment.Keep_existentials_flexible" class="def variant constructor anchored"><a href="#type-existential_treatment.Keep_existentials_flexible" class="anchor"></a><code><span>| </span><span><span class="constructor">Keep_existentials_flexible</span></span></code></li><li id="type-existential_treatment.Make_existentials_abstract" class="def variant constructor anchored"><a href="#type-existential_treatment.Make_existentials_abstract" class="anchor"></a><code><span>| </span><span><span class="constructor">Make_existentials_abstract</span> <span class="keyword">of</span> </span><span>{</span></code><ol><li id="type-existential_treatment.env" class="def record field anchored"><a href="#type-existential_treatment.env" class="anchor"></a><code><span>env : <span><a href="../Env/index.html#type-t">Env.t</a> <a href="../Stdlib/index.html#type-ref">ref</a></span>;</span></code></li><li id="type-existential_treatment.scope" class="def record field anchored"><a href="#type-existential_treatment.scope" class="anchor"></a><code><span>scope : int;</span></code></li></ol><code><span>}</span></code></li></ol></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-instance_constructor"><a href="#val-instance_constructor" class="anchor"></a><code><span><span class="keyword">val</span> instance_constructor :
<span><a href="#type-existential_treatment">existential_treatment</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-constructor_description">Types.constructor_description</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a> * <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-instance_parameterized_type"><a href="#val-instance_parameterized_type" class="anchor"></a><code><span><span class="keyword">val</span> instance_parameterized_type :
<span><span class="optlabel">?keep_names</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-instance_parameterized_type_2"><a href="#val-instance_parameterized_type_2" class="anchor"></a><code><span><span class="keyword">val</span> instance_parameterized_type_2 :
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> * <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-instance_declaration"><a href="#val-instance_declaration" class="anchor"></a><code><span><span class="keyword">val</span> instance_declaration : <span><a href="../Types/index.html#type-type_declaration">Types.type_declaration</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_declaration">Types.type_declaration</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-generic_instance_declaration"><a href="#val-generic_instance_declaration" class="anchor"></a><code><span><span class="keyword">val</span> generic_instance_declaration :
<span><a href="../Types/index.html#type-type_declaration">Types.type_declaration</a> <span class="arrow">&#45;&gt;</span></span>
<a href="../Types/index.html#type-type_declaration">Types.type_declaration</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-instance_class"><a href="#val-instance_class" class="anchor"></a><code><span><span class="keyword">val</span> instance_class :
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-class_type">Types.class_type</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> * <a href="../Types/index.html#type-class_type">Types.class_type</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-instance_poly"><a href="#val-instance_poly" class="anchor"></a><code><span><span class="keyword">val</span> instance_poly :
<span><span class="optlabel">?keep_names</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span>bool <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-polyfy"><a href="#val-polyfy" class="anchor"></a><code><span><span class="keyword">val</span> polyfy :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<a href="../Types/index.html#type-type_expr">Types.type_expr</a> * bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-instance_label"><a href="#val-instance_label" class="anchor"></a><code><span><span class="keyword">val</span> instance_label :
<span>bool <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-label_description">Types.label_description</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-apply"><a href="#val-apply" class="anchor"></a><code><span><span class="keyword">val</span> apply :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-try_expand_once_opt"><a href="#val-try_expand_once_opt" class="anchor"></a><code><span><span class="keyword">val</span> try_expand_once_opt : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-try_expand_safe_opt"><a href="#val-try_expand_safe_opt" class="anchor"></a><code><span><span class="keyword">val</span> try_expand_safe_opt : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-expand_head_once"><a href="#val-expand_head_once" class="anchor"></a><code><span><span class="keyword">val</span> expand_head_once : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-expand_head"><a href="#val-expand_head" class="anchor"></a><code><span><span class="keyword">val</span> expand_head : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-expand_head_opt"><a href="#val-expand_head_opt" class="anchor"></a><code><span><span class="keyword">val</span> expand_head_opt : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div><div class="spec-doc"><p>The compiler's own version of <code>expand_head</code> necessary for type-based optimisations.</p></div></div><p>Expansion of types for error traces; lives here instead of in <code>Errortrace</code> because the expansion machinery lives here.</p><div class="odoc-spec"><div class="spec value anchored" id="val-expanded_diff"><a href="#val-expanded_diff" class="anchor"></a><code><span><span class="keyword">val</span> expanded_diff :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">got</span>:<a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">expected</span>:<a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><span>(<a href="../Errortrace/index.html#type-expanded_type">Errortrace.expanded_type</a>, <span class="type-var">'variant</span>)</span> <a href="../Errortrace/index.html#type-elt">Errortrace.elt</a></span></span></code></div><div class="spec-doc"><p>Create an <code>Errortrace.Diff</code> by expanding the two types</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-unexpanded_diff"><a href="#val-unexpanded_diff" class="anchor"></a><code><span><span class="keyword">val</span> unexpanded_diff :
<span><span class="label">got</span>:<a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">expected</span>:<a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><span>(<a href="../Errortrace/index.html#type-expanded_type">Errortrace.expanded_type</a>, <span class="type-var">'variant</span>)</span> <a href="../Errortrace/index.html#type-elt">Errortrace.elt</a></span></span></code></div><div class="spec-doc"><p>Create an <code>Errortrace.Diff</code> by *duplicating* the two types, so that each one's expansion is identical to itself. Despite the name, does create <code>Errortrace.expanded_type</code>s.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-full_expand"><a href="#val-full_expand" class="anchor"></a><code><span><span class="keyword">val</span> full_expand :
<span><span class="label">may_forget_scope</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-typedecl_extraction_result"><a href="#type-typedecl_extraction_result" class="anchor"></a><code><span><span class="keyword">type</span> typedecl_extraction_result</span><span> = </span></code><ol><li id="type-typedecl_extraction_result.Typedecl" class="def variant constructor anchored"><a href="#type-typedecl_extraction_result.Typedecl" class="anchor"></a><code><span>| </span><span><span class="constructor">Typedecl</span> <span class="keyword">of</span> <a href="../Path/index.html#type-t">Path.t</a> * <a href="../Path/index.html#type-t">Path.t</a> * <a href="../Types/index.html#type-type_declaration">Types.type_declaration</a></span></code></li><li id="type-typedecl_extraction_result.Has_no_typedecl" class="def variant constructor anchored"><a href="#type-typedecl_extraction_result.Has_no_typedecl" class="anchor"></a><code><span>| </span><span><span class="constructor">Has_no_typedecl</span></span></code></li><li id="type-typedecl_extraction_result.May_have_typedecl" class="def variant constructor anchored"><a href="#type-typedecl_extraction_result.May_have_typedecl" class="anchor"></a><code><span>| </span><span><span class="constructor">May_have_typedecl</span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-extract_concrete_typedecl"><a href="#val-extract_concrete_typedecl" class="anchor"></a><code><span><span class="keyword">val</span> extract_concrete_typedecl :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<a href="#type-typedecl_extraction_result">typedecl_extraction_result</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-unify"><a href="#val-unify" class="anchor"></a><code><span><span class="keyword">val</span> unify : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-unify_gadt"><a href="#val-unify_gadt" class="anchor"></a><code><span><span class="keyword">val</span> unify_gadt :
<span><span class="label">equations_level</span>:int <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">allow_recursive</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Env/index.html#type-t">Env.t</a> <a href="../Stdlib/index.html#type-ref">ref</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<a href="../Btype/TypePairs/index.html#type-t">Btype.TypePairs.t</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-unify_var"><a href="#val-unify_var" class="anchor"></a><code><span><span class="keyword">val</span> unify_var : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-filter_arrow"><a href="#val-filter_arrow" class="anchor"></a><code><span><span class="keyword">val</span> filter_arrow :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Asttypes/index.html#type-arg_label">Asttypes.arg_label</a> <span class="arrow">&#45;&gt;</span></span>
<a href="../Types/index.html#type-type_expr">Types.type_expr</a> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-filter_method"><a href="#val-filter_method" class="anchor"></a><code><span><span class="keyword">val</span> filter_method : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span>string <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-occur_in"><a href="#val-occur_in" class="anchor"></a><code><span><span class="keyword">val</span> occur_in : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-deep_occur"><a href="#val-deep_occur" class="anchor"></a><code><span><span class="keyword">val</span> deep_occur : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-moregeneral"><a href="#val-moregeneral" class="anchor"></a><code><span><span class="keyword">val</span> moregeneral : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span>bool <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-is_moregeneral"><a href="#val-is_moregeneral" class="anchor"></a><code><span><span class="keyword">val</span> is_moregeneral :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span>bool <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-rigidify"><a href="#val-rigidify" class="anchor"></a><code><span><span class="keyword">val</span> rigidify : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-all_distinct_vars"><a href="#val-all_distinct_vars" class="anchor"></a><code><span><span class="keyword">val</span> all_distinct_vars : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-matches"><a href="#val-matches" class="anchor"></a><code><span><span class="keyword">val</span> matches :
<span><span class="label">expand_error_trace</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-does_match"><a href="#val-does_match" class="anchor"></a><code><span><span class="keyword">val</span> does_match : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-reify_univars"><a href="#val-reify_univars" class="anchor"></a><code><span><span class="keyword">val</span> reify_univars : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-filter_arrow_failure"><a href="#type-filter_arrow_failure" class="anchor"></a><code><span><span class="keyword">type</span> filter_arrow_failure</span><span> = </span></code><ol><li id="type-filter_arrow_failure.Unification_error" class="def variant constructor anchored"><a href="#type-filter_arrow_failure.Unification_error" class="anchor"></a><code><span>| </span><span><span class="constructor">Unification_error</span> <span class="keyword">of</span> <a href="../Errortrace/index.html#type-unification_error">Errortrace.unification_error</a></span></code></li><li id="type-filter_arrow_failure.Label_mismatch" class="def variant constructor anchored"><a href="#type-filter_arrow_failure.Label_mismatch" class="anchor"></a><code><span>| </span><span><span class="constructor">Label_mismatch</span> <span class="keyword">of</span> </span><span>{</span></code><ol><li id="type-filter_arrow_failure.got" class="def record field anchored"><a href="#type-filter_arrow_failure.got" class="anchor"></a><code><span>got : <a href="../Asttypes/index.html#type-arg_label">Asttypes.arg_label</a>;</span></code></li><li id="type-filter_arrow_failure.expected" class="def record field anchored"><a href="#type-filter_arrow_failure.expected" class="anchor"></a><code><span>expected : <a href="../Asttypes/index.html#type-arg_label">Asttypes.arg_label</a>;</span></code></li><li id="type-filter_arrow_failure.expected_type" class="def record field anchored"><a href="#type-filter_arrow_failure.expected_type" class="anchor"></a><code><span>expected_type : <a href="../Types/index.html#type-type_expr">Types.type_expr</a>;</span></code></li></ol><code><span>}</span></code></li><li id="type-filter_arrow_failure.Not_a_function" class="def variant constructor anchored"><a href="#type-filter_arrow_failure.Not_a_function" class="anchor"></a><code><span>| </span><span><span class="constructor">Not_a_function</span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Filter_arrow_failed"><a href="#exception-Filter_arrow_failed" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Filter_arrow_failed</span> <span class="keyword">of</span> <a href="#type-filter_arrow_failure">filter_arrow_failure</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-filter_method_failure"><a href="#type-filter_method_failure" class="anchor"></a><code><span><span class="keyword">type</span> filter_method_failure</span><span> = </span></code><ol><li id="type-filter_method_failure.Unification_error" class="def variant constructor anchored"><a href="#type-filter_method_failure.Unification_error" class="anchor"></a><code><span>| </span><span><span class="constructor">Unification_error</span> <span class="keyword">of</span> <a href="../Errortrace/index.html#type-unification_error">Errortrace.unification_error</a></span></code></li><li id="type-filter_method_failure.Not_a_method" class="def variant constructor anchored"><a href="#type-filter_method_failure.Not_a_method" class="anchor"></a><code><span>| </span><span><span class="constructor">Not_a_method</span></span></code></li><li id="type-filter_method_failure.Not_an_object" class="def variant constructor anchored"><a href="#type-filter_method_failure.Not_an_object" class="anchor"></a><code><span>| </span><span><span class="constructor">Not_an_object</span> <span class="keyword">of</span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Filter_method_failed"><a href="#exception-Filter_method_failed" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Filter_method_failed</span> <span class="keyword">of</span> <a href="#type-filter_method_failure">filter_method_failure</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-class_match_failure"><a href="#type-class_match_failure" class="anchor"></a><code><span><span class="keyword">type</span> class_match_failure</span><span> = </span></code><ol><li id="type-class_match_failure.CM_Virtual_class" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Virtual_class" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Virtual_class</span></span></code></li><li id="type-class_match_failure.CM_Parameter_arity_mismatch" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Parameter_arity_mismatch" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Parameter_arity_mismatch</span> <span class="keyword">of</span> int * int</span></code></li><li id="type-class_match_failure.CM_Type_parameter_mismatch" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Type_parameter_mismatch" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Type_parameter_mismatch</span> <span class="keyword">of</span> <a href="../Env/index.html#type-t">Env.t</a> * <a href="../Errortrace/index.html#type-equality_error">Errortrace.equality_error</a></span></code></li><li id="type-class_match_failure.CM_Class_type_mismatch" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Class_type_mismatch" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Class_type_mismatch</span> <span class="keyword">of</span> <a href="../Env/index.html#type-t">Env.t</a> * <a href="../Types/index.html#type-class_type">Types.class_type</a> * <a href="../Types/index.html#type-class_type">Types.class_type</a></span></code></li><li id="type-class_match_failure.CM_Parameter_mismatch" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Parameter_mismatch" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Parameter_mismatch</span> <span class="keyword">of</span> <a href="../Env/index.html#type-t">Env.t</a> * <a href="../Errortrace/index.html#type-moregen_error">Errortrace.moregen_error</a></span></code></li><li id="type-class_match_failure.CM_Val_type_mismatch" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Val_type_mismatch" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Val_type_mismatch</span> <span class="keyword">of</span> string * <a href="../Env/index.html#type-t">Env.t</a> * <a href="../Errortrace/index.html#type-comparison_error">Errortrace.comparison_error</a></span></code></li><li id="type-class_match_failure.CM_Meth_type_mismatch" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Meth_type_mismatch" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Meth_type_mismatch</span> <span class="keyword">of</span> string * <a href="../Env/index.html#type-t">Env.t</a> * <a href="../Errortrace/index.html#type-comparison_error">Errortrace.comparison_error</a></span></code></li><li id="type-class_match_failure.CM_Non_mutable_value" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Non_mutable_value" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Non_mutable_value</span> <span class="keyword">of</span> string</span></code></li><li id="type-class_match_failure.CM_Non_concrete_value" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Non_concrete_value" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Non_concrete_value</span> <span class="keyword">of</span> string</span></code></li><li id="type-class_match_failure.CM_Missing_value" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Missing_value" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Missing_value</span> <span class="keyword">of</span> string</span></code></li><li id="type-class_match_failure.CM_Missing_method" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Missing_method" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Missing_method</span> <span class="keyword">of</span> string</span></code></li><li id="type-class_match_failure.CM_Hide_public" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Hide_public" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Hide_public</span> <span class="keyword">of</span> string</span></code></li><li id="type-class_match_failure.CM_Hide_virtual" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Hide_virtual" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Hide_virtual</span> <span class="keyword">of</span> string * string</span></code></li><li id="type-class_match_failure.CM_Public_method" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Public_method" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Public_method</span> <span class="keyword">of</span> string</span></code></li><li id="type-class_match_failure.CM_Private_method" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Private_method" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Private_method</span> <span class="keyword">of</span> string</span></code></li><li id="type-class_match_failure.CM_Virtual_method" class="def variant constructor anchored"><a href="#type-class_match_failure.CM_Virtual_method" class="anchor"></a><code><span>| </span><span><span class="constructor">CM_Virtual_method</span> <span class="keyword">of</span> string</span></code></li></ol></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-match_class_types"><a href="#val-match_class_types" class="anchor"></a><code><span><span class="keyword">val</span> match_class_types :
<span><span class="optlabel">?trace</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-class_type">Types.class_type</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-class_type">Types.class_type</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="#type-class_match_failure">class_match_failure</a> list</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span>bool <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-is_equal"><a href="#val-is_equal" class="anchor"></a><code><span><span class="keyword">val</span> is_equal :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span>bool <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-equal_private"><a href="#val-equal_private" class="anchor"></a><code><span><span class="keyword">val</span> equal_private :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-match_class_declarations"><a href="#val-match_class_declarations" class="anchor"></a><code><span><span class="keyword">val</span> match_class_declarations :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-class_type">Types.class_type</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-class_type">Types.class_type</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="#type-class_match_failure">class_match_failure</a> list</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-enlarge_type"><a href="#val-enlarge_type" class="anchor"></a><code><span><span class="keyword">val</span> enlarge_type : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a> * bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-subtype"><a href="#val-subtype" class="anchor"></a><code><span><span class="keyword">val</span> subtype : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <span>unit <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-new_class_signature"><a href="#val-new_class_signature" class="anchor"></a><code><span><span class="keyword">val</span> new_class_signature : <span>unit <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-class_signature">Types.class_signature</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_dummy_method"><a href="#val-add_dummy_method" class="anchor"></a><code><span><span class="keyword">val</span> add_dummy_method : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="label">scope</span>:int <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-class_signature">Types.class_signature</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-add_method_failure"><a href="#type-add_method_failure" class="anchor"></a><code><span><span class="keyword">type</span> add_method_failure</span><span> = </span></code><ol><li id="type-add_method_failure.Unexpected_method" class="def variant constructor anchored"><a href="#type-add_method_failure.Unexpected_method" class="anchor"></a><code><span>| </span><span><span class="constructor">Unexpected_method</span></span></code></li><li id="type-add_method_failure.Type_mismatch" class="def variant constructor anchored"><a href="#type-add_method_failure.Type_mismatch" class="anchor"></a><code><span>| </span><span><span class="constructor">Type_mismatch</span> <span class="keyword">of</span> <a href="../Errortrace/index.html#type-unification_error">Errortrace.unification_error</a></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Add_method_failed"><a href="#exception-Add_method_failed" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Add_method_failed</span> <span class="keyword">of</span> <a href="#type-add_method_failure">add_method_failure</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_method"><a href="#val-add_method" class="anchor"></a><code><span><span class="keyword">val</span> add_method :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Asttypes/index.html#type-label">Asttypes.label</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Asttypes/index.html#type-private_flag">Asttypes.private_flag</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Asttypes/index.html#type-virtual_flag">Asttypes.virtual_flag</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-class_signature">Types.class_signature</a> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-add_instance_variable_failure"><a href="#type-add_instance_variable_failure" class="anchor"></a><code><span><span class="keyword">type</span> add_instance_variable_failure</span><span> = </span></code><ol><li id="type-add_instance_variable_failure.Mutability_mismatch" class="def variant constructor anchored"><a href="#type-add_instance_variable_failure.Mutability_mismatch" class="anchor"></a><code><span>| </span><span><span class="constructor">Mutability_mismatch</span> <span class="keyword">of</span> <a href="../Asttypes/index.html#type-mutable_flag">Asttypes.mutable_flag</a></span></code></li><li id="type-add_instance_variable_failure.Type_mismatch" class="def variant constructor anchored"><a href="#type-add_instance_variable_failure.Type_mismatch" class="anchor"></a><code><span>| </span><span><span class="constructor">Type_mismatch</span> <span class="keyword">of</span> <a href="../Errortrace/index.html#type-unification_error">Errortrace.unification_error</a></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Add_instance_variable_failed"><a href="#exception-Add_instance_variable_failed" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Add_instance_variable_failed</span> <span class="keyword">of</span> <a href="#type-add_instance_variable_failure">add_instance_variable_failure</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_instance_variable"><a href="#val-add_instance_variable" class="anchor"></a><code><span><span class="keyword">val</span> add_instance_variable :
<span><span class="label">strict</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Asttypes/index.html#type-label">Asttypes.label</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Asttypes/index.html#type-mutable_flag">Asttypes.mutable_flag</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Asttypes/index.html#type-virtual_flag">Asttypes.virtual_flag</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-class_signature">Types.class_signature</a> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-inherit_class_signature_failure"><a href="#type-inherit_class_signature_failure" class="anchor"></a><code><span><span class="keyword">type</span> inherit_class_signature_failure</span><span> = </span></code><ol><li id="type-inherit_class_signature_failure.Self_type_mismatch" class="def variant constructor anchored"><a href="#type-inherit_class_signature_failure.Self_type_mismatch" class="anchor"></a><code><span>| </span><span><span class="constructor">Self_type_mismatch</span> <span class="keyword">of</span> <a href="../Errortrace/index.html#type-unification_error">Errortrace.unification_error</a></span></code></li><li id="type-inherit_class_signature_failure.Method" class="def variant constructor anchored"><a href="#type-inherit_class_signature_failure.Method" class="anchor"></a><code><span>| </span><span><span class="constructor">Method</span> <span class="keyword">of</span> <a href="../Asttypes/index.html#type-label">Asttypes.label</a> * <a href="#type-add_method_failure">add_method_failure</a></span></code></li><li id="type-inherit_class_signature_failure.Instance_variable" class="def variant constructor anchored"><a href="#type-inherit_class_signature_failure.Instance_variable" class="anchor"></a><code><span>| </span><span><span class="constructor">Instance_variable</span> <span class="keyword">of</span> <a href="../Asttypes/index.html#type-label">Asttypes.label</a> * <a href="#type-add_instance_variable_failure">add_instance_variable_failure</a></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Inherit_class_signature_failed"><a href="#exception-Inherit_class_signature_failed" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Inherit_class_signature_failed</span> <span class="keyword">of</span> <a href="#type-inherit_class_signature_failure">inherit_class_signature_failure</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-inherit_class_signature"><a href="#val-inherit_class_signature" class="anchor"></a><code><span><span class="keyword">val</span> inherit_class_signature :
<span><span class="label">strict</span>:bool <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-class_signature">Types.class_signature</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-class_signature">Types.class_signature</a> <span class="arrow">&#45;&gt;</span></span>
unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-update_class_signature"><a href="#val-update_class_signature" class="anchor"></a><code><span><span class="keyword">val</span> update_class_signature :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-class_signature">Types.class_signature</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Asttypes/index.html#type-label">Asttypes.label</a> list</span> * <span><a href="../Asttypes/index.html#type-label">Asttypes.label</a> list</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-hide_private_methods"><a href="#val-hide_private_methods" class="anchor"></a><code><span><span class="keyword">val</span> hide_private_methods : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-class_signature">Types.class_signature</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-close_class_signature"><a href="#val-close_class_signature" class="anchor"></a><code><span><span class="keyword">val</span> close_class_signature : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-class_signature">Types.class_signature</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec exception anchored" id="exception-Nondep_cannot_erase"><a href="#exception-Nondep_cannot_erase" class="anchor"></a><code><span><span class="keyword">exception</span> </span><span><span class="exception">Nondep_cannot_erase</span> <span class="keyword">of</span> <a href="../Ident/index.html#type-t">Ident.t</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-nondep_type"><a href="#val-nondep_type" class="anchor"></a><code><span><span class="keyword">val</span> nondep_type : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><span><a href="../Ident/index.html#type-t">Ident.t</a> list</span> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-nondep_type_decl"><a href="#val-nondep_type_decl" class="anchor"></a><code><span><span class="keyword">val</span> nondep_type_decl :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Ident/index.html#type-t">Ident.t</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span>bool <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_declaration">Types.type_declaration</a> <span class="arrow">&#45;&gt;</span></span>
<a href="../Types/index.html#type-type_declaration">Types.type_declaration</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-nondep_extension_constructor"><a href="#val-nondep_extension_constructor" class="anchor"></a><code><span><span class="keyword">val</span> nondep_extension_constructor :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Ident/index.html#type-t">Ident.t</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-extension_constructor">Types.extension_constructor</a> <span class="arrow">&#45;&gt;</span></span>
<a href="../Types/index.html#type-extension_constructor">Types.extension_constructor</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-nondep_class_declaration"><a href="#val-nondep_class_declaration" class="anchor"></a><code><span><span class="keyword">val</span> nondep_class_declaration :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Ident/index.html#type-t">Ident.t</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-class_declaration">Types.class_declaration</a> <span class="arrow">&#45;&gt;</span></span>
<a href="../Types/index.html#type-class_declaration">Types.class_declaration</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-nondep_cltype_declaration"><a href="#val-nondep_cltype_declaration" class="anchor"></a><code><span><span class="keyword">val</span> nondep_cltype_declaration :
<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../Ident/index.html#type-t">Ident.t</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-class_type_declaration">Types.class_type_declaration</a> <span class="arrow">&#45;&gt;</span></span>
<a href="../Types/index.html#type-class_type_declaration">Types.class_type_declaration</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-is_contractive"><a href="#val-is_contractive" class="anchor"></a><code><span><span class="keyword">val</span> is_contractive : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Path/index.html#type-t">Path.t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-normalize_type"><a href="#val-normalize_type" class="anchor"></a><code><span><span class="keyword">val</span> normalize_type : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-nongen_schema"><a href="#val-nongen_schema" class="anchor"></a><code><span><span class="keyword">val</span> nongen_schema : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-nongen_class_declaration"><a href="#val-nongen_class_declaration" class="anchor"></a><code><span><span class="keyword">val</span> nongen_class_declaration : <span><a href="../Types/index.html#type-class_declaration">Types.class_declaration</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-free_variables"><a href="#val-free_variables" class="anchor"></a><code><span><span class="keyword">val</span> free_variables : <span><span class="optlabel">?env</span>:<a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-closed_type_decl"><a href="#val-closed_type_decl" class="anchor"></a><code><span><span class="keyword">val</span> closed_type_decl : <span><a href="../Types/index.html#type-type_declaration">Types.type_declaration</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-closed_extension_constructor"><a href="#val-closed_extension_constructor" class="anchor"></a><code><span><span class="keyword">val</span> closed_extension_constructor :
<span><a href="../Types/index.html#type-extension_constructor">Types.extension_constructor</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-closed_class"><a href="#val-closed_class" class="anchor"></a><code><span><span class="keyword">val</span> closed_class :
<span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Types/index.html#type-class_signature">Types.class_signature</a> <span class="arrow">&#45;&gt;</span></span>
<span><span>(<a href="../Types/index.html#type-type_expr">Types.type_expr</a> * bool * string * <a href="../Types/index.html#type-type_expr">Types.type_expr</a>)</span> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-unalias"><a href="#val-unalias" class="anchor"></a><code><span><span class="keyword">val</span> unalias : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Types/index.html#type-type_expr">Types.type_expr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-arity"><a href="#val-arity" class="anchor"></a><code><span><span class="keyword">val</span> arity : <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-collapse_conj_params"><a href="#val-collapse_conj_params" class="anchor"></a><code><span><span class="keyword">val</span> collapse_conj_params : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> list</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_current_level"><a href="#val-get_current_level" class="anchor"></a><code><span><span class="keyword">val</span> get_current_level : <span>unit <span class="arrow">&#45;&gt;</span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-wrap_trace_gadt_instances"><a href="#val-wrap_trace_gadt_instances" class="anchor"></a><code><span><span class="keyword">val</span> wrap_trace_gadt_instances : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span>)</span> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span> <span class="type-var">'b</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-reset_reified_var_counter"><a href="#val-reset_reified_var_counter" class="anchor"></a><code><span><span class="keyword">val</span> reset_reified_var_counter : <span>unit <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-immediacy"><a href="#val-immediacy" class="anchor"></a><code><span><span class="keyword">val</span> immediacy : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <a href="../Type_immediacy/index.html#type-t">Type_immediacy.t</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-package_subtype"><a href="#val-package_subtype" class="anchor"></a><code><span><span class="keyword">val</span> package_subtype :
<span><span>(<span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Path/index.html#type-t">Path.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<a href="../Longident/index.html#type-t">Longident.t</a> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../Path/index.html#type-t">Path.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<a href="../Longident/index.html#type-t">Longident.t</a> * <a href="../Types/index.html#type-type_expr">Types.type_expr</a>)</span> list</span> <span class="arrow">&#45;&gt;</span></span>
bool)</span>
<a href="../Stdlib/index.html#type-ref">ref</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-mcomp"><a href="#val-mcomp" class="anchor"></a><code><span><span class="keyword">val</span> mcomp : <span><a href="../Env/index.html#type-t">Env.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Types/index.html#type-type_expr">Types.type_expr</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div></div></body></html>