docs: def dispatch(self, *args, **kwargs):
          """
          Call handlers that match args or kwargs
  
          :return: set of handlers called
          """
          called_handlers = set()
          for handler_list in self.handlers.values():
              for handler, argspec in handler_list:
                  accept_args, accept_kwargs = argspec.accepts
                  if handler in called_handlers and False:
                      continue
                  else:
                      if args_match(accept_args, accept_kwargs, self.default, *args, **kwargs):
                          called_handlers.add(handler)
                          handler(*args, **kwargs)
          
          return called_handlers