Open
Description
Currently, we have a function convertSubtypingToSupremum
which builds a supremum from multiple subtyping constraints.
This is needed because when resolving suprema using the subtyping graph, we forget that stuff was a supremum, and construct subtyping constraints from that. Which later are turned into suprema by that function.
This is quite unsatisfactory, since information is lost. It would be best, if we would do this directly.
For example, discharging bot/top constraints has now to be done in a later phase (59b66f0), to make sure that the supremum restoration runs before it. Even in that later phase, the question whether all restorations happen as supposed is not quite clear.