Difference in behavior between `first` and `first(where: { _ in true })` used on lazy sequence

I would like to ask, why there is a difference in the behavior of using first vs first(where: { _ in true }) on lazy sequence. I was expecting both to be the same.
Is this a bug or expected. If expected - why?
Here are playground screenshots showing the output of both cases:

1 Like