Hi, On Fri, Aug 21, 2020 at 8:19 AM François Bobot wrote: > ... > - Given an API, the guarantees of the possible modifications of the API, > and a new version of the > API: check if the new version follows the guarantees > Do you mean something like Semantic Versioning here? See e.g. Elm which has a package manager that can enforce SemVer by comparing types: https://elm-lang.org/news/0.14 > For package authors, it means we can automatically enforce semantic versioning. No user will ever get a breaking API change in a patch version again! Something like this for OCaml would be very cool. But I've heard that SemVer for OCaml is either difficult or effectively impossible, indeed due to some of the reasons you listed. I think any practical codification of backward-compatibility rules would probably need to ignore the presence of features like 'module type of' and 'include'. Regards, Yawar