boolean (@Nullable PyType type, boolean genericsAreUnknown, @NotNull TypeEvalContext context) { if (type == null || (genericsAreUnknown && type instanceof PyTypeParameterType)) { return true; } if (type instanceof PyFunctionType) { final PyCallable callable = ((PyFunctionType)type).getCallable(); if (callable instanceof PyDecoratable && PyKnownDecoratorUtil.hasChangingReturnTypeDecorator((PyDecoratable)callable, context)) { return true; } } if (type instanceof PyUnionType union) { for (PyType t : union.getMembers()) { if (isUnknown(t, genericsAreUnknown, context)) { return true; } } } return false; }