code: def _wrapper(func, *vect_args, **vect_kwargs):
          
          if not hasattr(func, '__name__'):
              # Set name if not available. Happens if func is actually a function
              func.__name__ = '{}.__call__'.format(func.__class__.__name__)
  
          return wraps(func)(_NumpyVectorizeWrapper(func, *vect_args,
                                                    **vect_kwargs))
docs: Return the vectorized wrapper function.