def ensure_list ( iterable : Iterable [ A ] ) -> List [ A ] : if isinstance ( iterable , list ) : return iterable else : return list ( iterable )
python expected type 'list', got 'iterator] instead
An Iterable may be a list or a generator . This ensures we get a list without making an unnecessary copy .
def ensure_list(iterable: Iterable[A]) -> List[A]:
    """
    An Iterable may be a list or a generator.
    This ensures we get a list without making an unnecessary copy.
    """
    if isinstance(iterable, list):
        return iterable
    else:
        return list(iterable)