def install(self, plugin):
        if hasattr(plugin, 'setup'): plugin.setup(self)
        if not callable(plugin) and not hasattr(plugin, 'apply'):
            raise TypeError("Plugins must be callable or implement .apply()")
        self.plugins.append(plugin)
        self.reset()
        return plugin
x = ((1, 2), 3, (4, 5))
dataset/ETHPy150Open Arelle/Arelle/arelle/webserver/bottle.py/Bottle.install--crossover with--dataset/ETHPy150Open anandology/pyjamas/examples/libtest/CompileTest.py/CompileTest.test_deep_tuple_unpacking