code: function evalIteration(result, context, node, vars) {
      var iter = new Ruleset(scopeSelector, vars),
          push = true;
  
      if (node.condition) {
          var frames = context.frames;
          iter.functionRegistry = frames[0].functionRegistry;
          // ^ fixme: dirty kludge, not sure if it's related 
          // to #3054 - maybe there's more mistery (needs research)
          frames.unshift(iter);
          push = node.condition.eval(context);
          frames.shift();
      }
  
      if (push) {
          pushArray.apply(iter.rules, node.rules);
          result.push(iter);
      }
  }
docs: ............................................................