Preguiça em Swift

Porque élazy usado aqui?

extension SequenceType {
    func mapSome<U>(transform: Generator.Element -> U?) -> [U] {
        var result: [U] = []
        for case let x? in lazy(self).map(transform) {
            result.append(x)
        }
        return result
    }
}

essa extensão usa uma função de transformação que retorna um opcional e retorna uma matriz apenas dos valores que não foram transformados em zero

Por que não usar apenasself.map(transform) ? a preguiça é necessária aqui?

questionAnswers(2)

yourAnswerToTheQuestion