boolean (@NotNull PyParamSpecType expected, @Nullable PyType actual, @NotNull MatchContext context) { if (actual == null) return true; if (!(actual instanceof PyParamSpecType callableActual)) return false; final var parameters = callableActual.getParameters(); if (parameters == null) return false; context.mySubstitutions.paramSpecs.put(expected, expected.withParameters(parameters, context.context)); return true; }