Currently, dif/2 is sometimes used in cases where (#\=)/2 can propagate more strongly.
This also affects if_/3, where plain unification is currently used instead of (#=)/2. The predicate zcompare/3 allows to use if_/3 with CLP(FD) constraints to the full advantage of both.