@Nullable
  private static Pair<List<PyType>, PyParamSpecType> getConcatenateParametersTypes(@NotNull PySubscriptionExpression subscriptionExpression,
                                                                                   @NotNull TypeEvalContext context) {
    final var tuple = subscriptionExpression.getIndexExpression();
    if (!(tuple instanceof PyTupleExpression)) return null;
    final var result = ContainerUtil.mapNotNull(((PyTupleExpression)tuple).getElements(),
                                                it -> Ref.deref(getType(it, context)));
    if (result.size() < 2) return null;
    PyType lastParameter = result.get(result.size() - 1);
    if (!(lastParameter instanceof PyParamSpecType)) return null;
    return new Pair<>(result.subList(0, result.size() - 1), (PyParamSpecType)lastParameter);
  }
@Nullable
  private static Pair<List<PyType>, PyParamSpecType> getConcatenateParametersTypes(@NotNull PySubscriptionExpression subscriptionExpression,
                                                                                   @NotNull TypeEvalContext context)