@Nullable
  @Override
  public PyType getCallType(@NotNull TypeEvalContext context, @NotNull PyCallSiteExpression callSite) {
    if (!PyTypeChecker.hasGenerics(myReturnType, context)) {
      return myReturnType;
    }

    final var fullMapping = PyCallExpressionHelper.mapArguments(callSite, this, context);
    final var actualParameters = fullMapping.getMappedParameters();
    final var allParameters = ContainerUtil.notNullize(getParameters(context));
    final var receiver = callSite.getReceiver(this.myCallable);
    return analyzeCallType(myReturnType, actualParameters, allParameters, receiver, context);
  }
@Nullable
  @Override
  public PyType getCallType(@NotNull TypeEvalContext context, @NotNull PyCallSiteExpression callSite)