boolean (@NotNull PyType type, @NotNull PyExpression location) { if (type instanceof PyStructuralType) { final Set<String> attributeNames = ((PyStructuralType)type).getAttributeNames(); return SEQUENCE_METHODS.stream().anyMatch(attributeNames::contains); } final PyResolveContext resolveContext = PyResolveContext.defaultContext(myTypeEvalContext); return !SEQUENCE_METHODS .stream() .map(method -> type.resolveMember(method, location, AccessDirection.READ, resolveContext)) .allMatch(ContainerUtil::isEmpty); }