Reinstate @wraps, future proof against extremely unlikely func sig changes