The CI from my latest Caqti PR shows that some packages fail during revdep builds since they require features from the Result module from stdlib which gets shadowed by older releases of the result package due to implicit dependencies. That is, library A depends on B which depends on result and can tolerate an old version, but A assumes it gets the Result module from a newer compiler distribution.
After adding
conflicts: [
"result" {< "1.5"}
]
to my own package avoids the issue. However, there are other packages having the same issues. The build discovers sihl-core and sihl, but there could be more. A simpler but more pervasive solution may be to add an "ocaml" {< "4.08"} constraints to the old result packages?