<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def wrap_with(wrapper_cls):
 """Use a custom `Wrapper` to apply annotations to the decorated function. :param wrapper_cls: Custom `Wrapper` subclass """

    def wrapper(func):
        annotate(func, 'wrapper', [{'wrapper': wrapper_cls}])
        return activate(func)
    return wrapper