The nice thing about Objective-C up to 2.0 was that it was 100% an extension over C and all new semantics were using a new syntax. So you knew that the C code was C and performing like C while the Scheme code was Scheme and performing like Scheme by looking at it.
ARC semantics arguably follow this as you're using the Objective-C syntax for all occurrences of the Object. Reference counting is also great and predictable which is the main reason MRC was used in 1.0 until Apple decided it was too hard and introduced GC only for it to be canned shortly after as someone came up with the ARC solution.
With property syntax sugar, however, you can't tell whether "a.length" is sending a bunch of messages or simply accessing a struct which are two very dissimilar operations.