More refactoring so that core predicates are more consistently defined.