from typing import List


def validate_binary_list(
    list_of_numbers: List[int],
) -> bool:
    """
    Takes a list of bits and returns true if it's made only of 0s and 1s.
    Parameters
    ----------
    list_of_numbers: List[int]
        A list of 0s and 1s.

    Returns
    -------
    A boolean value, true if the list is made only of 0s and 1s.
    Otherwise it raises value errors.
    """
    validation = False
    if isinstance(list_of_numbers, List):
        for index, value in enumerate(list_of_numbers):
            if isinstance(value, int) and (value == 1 or value == 0):
                validation = True
            else:
                raise ValueError(
                    "All values in the list must be 1s or 0s, "
                    + f"while at index {index} the value is {value}."
                )
    else:
        raise ValueError("The argument must be a list.")
    return validation