docs: def _DoPredicates(args, context, callback, trace):
      """{.predicate?}
  
    Here we execute the first clause that evaluates to true, and then stop.
    """
      block = args
      value = context.Lookup('@')
      for (predicate, args, func_type), statements in block.clauses:
          if func_type == ENHANCED_FUNC:
              do_clause = predicate(value, context, args)
          else:
              do_clause = predicate(value)
          
          if do_clause:
              if trace: trace.Push(predicate)
              _Execute(statements, context, callback, trace)
              if trace: trace.Pop()
              break