code: static boolean isSimpleOperatorType(Token type) {
      switch (type) {
        case ADD:
        case BITAND:
        case BITNOT:
        case BITOR:
        case BITXOR:
        case COMMA:
        case DIV:
        case EQ:
        case EXPONENT:
        case GE:
        case GETELEM:
        case GETPROP:
        case GT:
        case IN:
        case INSTANCEOF:
        case LE:
        case LSH:
        case LT:
        case MOD:
        case MUL:
        case NE:
        case NOT:
        case RSH:
        case SHEQ:
        case SHNE:
        case SUB:
        case TYPEOF:
        case VOID:
        case POS:
        case NEG:
        case URSH:
          return true;
  
        default:
          return false;
      }
    }
docs: A "simple" operator is one whose children are expressions,
  has no direct side-effects (unlike '+='), and has no
  conditional aspects (unlike '||').