@classmethod<EOL><INDENT>@contextlib.contextmanager<EOL>def define_operators(cls, operators):<DEDENT>
old_ops = dict(cls._operators)<EOL>for op, func in operators.items():<EOL><INDENT>cls._operators[op] = func<EOL><DEDENT>yield<EOL>cls._operators = old_ops<EOL>
Bind operators to specified functions for the scope of the context:

        Example
        -------

            model = Model()
            other = Model()
            with Model.define_operators({"+": lambda self, other: "plus"}):
                print(model + other)
                # "plus"
            print(model + other)
            # Raises TypeError --- binding limited to scope of with block.