anchor.diff:        if (node.variable.readCount <= 1) {
           // A single-use constant should always be propagted to its use site.
           constantEnvironment[node.variable] = visitExpression(node.definition);
  +        --node.variable.writeCount;
           return visitStatement(node.next);
         } else {
           // With more than one use, we cannot propagate the constant.
  
positive.code:   Expression visitVariableUse(VariableUse node) {
      // Propagate constant to use site.
      Expression constant = constantEnvironment[node.variable];
      if (constant != null) return constant;
  
      // Propagate a variable's definition to its use site if:
      // 1.  It has a single use, to avoid code growth and potential duplication
  
negative.code:     //     reorder expressions with side effects.
      if (!environment.isEmpty &&
          environment.last.variable == node.variable &&
          node.variable.readCount == 1) {
        --node.variable.readCount;
        return visitExpression(environment.removeLast().definition);
      }
  
  