swift func execute lazy like haskell : hope to understand if swift compile chain calling func like haskell
let x = [1, 2, 3, 4, 5]

func doubleMe(x: Int) -> Int {
    return x * 2
}

x.map(doubleMe)
.map(doubleMe)
.map(doubleMe)