[linq] Add a special case for IList to improve performance on first operator