code: def remove_event_listener(self, event_type: str, event_handler: types.MethodType) -> None:
          
          # TODO: we should also accept types.FunctionType,
          # don't forget the documentation here and in the interface.
          if not isinstance(event_type, str) or event_type == "" or\
             not isinstance(event_handler, types.MethodType):
              raise ValueError("Invalid arguments: {}, {}".format(event_type, event_handler))
  
          listeners: dict[types.MethodType, bool] = self._registered_listeners.get(event_type)
          listener: types.MethodType = None if listeners is None else listeners.get(event_handler)
          if listener is not None:
              del listeners[event_handler]
docs: Removes the given event listener registered on the dispatcher for the given event type.
  
          Args:
              event_type (str): The type of the event to remove the event handler from.
                                Must not be `None` or empty string.
              event_handler (types.MethodType): The event handler to remove from the given event
                                                type of the dispatcher. Must not be `None`.
  
          Raises:
              ValueError: If any of the parameters are invalid.