* rename 'generic predicate' to 'general predicate' to conform with existing defintions