Absint.SubtypingCheck
val check_subtype : IR.Tenv.t -> IR.Typ.t -> IR.Typ.t -> bool
check_subtype t1 t2 checks whether t1 is a subtype of t2, given the type environment tenv.
val subtype_case_analysis : IR.Tenv.t -> IR.Exp.t -> IR.Exp.t -> IR.Exp.t option * IR.Exp.t option
subtype_case_analysis tenv tecp1 texp2 performs case analysis on texp1 <: texp2, and returns the updated types in the true and false case, if they are possible
texp1 <: texp2