It would be nice to optionally use a more swift-like naming convention with PyObjC, but doing that while maintaining backward compatibility and performance will be hard.
@propertyproperties as properties instead of requiring to use the getter/setter methods. Doing this is backward compatibility break because unlike ObjC Python doesn't have a separate namespace for properties (note: see the "_" special attribute on instances, but not yet on classes)
Swift exposes shorter names for enums in the enum namespace, that is ObjC (and Python): NSColorTypeComponentBased, Swift: NSColorType.ComponentBased
Not sure yet if this will be useful for Python. At the very least this will help with introspection.
Extendable enums are problematic here. Performance is also an issue.
Python 3.6 has OrderedDictionaries by default (more or less, and definitely not ABI), this should make it easier to following the Swift naming convention at least for calling methods (especially when coupled with first class
Not sure if this can be done performantly and if this can also be done for declaring methods.
A challenge will be effectively overloaded versions of methods.