def goodDecorator(fn):
 def nameCollision(*args, **kwargs):
  return fn(*args, **kwargs)
 return mergeFunctionMetadata(fn, nameCollision)

def goodDecorator ( fn ) : def nameCollision ( * args , ** kwargs ) : return fn ( * args , ** kwargs ) return mergeFunctionMetadata ( fn , nameCollision )
decorate a function and preserve the original name .