The problem reported in dotnet/runtime#16669 can also happen with `IList<T>` sources and the results of `Select()` on such sources. E.g. the following fails: ``` C# Assert.Equal(new[] { 6 }, new[] { 1, 2, 3, 4 }.Select(i => i * 2).Take(3).Skip(2)); ```