Good article, so glad to find it here. I wish, though, that the authors had talked a lot more about memory management in Objective-C, because this had a major impact, not only on the development of Objective-C, but also on Swift. As far as I can tell, the idea of (explicit) reference counting came from Next, when Blaine Garst and others were working on remote objects. When I joined Apple (and therefore had to learn Objective-C), the most important task was to understand reference counting and memory management. Yes, there was a lot more, like interfaces, properties and the many libraries, but understanding alloc/new/release/autorelease was crucial for shippable software. GC was introduced (and deprecated) during my time, but it was the realization (presumably by Lattner and his team) that the LLVM analyzer could do a better job than humans at managing reference counting that was huge. No more hours and hours hunting down memory leaks! And, of course, only one concept required in Swift, namely weak vs. strong references.
In summary, a terrific paper, but it is too bad that this crucial part of the story is missing.