1024" x-on:close-sidebar="sidebar=window.innerWidth > 1024 && true">
type t =
| Unit |
| Bool |
| Float |
| Char |
| String |
| Int of int option |
| List of t |
| Array of t |
| Tuple of t list |
| Dict of [ `O | `R ] * (string * [ `RO | `RW ] * t) list |
| Sum of [ `N | `P ] * (string * t list) list |
| Option of t |
| Rec of string * t |
| Var of string |
| Arrow of t * t |
| Ext of string * t |
val is_mutable : t -> bool
val free_vars : t -> string list
val foreigns : t -> string list
val unroll : (string * t) list -> t -> t
val is_subtype_of : t -> t -> bool
val (<:) : t -> t -> bool
val string_of_last_type_error : unit -> string
val to_string : t -> string
exception Parse_error of string
val of_string : string -> t