iter() always never re-wraps an iterator, so 'iter(i) is iter(i)' tests if we wrapped a container or if we already had an iterator. I also tried types.GeneratorType and inspect helpers but they did not work for this use case.
Handle this in tracklist.filter() which is the only API that allows number and/or TLIDs.