Add binding option to provide the predicate as first argument.
Allow a predicate to discard itself

Based on information extracted from the context, a predicate might decide
than he doesn't have enough data to perform a validation.
80 chars.