And in *atypical* use cases, Obj-C was also immensely complex and weird and hard to use correctly. Did you ever try playing with runtime.h?
Sure, the new @dynamicWhatever stuff is all crazypants, but you'll rarely ever touch it. These are not barriers to entry.