Let's name this thing `SemanticPredicate` instead. This would match the PEG terminology a bit better.