struct Character { let name: String } let characters = ["Elize", "Arietta", "Anise"] let mappedCharacters = characters.map { Character(name: $0) } // A new collection of 3 elements let lazyMappedCharacters = characters.lazy.map { Character(name: $0) } // This won't execute any code until you need it. print(lazyMappedCharacters[2])