def make_scalar_deriver(
    dst: DerivedScalarType,
    dst_config: DstConfig,
) -> ScalarDeriver:
    """The model name and layer indices of interest might or might not need to be specified
    based on the dst. In particular, if the dst
    is also a HookLocationType, then the model name and layer indices are not needed."""

    assert dst in _DERIVED_SCALAR_TYPE_REGISTRY, f"Unknown {dst=}"
    # this is derived from one or more HookLocationTypes, via the function
    # specified in the registry
    make_scalar_deriver_fn = _DERIVED_SCALAR_TYPE_REGISTRY[dst]

    return make_scalar_deriver_fn(dst_config)
The model name and layer indices of interest might or might not need to be specified
    based on the dst. In particular, if the dst
    is also a HookLocationType, then the model name and layer indices are not needed.
neuron_explainer/activations/derived_scalars/make_scalar_derivers.py