add methods on Rule/RulePattern, fold cell matching into RulePattern.matches