First beta release of OCaml 5.5.0

thanks

so this change does impact the recommendation i made in Dromedary and a half - GADT Tips and Tricks :

You might be tempted to make the [types used to keep track of some properties of your GADT] abstract, but it actually creates a serious issue: it hides from the type checker that the different property types are distinct, which forces the type checker to assume that the different property types could be identical, which forces the type checker to assume that the GADTs with different property type parameters could be identical.

same as you recommended in Tutorial on GADTs - #12 by octachron

Using abstract types as type-level tags is a dangerous anti-pattern, since the typechecker can only prove that they are not equal inside the current module. To make clear that the values are not intended to be used it is better to define private constructor

Is it now safe to use abstract types for these use cases?