I sometimes thought about making a proper OO API on top of libdispatch. You could get most of the benefits in Obj-C. github.com/apple/swift-evolution/blob/master/proposals/0088-libdispatch-for-swift3.md