In this post, I go over the iterable and iterator protocols and show some examples of making your own objects iterable so that they can be used with the for...of loop or the spread operator.

Swift 2.0 introduced two new control statements that aim to simplify and streamline the programs we write: `guard` and `defer`.