You've seen how to chain sequence operations together. By doing this, you can pass one value at a time to your chain and into your side-effect. This lets you write legible code that doesn't create intermediary collections between operations. However, you can still run into performance problems with large collections because you'll still have to iterate over every value.