I know this is a frequently asked question, but...
After reading many articles on the net, I am still not sure if I have a solid understanding of the logics behind the design.
One of my puzzles around this question is - Is the Swift compiler clever enough so that I can solely rely on its warnings/errors?