import functools

def wrap(name: str):
def wrapper(f):
print("within the first wrapper")
print(f, name)

@functools.wraps(f)
def wrapper2(place: str):
print("this is the place", place)

result = f(place)
print(result)

return wrapper2

return wrapper

@wrap("tester")
def handle(place):
print("@", place)
return "@"+place



result = handle("Singapore")
print(result)