     return result != nil
   }
 
+  public static func _unconditionallyBridgeFromObjectiveC(s: NSSet?) -> Set {
+    // `nil` has historically been used as a stand-in for an empty
+    // set; map it to an empty set.
+    if _slowPath(s == nil) { return Set() }
+
+    if let native =
+      Set<Element>._bridgeFromObjectiveCAdoptingNativeStorageOf(s! as AnyObject) {
+
+      return native
+    }
+
+    if _isBridgedVerbatimToObjectiveC(Element.self) {
+      return Set<Element>(_cocoaSet: unsafeBitCast(s!, to: _NSSet.self))
+    }
+
+    // `Set<Element>` where `Element` is a value type may not be backed by
+    // an NSSet.
+    var builder = _SetBuilder<Element>(count: s!.count)
+    s!.enumerateObjects({
+      (anyObjectMember: AnyObject, stop: UnsafeMutablePointer<ObjCBool>) in
+      builder.add(member: Swift._forceBridgeFromObjectiveC(
+        anyObjectMember, Element.self))
+    })
+    return builder.take()
+  }
+
   public static func _isBridgedToObjectiveC() -> Bool {
     return Swift._isBridgedToObjectiveC(Element.self)
   }

  ) -> Bool {
    self._forceBridgeFromObjectiveC(x, result: &result)
    return true
  }
}


  ) -> Bool {
    self._forceBridgeFromObjectiveC(x, result: &result)
    return true
  }

  public static func _unconditionallyBridgeFromObjectiveC(
    source: NSNumber?
  ) -> CGFloat {
    return CGFloat(
             CGFloat.NativeType._unconditionallyBridgeFromObjectiveC(source))
  }
}

