code: def wrap_with(wrapper_cls):
      
      def wrapper(func):
          annotate(func, 'wrapper', [{'wrapper': wrapper_cls}])
          return activate(func)
      return wrapper
docs: Use a custom `Wrapper` to apply annotations to the decorated function.
  
      :param wrapper_cls: Custom `Wrapper` subclass