Annot.DomainThe part of an expression's typing already covered by the branches of an intersection, used to avoid exploring a branch that would add nothing.
An environment refinement is compared by encoding it as an open record type — one field per constrained variable — which turns "is this refinement within the union of those already explored" into a subtyping test.
val empty : tval add : IAnnot.coverage -> t -> tval covers : t -> IAnnot.coverage -> boolWhether the recorded coverages already subsume the given one, i.e. whether every environment it applies to is handled by a branch already explored for a result at least as precise. Results are only comparable when they come from the same node (same Rid.t).
val pp : Stdlib.Format.formatter -> t -> unit