Context: Swift has not officially had a way to expose plain old functions to C until now. Why? Because it had Objective-C interoperability first, and so deciding whether C functions should support everything ObjC does or not was…complicated. You can read about it here: https://github.com/swiftlang/swift-evolution/blob/main/proposals/0495-cdecl.md