Nope, it's not. The method here tries to evaluate ground function terms on the RHS of a rule. So when that rule happens to be a function rule, you may run into the case that you are trying to match the RHS (subject) of the rule against its LHS (pattern). And they contain common variables, which is confusing.