extension Optional where Wrapped == String { /// Executes a closure with a C string pointer, handling nil gracefully. func withCString(_ body: (UnsafePointer?) throws -> T) rethrows -> T { if let string = self { return try string.withCString(body) } else { return try body(nil) } } }