val vars : Ty.t -> Mlsem_types__.Tvar.MVarSet.tval vars' : Ty.t list -> Mlsem_types__.Tvar.MVarSet.tval top_vars : Ty.t -> Mlsem_types__.Tvar.MVarSet.tval strict_vars : Ty.t -> Mlsem_types__.Tvar.MVarSet.tval vars_of_kind : kind -> Ty.t -> Mlsem_types__.Tvar.MVarSet.tval polarity1 : TVar.t -> Ty.t -> [ `Both | `Neg | `Pos | `None ]val polarity2 : RVar.t -> Ty.t -> [ `Both | `Neg | `Pos | `None ]val polarity1' : TVar.t -> Ty.t list -> [ `Both | `Neg | `Pos | `None ]val polarity2' : RVar.t -> Ty.t list -> [ `Both | `Neg | `Pos | `None ]val vars_with_polarity1 : Ty.t -> (TVar.t * [ `Both | `Neg | `Pos ]) listval vars_with_polarity2 : Ty.t -> (RVar.t * [ `Both | `Neg | `Pos ]) listval vars_with_polarity1' : Ty.t list -> (TVar.t * [ `Both | `Neg | `Pos ]) listval vars_with_polarity2' : Ty.t list -> (RVar.t * [ `Both | `Neg | `Pos ]) listval is_ground_typ : Ty.t -> boolval refresh :
kind:kind ->
Mlsem_types__.Tvar.MVarSet.t ->
Mlsem_types__.Tvar.Subst.tval shorten_names : Mlsem_types__.Tvar.MVarSet.t -> Mlsem_types__.Tvar.Subst.tval pp_typ_short : Stdlib.Format.formatter -> Ty.t -> unitval pp_typ_subst :
Mlsem_types__.Tvar.Subst.t ->
Stdlib.Format.formatter ->
Ty.t ->
unitval clean :
pos1:Ty.t ->
neg1:Ty.t ->
pos2:Mlsem_types__.Tvar.Row.t ->
neg2:Mlsem_types__.Tvar.Row.t ->
Mlsem_types__.Tvar.MVarSet.t ->
Ty.t ->
Ty.tclean p n mono t substitutes in t all variables not in mono and only occurring positively by p, and all variables not in mono and only occurring negatively by n
val clean_subst :
pos1:Ty.t ->
neg1:Ty.t ->
pos2:Mlsem_types__.Tvar.Row.t ->
neg2:Mlsem_types__.Tvar.Row.t ->
Mlsem_types__.Tvar.MVarSet.t ->
Ty.t ->
Mlsem_types__.Tvar.Subst.tval clean' :
pos1:Ty.t ->
neg1:Ty.t ->
pos2:Mlsem_types__.Tvar.Row.t ->
neg2:Mlsem_types__.Tvar.Row.t ->
Mlsem_types__.Tvar.MVarSet.t ->
Ty.t list ->
Ty.t listval clean_subst' :
pos1:Ty.t ->
neg1:Ty.t ->
pos2:Mlsem_types__.Tvar.Row.t ->
neg2:Mlsem_types__.Tvar.Row.t ->
Mlsem_types__.Tvar.MVarSet.t ->
Ty.t list ->
Mlsem_types__.Tvar.Subst.tval bot_instance : Mlsem_types__.Tvar.MVarSet.t -> Ty.t -> Ty.tval top_instance : Mlsem_types__.Tvar.MVarSet.t -> Ty.t -> Ty.tval tallying :
Mlsem_types__.Tvar.MVarSet.t ->
(Ty.t * Ty.t) list ->
Mlsem_types__.Tvar.Subst.t listval decompose :
Mlsem_types__.Tvar.MVarSet.t ->
Mlsem_types__.Tvar.Subst.t ->
Mlsem_types__.Tvar.Subst.t ->
Mlsem_types__.Tvar.Subst.t listOperations on row and field variables
val recombine_fields' :
field_ctx ->
Mlsem_types__.Tvar.Subst.t ->
Mlsem_types__.Tvar.Subst.tval tallying_fields :
Mlsem_types__.Tvar.MVarSet.t ->
(Ty.t * Ty.t) list ->
Mlsem_types__.Tvar.Subst.t list