Por que e quando usar o preguiçoso com o Array no Swift?

[1, 2, 3, -1, -2].filter({ $0 > 0 }).count // => 3

[1, 2, 3, -1, -2].lazy.filter({ $0 > 0 }).count // => 3

Qual é a vantagem de adicionarlazy para a segunda declaração. De acordo com meu entendimento, quandolazy é usada, a memória é inicializada para essa variável no momento em que é usada. Como isso faz sentido nesse contexto?

Tentando entender o uso deLazySequence em pouco mais detalhes. Eu tinha usado omap, reduce efilter funciona em seqüências, mas nunca emlazy seqüência. Precisa entender por que usar isso?