List<PyType> (@NotNull TypeEvalContext context, @NotNull List<PyExpression> arguments) { List<PyType> argumentTypes = new ArrayList<>(); final PyExpression arg = ContainerUtil.getFirstItem(arguments); if (arg != null) { PyType type = context.getType(arg); if (type instanceof PyCollectionType) { argumentTypes.addAll(((PyCollectionType)type).getElementTypes()); } else { argumentTypes.add(type); } } return argumentTypes; }