PolyFlagsSet of flags for universe polymorphism, implicit sort polymorphism and cumulativity. Note that implicit sort polymorphism (not collapsing sort variables to Type) and cumulativity only make sense for constructions that are already polymorphic. This invariant is ensured by the smart constructor below.
val make : univ_poly:bool -> collapse_sort_variables:bool -> cumulative:bool -> tRaises a user error if univ_poly = false and either collapse_sort_variables = false or cumulative = true.
val default : tThe default is monomorphic: univ_poly and cumulative are false, collapse_sort_variables is true
val of_univ_poly : bool -> tOnly sets the universe univ_poly flag. Use with care, this probably indicates that the code does not handle cumulative constructions when it should. Code relying on elaboration should also support the collapse_sort_variables flag.
val univ_poly : t -> boolAccessors
val collapse_sort_variables : t -> boolval cumulative : t -> bool