This PR fixes several unsoundness in modes in typecore.ml.
In particular, we treat lazy more coarsely than before: lazy body will always be legacy and we require body to be legacy. This trivializes some tests in uniqueness analysis, which we now remove. The code in uniqueness_analysis.ml treating Tpat_lazy and Texp_lazy doesn't need change.
This PR fixes several unsoundness in modes in
typecore.ml
.In particular, we treat
lazy
more coarsely than before:lazy body
will always belegacy
and we requirebody
to belegacy
. This trivializes some tests in uniqueness analysis, which we now remove. The code inuniqueness_analysis.ml
treatingTpat_lazy
andTexp_lazy
doesn't need change.