ARC works great until you have cyclic references. Then you "just" have to add "Zeroing Weak References". Ok. Where? How do I know when I have to add them?
The problem with reference counted memory management is NOT having to type [x retain]. Its having to KNOW where NOT to type it. ARC doesn't solve this at all. It just allows an entire generation of programmers to stop thinking about it altogether. That's going to end well.