anchor.diff:      return result;
     }
   
  -  bool isExpression(SubGraph limits) {
  +  bool isJSExpression(SubGraph limits) {
       return expressionType(limits) != TYPE_STATEMENT;
     }
   
  -  bool isDeclaration(SubGraph limits) {
  +  bool isJSDeclaration(SubGraph limits) {
       return expressionType(limits) == TYPE_DECLARATION;
     }
   
  -  bool isCondition(SubGraph limits) {
  -    return isExpression(limits) && (limits.end.last is HConditionalBranch);
  +  bool isJSCondition(SubGraph limits) {
  +    return isJSExpression(limits) && (limits.end.last is HConditionalBranch);
     }
   
     void visitExpressionGraph(SubGraph expressionSubGraph) {
  
positive.code:         return;
        } else if (!isGenerateAtUseSite(instruction)) {
          if (instruction is !HIf && instruction is !HTypeGuard &&
              !isGeneratingExpression()) {
            addIndentation();
          }
          if (isGeneratingExpression()) {
  
negative.code:             initialization = null;
            }
          }
          for (LabelElement label in info.labels) {
            if (label.isTarget) {
              writeLabel(label);
              buffer.add(":");
            }
          }
          if (isConditionExpression &&
              info.updates !== null && isJSExpression(info.updates)) {
            // If we have an updates graph, and it's expressible as an
            // expression, generate a for-loop.
            addIndentation();
            buffer.add("for (");
            if (initialization !== null) {
              if (initializationType != TYPE_DECLARATION) {
  