Tricky CHR behaviour

See A strange behavior of CHR package

However, if you only have grounded constraints, then you should be okay. try(X) by itself doesn’t make sense (at least to me) as a constraint.