code: def update_docstring(dispatcher, func=None):
      
      doc = dispatcher.__doc__ or ''
      if inspect.cleandoc(doc).startswith('%s(' % dispatcher.__name__):
          return
      sig = '(...)'
      if func and func.__code__.co_argcount:
          argspec = inspect.getfullargspec(func) # pylint: disable=deprecated-method
          if argspec.args and argspec.args[0] in {'self', 'cls'}:
              argspec.args.pop(0)
          if any(argspec):
              sig = inspect.formatargspec(*argspec) # pylint: disable=deprecated-method
              sig = re.sub(r' at 0x[0-9a-f]{8,16}(?=>)', '', sig)
      sep = '\n' if doc.startswith('\n') else '\n\n'
      dispatcher.__doc__ = dispatcher.__name__ + sig + sep + doc
docs: Inserts a call signature at the beginning of the docstring on `dispatcher`.
      The signature is taken from `func` if provided; otherwise `(...)` is used.