Why data in DataFrame(data) can be a generator but not an iterator?
`Generator` inherits from `Iterator`, `Iterator` inherits from `Iterable`. And `list([iterable])` takes an `Iterable` as argument.

 So, why `data` in `DataFrame(data)` can't be an `Iterable`?

https://github.com/pandas-dev/pandas/blob/620abc403d371446afe38fc1e63f0d90ea27b80a/pandas/core/frame.py#L381-L383
https://github.com/pandas-dev/pandas/blob/620abc403d371446afe38fc1e63f0d90ea27b80a/pandas/core/frame.py#L407-L408