default boolean isUnpacking() {
    if (isAssignmentTarget()) {
      return false;
    }
    PsiElement parent = getParent();
    boolean isUnpackingInSubscription = parent instanceof PyAstSubscriptionExpression ||
                                        (parent instanceof PyAstSliceItem && parent.getChildren().length == 1); // a[1:2, *x], but not a[1:*x]
    while (parent instanceof PyAstParenthesizedExpression) {
      parent = parent.getParent();
    }
    return parent instanceof PyAstTupleExpression || parent instanceof PyAstListLiteralExpression || parent instanceof PyAstSetLiteralExpression ||
           isUnpackingInSubscription;
  }
default boolean isUnpacking()