These only worked when the source type was a ListType-based container.
Most notably, this excluded tuples, so list((1, 2, 3)) didn't work.
This was also wrong when the source was a dict - it uses the key type, so list({'a': 1}) should be list of str rather than list of int. Custom iterable types weren't supported.
Regression for dict({'a': 1}) - before, it got type dict of int` - the key type was lost, but at least the value type was correct.
Now it gets type dict of str, which is just plain wrong.
The sequence-of-tuples case was never handled; we really just need a new hint for this method.