reduce() is a very useful method in Swift Standard Library. It works like a
for in loop (it is the one in fact), but it’s designed specifically to calculate a single value out of the elements in the collection… There is only one difference.
nil is a subtle code smell that is present in many codebases. What is it? Why is it a problem? How can we solve it?