Annot.IAnnottype res = (Rid.t * Mlsem_types.Ty.t) optiontype coverage = res * Mlsem_common.REnv.tand inter = inter_branch listand part = (Mlsem_types.Ty.t * LazyIAnnot.t option) listand a = | Untyp| AVar of Mlsem_types.MVarSet.t -> Mlsem_types.Subst.t| AConstruct of t list| ALet of t * part| AApp of t * t * Mlsem_types.Ty.t| AOp of Mlsem_types.MVarSet.t -> Mlsem_types.Subst.t * t * Mlsem_types.Ty.t| AProj of t * Mlsem_types.Ty.t| ACast of Mlsem_types.GTy.t * t| ACoerce of Mlsem_types.GTy.t * t| AIte of t * Mlsem_types.GTy.t * branch * branch| ALambda of Mlsem_types.GTy.t * t| ALambdaRec of (Mlsem_types.GTy.t * t) list| AAlt of t option * t option| AInter of interval substitute : Mlsem_types.Subst.t -> t -> tval pp : Stdlib.Format.formatter -> t -> unitval pp_a : Stdlib.Format.formatter -> a -> unitval pp_coverage : Stdlib.Format.formatter -> coverage -> unitval pp_res : Stdlib.Format.formatter -> res -> unit