void (@NotNull List<PyExpression> arguments, @NotNull List<PyType> types, @NotNull PyTypeChecker.GenericSubstitutions substitutions, @NotNull List<AnalyzeArgumentResult> result) { final var size = Math.min(arguments.size(), types.size()); for (int i = 0; i < size; ++i) { final var expected = types.get(i); final var argument = arguments.get(i); final var actual = myTypeEvalContext.getType(argument); final var matched = matchParameterAndArgument(expected, actual, argument, substitutions); result.add(new AnalyzeArgumentResult(argument, expected, substituteGenerics(expected, substitutions), actual, matched)); } }