def METHOD_NAME(
    params: Iterable[ZfitParametrized],
    floating: bool | None = True,
    extract_independent: bool | None = True,
) -> set[ZfitParameter]:
    params = convert_to_container(params, container=OrderedSet)
    if extract_independent is not False:
        params_indep = OrderedSet(
            itertools.chain.from_iterable(
                param.get_params(
                    floating=floating, extract_independent=True, is_yield=None
                )
                for param in params
            )
        )
        if extract_independent is True:
            params = params_indep
        else:  # None
            params |= params_indep
    if floating is not None:
        if not extract_independent and not all(param.independent for param in params):
            raise ValueError(
                "Since `extract_dependent` is not set to True, there are maybe dependent parameters for "
                "which `floating` is an ill-defined attribute."
            )
        params = OrderedSet(p for p in params if p.floating == floating)
    return params