private static @NotNull List<PyType> getSameScopeCallablesCallTypes(@NotNull List<PyCallableType> callables,
                                                                      @NotNull PyCallSiteExpression callSite,
                                                                      @NotNull TypeEvalContext context) {
    @Nullable PyCallable firstCallable = callables.get(0).getCallable();
    if (firstCallable != null && PyiUtil.isOverload(firstCallable, context)) {
      return Collections.singletonList(resolveOverloadsCallType(callables, callSite, context));
    }
    return ContainerUtil.map(callables, callable -> callable.getCallType(context, callSite));
  }
private static @NotNull List<PyType> getSameScopeCallablesCallTypes(@NotNull List<PyCallableType> callables,
                                                                      @NotNull PyCallSiteExpression callSite,
                                                                      @NotNull TypeEvalContext context)