Огромный сторонник использования ключевого слова 'var' в С# для случаев, когда он очень ясен. Например, вместо этого...
ThisIsMyReallyLongFooClassName foo = new ThisIsMyReallyLongFooClassName();
Я могу напечатать это...
var foo = new ThisIsMyReallyLongFooClassName();
... и у меня все еще есть сильно типизированная переменная. Эти двое, по сути, равны. Последнее просто читаемо (опять же, потому что оно ясно. Есть случаи, когда это не так, и "var" не следует использовать. Я не хочу, чтобы это стало обсуждением этого.)
Мне интересно, имеет ли Objective-C что-то подобное.