Ref<PyType> (@NotNull PsiElement element, @NotNull Context context) { if (element instanceof PySubscriptionExpression subscriptionExpr) { final PyExpression operand = subscriptionExpr.getOperand(); final Collection<String> operandNames = resolveToQualifiedNames(operand, context.getTypeContext()); if (operandNames.contains(OPTIONAL)) { final PyExpression indexExpr = subscriptionExpr.getIndexExpression(); if (indexExpr != null) { final Ref<PyType> typeRef = getType(indexExpr, context); if (typeRef != null) { return Ref.create(PyUnionType.union(typeRef.get(), PyNoneType.INSTANCE)); } } return Ref.create(); } } return null; }