In Picat, what is the fundamental difference between pattern matching in rule heads and explicit unification using the '=' operator in the rule body?