docs: def subscribe(self,
                    event_type: Type[TSubscribeEvent],
                    handler: Callable[[TSubscribeEvent], None]) -> Subscription:
          """
          Subscribe to receive updates for any event that matches the specified event type.
          A handler is passed as a second argument an :class:`~lahja.misc.Subscription` is returned
          to unsubscribe from the event if needed.
          """
          if event_type not in self._handler:
              self._handler[event_type] = []
  
          casted_handler = cast(Callable[[BaseEvent], Any], handler)
  
          self._handler[event_type].append(casted_handler)
  
          return Subscription(lambda: self._handler[event_type].remove(casted_handler))