anchor.diff:      var parameter = newName('x');
       var savedBlock = currentBlock;
       var tryBlock = currentBlock = make.emptyBlock();
  +    if (currentStream != null) {
  +      addStatement(make.methodInvocation(
  +          make.identifier(currentStream), 'resume', []));
  +    }
       sk(make.identifier(parameter));
   
       currentBlock = savedBlock;
  
positive.code:     });
    };
  
    visitForEachStatement(ast.ForEachStatement node) {
      var stmt = make.emptyBlock();
      var it = newName('it');
      stmt.statements.add(
  
negative.code: 
    visitAwaitExpression(ast.AwaitExpression node) => (ek, sk) {
      return visit(node.expression)(ek, (expr) {
        if (currentStream != null) {
          expr = addTempDeclaration(expr);
          addStatement(make.methodInvocation(
              make.identifier(currentStream), 'pause', []));
        }
        addStatement(make.methodInvocation(expr, 'then',
            [_reifyAwaitContinuation(sk, ek),
             make.namedExpression('onError', ek.reify())]));
  