void (@Nullable PyExpression iteratedValue, boolean isAsync) { if (iteratedValue != null) { final PyType type = myTypeEvalContext.getType(iteratedValue); final String iterableClassName = isAsync ? PyNames.ASYNC_ITERABLE : PyNames.ITERABLE; if (type != null && !PyTypeChecker.isUnknown(type, myTypeEvalContext) && !PyABCUtil.isSubtype(type, iterableClassName, myTypeEvalContext)) { final String typeName = PythonDocumentationProvider.getTypeName(type, myTypeEvalContext); String qualifiedName = "collections." + iterableClassName; registerProblem(iteratedValue, PyPsiBundle.message("INSP.type.checker.expected.type.got.type.instead", qualifiedName, typeName)); } } }