code: private boolean isRemovableValue(Node n) {
      switch (n.getToken()) {
        case TEMPLATELIT:
        case ARRAYLIT:
          for (Node child = n.getFirstChild(); child != null; child = child.getNext()) {
            if ((!child.isEmpty()) && !isRemovableValue(child)) {
              return false;
            }
          }
          return true;
  
        case REGEXP:
        case STRING:
        case NUMBER:
        case NULL:
        case TRUE:
        case FALSE:
        case TEMPLATELIT_STRING:
          return true;
        case TEMPLATELIT_SUB:
        case CAST:
        case NOT:
        case VOID:
        case NEG:
          return isRemovableValue(n.getFirstChild());
  
        default:
          return false;
      }
    }
docs: So we don't need to update the graph.