PyNamedTupleType (@NotNull PyCallSiteExpression callSite, @NotNull TypeEvalContext context) { if (!myTyped) { final List<PyExpression> arguments = callSite.getArguments(null); if (arguments.size() == myFields.size()) { final Map<String, PyType> result = new HashMap<>(); for (Map.Entry<String, PyExpression> entry : StreamEx.ofKeys(myFields).zipWith(StreamEx.of(arguments))) { final String name = entry.getKey(); final PyType type = context.getType(entry.getValue()); result.put(name, type); } return toInstance().clarifyFields(result); } } return toInstance(); }