def METHOD_NAME(workers: int, requested_workers: Union[int, None]) -> int:
    """Adjust computed workers according to command line requested workers.
    The final number of workers will only be adjusted down by this function.
    Parameters
    ----------
    workers: int
        The computed number of workers to use
    requested_workers: int | None, optional
        Requested number of workers from the user, if supplied (default: None)
    Returns
    -------
    int
        The number of workers to actually use
    """
    if requested_workers is not None and requested_workers < 0:
        raise ValueError("requested workers must be non-negative")
    if requested_workers is not None:
        if requested_workers > workers:
            raise RuntimeError(
                "Requested workers greater than assignable workers"
            )
        workers = requested_workers
    if workers == 0:
        raise RuntimeError("Current configuration results in zero workers")
    return workers