If the decision to make function rules pattern match only and never unify was deliberate, can we get some kind of comment explaining the rationale here? If not, what exactly is the correct behavior here?