OPAM could and should do this transformation itself and give the "best" constraints to the solver