def A(end="\n"):
    print("Hello", end=end)
    return "Hello"


assert A() == "Hello", "define A error"

def B(f):
    def _f():
        r = f("")
        print(", World")
        return r + ", World"
    return _f



def wrap(f1, f2):
    G = globals()
    f1_name = f1.__name__
    G[f1_name] = f2(f1)


wrap(A,B)
assert A() == "Hello, World", "wrap A to B(A) fail"