Proto/Michelson: another preparatory work for uniting types
Context
Another preparatory work for !4502 (merged):
- pair and union smart constructors return type must be wrapped in an existential because we won't know whether the result is comparable or not
- option, pair, and union constructors will carry a (GADT) witness of their comparable-ness, hence a new parameter must be added to them
These changes look quite stupid as is but will make later MRs smaller. Except for minor gas/size changes, they should keep the semantics as is.
The type to_be_replaced is removed in the next MR: !4693 (merged)
Manually testing the MR
CI (I may need to update a few constants or regression tests)
Checklist
[ ] Document the interface of any function added or modified (see the coding guidelines)[ ] Document any change to the user interface, including configuration parameters (see node configuration)-
Provide automatic testing (see the testing guide). -
[ ] For new features and bug fixes, add an item in the appropriate changelog ((will do at the end)docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Mehdi Bouaziz