def METHOD_NAME(subjects_list: Iterable[Subject]) -> None:
    # Check that it's an iterable
    try:
        iter(subjects_list)
    except TypeError as e:
        message = f'Subject list must be an iterable, not {type(subjects_list)}'
        raise TypeError(message) from e
    # Check that it's not empty
    if not subjects_list:
        raise ValueError('Subjects list is empty')
    # Check each element
    for subject in subjects_list:
        if not isinstance(subject, Subject):
            message = (
                'Subjects list must contain instances of torchio.Subject,'
                f' not "{type(subject)}"'
            )
            raise TypeError(message)