Swift 3 Pointers
Swift pointers have always been a sort of weird beast. And now Swift 3 has made them even more confusing. Mutable vs immutable, raw vs opaque vs plain vanilla pointers. Initializing and binding re-binding. When and how do you free memory? I've been searching for some resource to explain it coherently.