Your example clause should use a regular "=", using "==" is misleading because it indicates (to other programmers) that a "cannot unify" exception could potentially be raised, which it can't.
"=" and "==" have same semantics for terms that will always unify, but it was never the intention to let "==" play the role of "=" in such cases.