def effect_protocol(cls) -> type[Any] | Collection[type[Any]] | None:
    """Returns the effect protocol(s) that this handler handles.

    Advanced handlers are allowed to handle multiple effects, and the specific
    effect interfaces are determined by the references inside ``body``. This
    method is used primarily to aid debugging and visualization.

    Returns:
      A single effect protocol if applicable. Can also return a collection of
      protocols or None if the handler is not associated with a specific
      effect.
    """
    raise NotImplementedError(
        "Subclasses of EffectHandler must override effect_protocol"
    )
Returns the effect protocol(s) that this handler handles.

    Advanced handlers are allowed to handle multiple effects, and the specific
    effect interfaces are determined by the references inside ``body``. This
    method is used primarily to aid debugging and visualization.

    Returns:
      A single effect protocol if applicable. Can also return a collection of
      protocols or None if the handler is not associated with a specific
      effect.
    
penzai/deprecated/v1/data_effects/effect_base.py