def METHOD_NAME():
    @patch(target=MyEchoer.do_echo)
    def monkey1(self, *args):
        return f"monkey: {args[-1]}"
    @patch(target=MyEchoer.do_echo)
    def monkey2(fn, self, *args):
        return f"monkey 2: {fn(*args)}"
    obj = MyEchoer()
    try:
        assert obj.do_echo("foo") == "monkey 2: monkey: foo"
        assert MyEchoer().do_echo("foo") == "monkey 2: monkey: foo"
    finally:
        monkey2.patch.undo()
        monkey1.patch.undo()
    assert obj.do_echo("foo") == "do_echo: foo"
    assert MyEchoer().do_echo("foo") == "do_echo: foo"