def __init__(self, provider, name, doc, parameters, flags, source_ref):
        while provider.isExpressionOutlineBody():
            provider = provider.getParentVariableProvider()

        if name == "<listcontraction>":
            assert 300 >= python_version

        ExpressionFunctionBodyBase.__init__(
            self,
            provider    = provider,
            name        = name,
            code_prefix = "function",
            is_class    = False,
            flags       = flags,
            source_ref  = source_ref
        )

        MarkLocalsDictIndicator.__init__(self)

        MarkUnoptimizedFunctionIndicator.__init__(self)

        self.doc = doc

        # Indicator if the return value exception might be required.
        self.return_exception = False

        # Indicator if the function needs to be created as a function object.
        self.needs_creation = False

        # Indicator if the function is called directly.
        self.needs_direct = False

        # Indicator if the function is used outside of where it's defined.
        self.cross_module_use = False

        self.parameters = parameters
        self.parameters.setOwner(self)

        self.registerProvidedVariables(
            *self.parameters.getAllVariables()
        )
dataset/ETHPy150Open kayhayen/Nuitka/nuitka/nodes/FunctionNodes.py/ExpressionFunctionBody.__init__/swapped operands of `>=`