I understand that the Smalltalk like syntax of Objective C can be difficult to understand at first glance; however, once you've worked with it a bit, the syntax becomes quite expressive -- each argument is labeled; something like using named arguments in Ruby, but it's not optional.
Not sure what you mean about the APIs being nasty. Can you elucidate?
Not sure what you mean about the APIs being nasty. Can you elucidate?